News for hackers. Stuff that matters.
Re:Unix as IDE (2012) by criddell on Thursday December 28, 2023 @06:39AM (#38792449)
What’s an example of a type of work where an IDE is more of a hindrance?
Re:Unix as IDE (2012) by seanhunter on Thursday December 28, 2023 @08:07AM (#38793090)
An example from my work experience: I was converting about 15 million lines of C++ code from pre-ansi to ansi-conformant compilers across 3 platforms. So step one was setting up a parallel build with each new compiler and step 2 was fixing the tens of thousands of compile errors. There’s no way you can tackle this in any IDE that I am aware of. You want to be able to use an overnight build and you want to be able to load the compiler output as a quickfix list[1]. Super easy in vim (and probably also in emacs) completely infeasible in any kind of normal IDE as far as I know.

A lot of the time the error fix would boil down to some general rule so after I had fixed the error a bunch of times I would realise “ok when I see an error like this I need to change every ‘class’ in a template definition in this project into a ‘typename’ and every typedef of that class that looks like `typedef foo::<A,B>::iterator iterator` to `typedef typename foo::<A,B>::iterator iterator`[2]. Then once I realise the pattern I would write some find | perl -pie type thing to walk down the codebase from a certain point and fix all remaining instances of that particular error. These were typically more complex and subtle than the sort of autofixes/auto refactorings that I have seen available from IDEs although admittedly I’m sure the state of the art has improved beyond all recognition since then.

[1] Each of the errors were of the type described by Alexandrescu in “Debugging the error novel” in that they were probably about 10 pages of ascii template hell per error times tens of thousands of errors. So I actually made two copies of the output. One went unadulterated into my quickfix list and one went into a separate buffer that I ran a bunch of regexes over to get them into a state where I could understand the error message. Then I could work down the qf list one error at a time while also paring down my “working error file” in parallel.

[2] or something. It’s been a while.

Re:Unix as IDE (2012) by pdpi on Thursday December 28, 2023 @07:36AM (#38792837)
Really big code bases, where your IDE grinds to a halt, for example.
Re:Unix as IDE (2012) by unsignedchar on Thursday December 28, 2023 @09:00AM (#38793529)
embedded systems/firmware where the same code may need to be built for multiple HW platforms/cpu architectures.