3 ms·
> Java centric first programming classes are so idiotic it drives me mad. Sorry you're having such hard time :D. When I started first had programming classes w
by kjeetgill 4y ago
> Java centric first programming classes are so idiotic it drives me mad.
Sorry you're having such hard time :D. When I started first had programming classes we had a few months of a toy programming language called karel++ and then were given C++. Now the point wasn't really to learn C++ as you've pointed out, it's just a language (any language) to get comfortable with sequences of commands, basic logic, loops, etc.
I don't think any progressional language could be quite as good as a purposefully crafted toy/educational language, but I actually think Java is still close to the top. If it wasn't for the 'class Main { public static void main(String[] args) {}}' bit I think it'd be pretty great. For anything a new student needs it's reasonably identical to C or C++ without pointers and segfaults. NPEs are a godsend.
I think python is pretty okay for a first language, it has a lot going for it! Its simple to start. A repl is convenient to experiment. But imho it's probably worth introducing typed variables, braces for scope, a compile step that checks a few things for you pretty early. I think significant whitespace is fine but as with most things in python, the reduced structure makes it look simpler but alse the errors it'll cause are way more frustrating starting out. Way more than missing semicolons.
The only other consideration is JavaScript. But I don't have the imagination for a intro CS class without a terminal prompt assignment.
- s-zeng 4y agoConsider also Racket scheme! Has a great starter IDE, an absolute barebones teaching variant that exposes the minimum amount of primitives required to do computations, a repl, as well as a typed variant. Has braces for scope, extremely clear error messages with literal arrows tracing exceptions through your code, and is quite amenable to terminal prompt assignments.
- cultofmetatron 4y ago> Sorry you're having such hard time :D. I had zero issues learning java in college. but I already had self taught myself python in highschool. all I had to learn was java syntax and OO while I watched others struggle needlessly. python would have been a far gentler introduction before ramping up