6 ms·
I’d take this further. I was listening to the John Carmack episode of Lex Fridman from the summer, and he makes a comment about being frustrated that in the Va
by highwaylights 4y ago
I’d take this further.
I was listening to the John Carmack episode of Lex Fridman from the summer, and he makes a comment about being frustrated that in the Valley there’s an almost religious opposition to IDEs, debuggers, and static analysis.
Some of those tools have only become more powerful over time and I’m perplexed as to the mindset that would make a person averse to automating the drudgiest parts of their job in a career that is almost entirely based around automating things.
- bluGill 4y agoI'm adverse to debuggers as i've more than once caught myself following a rabbit hole of steping through code instead of thinking. IDEs have some use, and static analysis has proven to catch the same mistake over and over, but only as the authors of those tools have discovered that false positives cannot be allowed ever, once there is a false positive the tools is worthless.
- icedchai 4y agoI find debuggers more valuable with dynamically typed languages, especially Python. It's handy to be able to drop a `breakpoint()` in the middle of a script when you have no idea what a function is actually returning. The happens more often than you might think.
- bornfreddy 4y agoOf course, when this happens the bug you are hunting is not your only problem. You really should clean up the code to make it clear what is being returned from the function.
- astrobe_ 4y ago> I'm adverse to debuggers as i've more than once caught myself following a rabbit hole of steping through code instead of thinking. Yes. I was kind of forced to think and do printf debugging at the beginning of my career, after having used before that (as a hobbyist) quite good asm debuggers. Maybe that's just me, but I also was, I believe, a bit over-reliant on the debugger - I would just compile, run, see what happen, and launch the debugger if something didn't work. Nowadays I could use sometimes a debugger - but the system I work with is sort of soft real-time so stopping at a breakpoint of even slight changes in timings can change the context - in some cases even printf debugging could make a bug vanish. If nothing else, debugging without a debugger is a good exercise in logically thinking - and it can save time too.
- Gibbon1 4y agoI have a code base that is a mix of hard, soft, and static real time. I have a command line interface built in to it and a lot debug logging that can be re-enabled. I've also spent some effort into making it tolerate being interrupted. And there is also the good old technique of inserting break points while the code is running.
- titzer 4y agoYes yes, indeed. The ability to look at what's happening step by step really hamstrings my imagination. Sorry, no. A debugger is a microscope! It will help you find problems faster and will seed your imagination by filling in what is really going on. It's an augmentation, like any tool. Or do you prefer to stare into space blindfolded?
- morelisp 4y ago> A debugger is a microscope! ... Or do you prefer to stare into space blindfolded? Perhaps illustrating the original point, microscopes aren't used to stare into space. A debugger is a microscope but the most pernicious bugs don't benefit from such a thing.
- noveltyaccount 4y agoWhen I graduated college in the '00s I thought Vim was the most amazing thing I'd ever learned. Then a colleague at my first job showed me what happend when you typed . after a variable name in Visual Studio. Code completion, inline documentation...my mind was blown, and I never looked back. When I meet a young chap extolling the benefits of Vim or Emacs or really anything that doesn't have stepped debugging and code competition...well, there are no bonus points for doing things the hard way.
- maxbond 4y agoJust so you know, you can do those things in vim now (I do), and the whippersnappers may well be.
- czx4f4bd 4y agoBoth Vim and Emacs have plugins for intelligent code completion and viewing inline documentation. I personally prefer to use VS Code or Jetbrains IDEs with Vim emulation, but I've seen setups for both Vim and Emacs that basically made them into full-fledged IDEs.
- SAI_Peregrinus 4y agoFull-fledged Plugin-based development environments. An IDE is an Integrated Development Environment; it comes with the features necessary for efficient development built-in.
- tsimionescu 4y agoNote that Emacs had these features and more for Lisp since about the 1990s or even earlier, while being free. Now, for C or Java or most other popular languages, you're absolutely right.
- constantcrying 4y agoVim is not really an editor. It is a way to edit text, you can use vim in almost any environment. You are also totally wrong about vim or emacs not having code completion, that is just nonsense. I use (a version of) visual studio, the first thing that I did was installing a vim extension. Also vim itself already supports almost any of these features with some basic plugins for the completion logic. If I type "." in my vim I get the same thing I would in visual studio. If you are saying "vim is bad because it lacks X IDE feature" you are missing the point.
- acchow 4y agoThis must be strictly an old school Valley problem. Up in the city, IDEs are standard. How would you even write Scala at Twitter without an IDE?
- outworlder 4y agoHow, you ask? https://scalameta.org/metals/docs/editors/emacs/ https://scalameta.org/metals/docs/editors/emacs/
- acchow 4y agoThis is an LSP backend for Emacs. In what way is this setup not an IDE?
- closeparen 4y agoThere's a pendulum swing back and forth between local compilation being supported or not... currently settling onto VSCode remote, with Jetbrains Gateway trying to catch up in usability.
- posharma 4y agoOh man! why did you bring up IDEs. Now we'll argue ad nauseam about emacs vs vi vs vim vs etc.
- pjmlp 4y agoYeah, the same culture worships using their powerful computers in 2022, the same way I was using Xenix in 1993. Talk about progress.