On Monday, 30 December 2019 at 06:43:03 UTC, H. S. Teoh wrote:
Generally, I find myself *much* more productive with CLI-based
tools; IDEs are generally much heavier in terms of memory and
CPU usage, and worst of all, require a GUI, which for me is a
deal-breaker because I do a lot of work over SSH connections on
not necessarily reliable networks. The amount of network
traffic needed to operate a GUI over a remote desktop is just
so much more than the much lighter weight of a few keystrokes
that for me it's a very unproductive choice. That, plus the
amount of RAM + CPU + disk investment needed just to get an IDE
to even start, to me cannot even begin to compare to how few
resources are needed to be highly productive with a bare-bones
Vim installation. I just have a hard time justifying such an
investment when what I get in return is so undesirable within
my operational parameters.
Another way in which the IDE is "heavy" is the amount of overhead
for beginning/occasional users. I like that I can get someone
started using D like this:
1. Open text editor
2. Type simple program
3. Compile by typing a few characters into a terminal/command
prompt.
An IDE adds a crapload to the learning curve. It's terrible,
because they need to memorize a bunch of steps when they use a
GUI (click here -> type this thing in this box -> click here ->
...)
Back when I was teaching intro econ courses, which are taken by
nearly all students here, I'd sometimes be talking with students
taking Java or C++ courses. One of the things that really sucked
(beyond using Java for an intro programming class) was that
they'd have to learn the IDE first. Not only were they hit with
this as the simplest possible program:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World");
}
}
but before they even got there, the instructor went through an
entire lecture teaching them about the IDE. That's an effective
way to make students think programming is a mind-numbingly stupid
task on par with reading the phone book.
Contrast that with students opening a text editor, typing `print
"Hello World"` and then running the program.
IDE support should obviously be made available. I think it would
be a mistake, however, to move away from the simplicity of being
able to open a text editor, type in a few lines, and then compile
and run in a terminal. It's not just beginners. This is quite
handy for those who will occasionally work with D code. For
someone in my position (academic research), beginners and
occasional programmers represents most of the user base.