On Monday, 30 December 2019 at 14:59:22 UTC, bachmeier wrote:
On Monday, 30 December 2019 at 06:43:03 UTC, H. S. Teoh wrote:
[...]
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.
Good point. It also trains people to not be able to work without
IDE. I see it at work with some of the Java devs who aren't even
able to invoke javac in a command line and setting javapath
correctly. Why? Because IDE shielded them from these easy things.
It has also a corrolary that they're not capable to implement
sometimes simple protocols or file processings without resorting
to external libraries. A little bit like people needing even and
odd library in Javascript.