3 ms·
This is just a personal anecdote, but my first experience with programming was in an introductory CS course where Visual Studio was the default (but not mandato
by edgyswingset 11y ago
This is just a personal anecdote, but my first experience with programming was in an introductory CS course where Visual Studio was the default (but not mandatory) dev environment. Naturally, I used it instead of any CLI because I was an absolute beginner.
This is coming from someone who loves VS, but it is not something beginners should have to deal with. Some of my questions that distracted me from actually solving problems (note the technically incorrect usage of certain terms; this is intentional):
- Why is the options menu so huge?
- What the hell is a project?
- Oh my god I clicked in the thing and this red ball popped up and now the code won't move past it!
- Why do I need to build the project? Can't I just run my code in the file?
- Why do new menus pop up when I click "Run"?
- What the hell does "step into" and "step over" mean?
I think that a CLI or super basic IDE with minimal options and capabilities is the way to go when dealing with people who are beginners. On that same note, I do find it disheartening that many upper-division courses at college never bother with IDEs, and teachers tell students to just "figure it out on your own".
- hobs 11y agoYeah, a good rule of thumb is to ask yourself, "What am I trying to learn, an IDE or programming?" Both are valuable to know, but teaching someone how to be a mechanic without ever having them drive a car is a bit of a mess.
- paulmd 11y agoSmallBasic is probably a good idea for young students working through these problems. I'm a big fan of VS for C# and IntelliJ for Java. Neither of these are Babby's First IDE, but once you have mastered the basic ideas of working in an IDE they pretty much work the way you would expect. JetBrains' other IDEs and plugins have also been uniformly excellent, in my experience. The VC++ parts of VS are a lot rougher, but I suppose that's to be expected.