Live data from Hacker News

Stanford dumps java as intro language

neowin.net

31–40 of 50 posts

Re: Stanford dumps java as intro language

#31

Students who start by learning Java will learn solid principals which may be applied to Javascript (or any other language). Students who start by learning Javascript won't learn solid principals.

"Principles" not "principals".

Everything depends how the course is taught, not on the language used.

Re: Stanford dumps java as intro language

#32

Honestly dropping Java or C++ as intro languages is fine imo... But why not something like Lisp, SML, or even Ruby...?

Or Haskell if you want to go the FP route while CL or Clojure for the Lisp. Or python for dynamic (atleast more popular than Ruby which is more concentrated on Rails ecosystem).

Re: Stanford dumps java as intro language

#34

Honestly dropping Java or C++ as intro languages is fine imo... But why not something like Lisp, SML, or even Ruby...?

Or Haskell if you want to go the FP route while CL or Clojure for the Lisp. Or python for dynamic (atleast more popular than Ruby which is more concentrated on Rails ecosystem).

I don't like Python, but I have to admit that it ticks most of the boxes of an ideal starter programming language, unlike CL, Clojure, other Lisps, Ruby, or C/C++.

Re: Stanford dumps java as intro language

#35
post #25

I'd say Python would've been the 'safe' and 'sane' choice, but maybe it's just my bias against Java and JavaScript talking. Just curious, has anyone ever heard off choosing to teach something like bash / PowerShell? It might seem less intimidating than downloading a lot of stuff and students can play around with stuff already in their computer. Hell, maybe even something like VBA (as much we might dislike it) since n…

In the department I work, 5 people recently started using Python who never wrote a line of code before (except some limited VBA). While the coding itself was relatively smooth, we spent a majority of our time consolidation which Python version works with which packages and how to create code that can be executed by computers that use Python 2 vs Python 3. Some people had to use packages that only worked with P2, othe…

The mistake here is not just making a choice but instead having people pick at random. Hardly pythons fault, every programming language has multiple incompatible versions.

Re: Stanford dumps java as intro language

#36
post #13
post #5

I went to a completely unranked school, not even a CS major. But took Programming I anyway. It was for freshmen, and was in C++. IMO, for an intro language, you need either something close to the metal, so that students can work their way up the abstraction chain, or something very high-level with flexible constructs if it's desired to teach things from the algorithmic level. I also think that any dynamically typed l…

> IMO, for an intro language, you need either something close to the metal Agreed. They aren't just learning to program but they are learning how computers work so the less abstraction the better. On the plus side, I imagine this will be great for our salaries in 10-20 years.

If you have 1M bad programmers 1% will make terrible libraries. In 10-20 years at least a few of those you'll be forced to port to some other shitty library made by that 1%. I'm doing this right now...

Re: Stanford dumps java as intro language

#37
post #26
post #15

I've TA'd all of Stanford's intro programming classes, including the first course in programming CS 106A, so a few things: - unlike a lot of other schools, CS 106A is mostly taken by non-majors (90-something percent of undergrads take at least one CS course before graduation, and for non-majors that means 106A) - the follow up course, 106B, is in C++ and focuses on OOP, pointers, memory, data structures, etc. - 106J…

Thanks for the insight. With your experience, what would be a good language for non-majors so that they can make use of their experience later? Python, Go, C?

I would definitely say Haskell. Second is python, but i feel Haskell teaches concepts better and more efficiently. Everybody has used spreadsheets before, and I think most people can draw a m mental link to spreadsheets with Haskell.

Re: Stanford dumps java as intro language

#38
post #27

Students who start by learning Java will learn solid principals which may be applied to Javascript (or any other language). Students who start by learning Javascript won't learn solid principals.

You assume that the course is for CS majors. For students who'll only have 1-2 CS courses in their life, teaching some practical skills could be the better choice.

If that's the case, there's a good argument to be made about teaching automation of common tasks using bash or Perl, rather than JavaScript.

Re: Stanford dumps java as intro language

#39
post #14
post #5

I went to a completely unranked school, not even a CS major. But took Programming I anyway. It was for freshmen, and was in C++. IMO, for an intro language, you need either something close to the metal, so that students can work their way up the abstraction chain, or something very high-level with flexible constructs if it's desired to teach things from the algorithmic level. I also think that any dynamically typed l…

Disagree, I think it is the exact opposite. I say that as someone who did their CS education in the early 90s when that was the case. We used C for everything unless the class material implied something else. We got into the down and dirty details quite fast. IMO that's the wrong way to do it. Using myself as an example it took me far longer to learn things like data structures than it should have. Why? Because I sti…

> IMO that's the wrong way to do it. Using myself as an example it took me far longer to learn things like data structures than it should have. Why? Because I still hadn't wrapped my head around pointers.

How do you expect to understand anything about data structures if you fail to wrap your head around one of the most basic data structure mechanism around: referencing a memory address?

In fact, how exactly do you expect to implement a data structure if you fail to understand the very basics of accessing and managing memory?

I don't see how that's a problem caused by a particular pick of programming language. In fact, that seems to be a major failure to understands the very fundamentals of CS.

Re: Stanford dumps java as intro language

#40

Honestly dropping Java or C++ as intro languages is fine imo... But why not something like Lisp, SML, or even Ruby...?

Teaching marketable skills that are already popular and actively sought after may be an important aspect influencing the decision.
Post reply on HN