Re:Universities finally realize that Java is a bad intro pro...
by foobarchu on Monday April 24, 2017 @02:07PM
(#14186526)
I agree. When I TA'd intro programming courses, I found that most frustration stemmed from a piece of code not doing exactly what you expect it to do. JavaScript is famous for having a million quirks and places where behavior changes based on context ('this', for example). That's going to lead to a million places where students blow up because it doesn't do what they expect it to do. Students need lots of little wins, and JavaScript is full of little losses.
Re:Universities finally realize that Java is a bad intro pro...
by ghaff on Monday April 24, 2017 @01:12PM
(#14186036)
My impression is that Python does in fact tend to be the default choice for beginning programming/algorithms/etc. courses. It seems a reasonable choice. It does have some peculiarities but is definitely mainstream. And it is suitable, especially in conjunction with its ecosystem (as you say), for a lot of tasks. It seems more generally useful for STEM students and others who aren't necessarily going to major in CS.
Re:Universities finally realize that Java is a bad intro pro...
by hackermailman on Monday April 24, 2017 @01:20PM
(#14186105)
I've seen more university calendars these days copy CMU and add functional programming like SML as the new preferred intro course, esp European universities it really is probably one of the best student languages for understanding/reasoning about large programs by using types and it puts everybody on equal footing since normally most first year students have zero exposure to functional programming. https://existentialtype.wordpress.com/2011/03/21/the-dog-tha...
Re:Universities finally realize that Java is a bad intro pro...
by billf1953 on Thursday April 27, 2017 @05:21PM
(#14214820)
The article isn't wrong. I count 15 words that are CS specific jargon in the Hello World statement. Couple this with some big lecture and mediocre professor who explains poorly, it's pretty painful intro experience.
And with Java's emphasis on interface vs implementation, it's an ideal language for learning data structures and algorithms. I'd say if you struggle with Java's syntax in your first year of CS, you might have a hard time making it as a professional programmer or academic computer scientist.
If they really wanted to move from static->dynamic, I'd agree that Python would be a much wiser choice, even though it too has its idiosyncrasies. As jacquem points out, Python has the added advantage of a rich data science/machine learning ecosystem.
Also, if they really wanted to use the web ecosystem, maybe TypeScript would be another wiser possibility than JavaScript?
Edit: IMHO, perhaps the best didactic language is SML, but that appears to be a losing battle these days.