wodny
Joined 9 years ago
Joined 9 years ago
Not at all. Due to lack of documentation I look at code of foreign libraries and applications all the time to check what really happens inside and what are the guaranties. The latter being often the case when it comes to concurrency problems.
For over ten years of commercial work I used a debugger only a couple of times and in most cases it was against someone else's code, usually when things were completely broken and I needed to get backtraces from multiple deadlocked threads or lacked debugging symbols and things like radare were also required. There were also times when I manually called a syscall using gdb.
My opinion is that if you can't reason about the code helping yourself with just a couple of additional messages the code is probably broken/too complicated to begin with and requires serious refactoring. I've never understood people stepping through a program hoping to find some mysterious creature somewhere along a huge stack of calls. In my career I have often seen people always debugging an application as a whole instead of separated modules. Dividing a problem is the key. The same key that allows me to still program using vim without autocompletion, keep APIs sane and coherent, and avoid dead code.
One really useful exception is when dealing with electronics. My friends programming hardware use debuggers all the time and in this case it actually makes perfect sense because there is no way to print anything and things like hardware interrupts come into play.
- The Theory of Type Hints - PEP 483
- Annotations - PEP 3107 - 3.0
- Type hints - PEP 484 - 3.5
- Variable annotations - PEP 526 - 3.6
- Postponed evaluation - PEP 563 - 3.7 (3.10)
- Core support - PEP 560 - 3.7
- Distribution - PEP 561 - 3.7
- Data Classes - PEP 557 - 3.7
- Literal types - PEP 586 - 3.8
- TypedDict (limit keys) - PEP 589 - 3.8
- Final qualifier - PEP 591 - 3.8
- Static duck typing - PEP 544 - 3.8
- Flexible annotations - PEP 593 - 3.9
- Type Hinting Generics In Standard Collections - PEP 585 - 3.9
https://www.youtube.com/watch?v=JqYhuwu614Y
Yelle - A Cause Des Garcons