Live data from Hacker News

Python is now the most popular introductory language at top U.S. universities

cacm.acm.org

271–280 of 375 posts

Re: Python is now the most popular introductory language at top U.S. universities

#271
While I agree that teaching Python to non-EECS majors is a great idea, it's sad to see the decline of C/Scheme in university courses.

Much has been said on this topic. So, I'm just going to post two links that I think are interesting.

Joel Spolskey claims that Java isn't hard enough to separate good programmers from the bad: http://www.joelonsoftware.com/articles/ThePerilsofJavaSchool...

This article claims that competency of CS grads is going down: http://www.education.rec.ri.cmu.edu/roboticscurriculum/resea...

Re: Python is now the most popular introductory language at top U.S. universities

#272

I work at Monash University in Melbourne, Australia. Last year we moved our foundational course in data structures and algorithms from Java to Python, with great success. This is a course that used to be taught in C, then moved to Java. I tutored it as a Java course, and was in charge of adapting the tutorial (classroom exercises) and laboratory (programming assignments) materials when we started using Python to teac…

>(both array and linked-list based)

How sad, not that you only do array and linked-list implementation of data types but that you think this is an exhaustive list. Inductive data types?

Re: Python is now the most popular introductory language at top U.S. universities

#273
post #123

Earlier quoted context omitted.

> i strongly believe for universities sml/ocaml/haskell or even rust are far better choices. Rust is a horrible choice now , because it hasn't stabilized. When it has stabilized, it may be a suitable choice (at one point, it looked like it would be too large of a language to a be a great intro language, but since then its been getting smaller , so I'm less convinced that it will remain unsuitable for that role.) Pyth…

Rust killer feature is the interaction between the type system and memory management. I don't think this is the sort of thing you want to worry about in an troductory class...

I made a mistake to suggest it. But the purpose here is to learn something in parallel. Pattern matching/ Types or even lambda calculus are good to introduce with the language. Python is good if you have an algorithms/data structures course, students are not required to optimize for a hardware, only algorithmically.

Re: Python is now the most popular introductory language at top U.S. universities

#274

I know, I know, what I'm about to say is just an artifact of the Language Wars and will cost me karma. I can't help myself. We should not be teaching impressionable students that whitespace has semantic significance. This is a fundamental design flaw of Python, and it's just a Bad Idea. Sorry, Guido.

> This is a fundamental design flaw of Python, and it's just a Bad Idea.

That sounds like a gut reaction and not a reasoned argument. I was skeptical of it at first, but after coding some Python I decided all my reasons for hating it weren't valid. Turns out it's very practical and makes the code prettier. I don't like the language for other reasons, but the significant whitespace never gave me any problems, headaches, or weird spurious bugs.

The only negative thing about it for me was that hitting TAB in Emacs doesn't indent to the "proper" place (since it's impossible to actually determine the proper place). Instead, it would alternate amongst the valid tab points from most likely to least, which felt like a reasonable compromise to me.

Interestingly, I never hear anyone whine about Haskell's use of significant whitespace…

Re: Python is now the most popular introductory language at top U.S. universities

#275

I know, I know, what I'm about to say is just an artifact of the Language Wars and will cost me karma. I can't help myself. We should not be teaching impressionable students that whitespace has semantic significance. This is a fundamental design flaw of Python, and it's just a Bad Idea. Sorry, Guido.

Iagree100%.Therereallyisnoreasontoattributetheattributeofseman ticallysignificanttowhitepsace.Justasineverydaylanguage,comput erprogrammersshouldhavethefreedomtonotusewhitespaceastheyseefi t,justasmusicshouldnothaverests;it'sonlythenotesthathavemeanin g.Finally,gentlepeople,Iimploreyouthatwallsinhousesshouldbemad einfinitesimallythin,too,becauseIseenoneedtoseparateanything.

I happen to like this comment, it gets the point across.

Re: Python is now the most popular introductory language at top U.S. universities

#276
post #39

Yes, Python is an excellent language for beginners, but so is Ruby in my opinion. Not trolling: why nobody is using Ruby in introductory courses?

It's probably some combination of happenstance and various numerical libraries making Python relatively popular in scientific computing before Ruby became well known in the U.S.

Many people prefer the English-like syntax (including myself).

Re: Python is now the most popular introductory language at top U.S. universities

#277
post #47

Earlier quoted context omitted.

mapM_ putStrLn ["hat", "dog", "cat"] I'd say the above is pretty simple if explained after: putStrLn "hello world" You don't really have to go into Monads for this to be understood/used. You can just leave it at "you use functions ending with an M if they do something like print out to the screen or get stuff from a web page".

My first reaction to this was that this was definitely less understandable, but I realized there were two pieces to this. One is banal - mapM_ and putStrLn are not near as simple as `for' and `print' (the latter have English meanings directly). The second piece is interesting: Is something of the sort " " easier to explain to someone who's new to programming than " "? I've always thought the latter was easier to unde…

This is because of lexical issues. You can define aliases for mapM_ and putStrLn and get something more approachable to the lexically challenged.

repeat print ["foo"; "bar"; "etc"]

Re: Python is now the most popular introductory language at top U.S. universities

#278

I know, I know, what I'm about to say is just an artifact of the Language Wars and will cost me karma. I can't help myself. We should not be teaching impressionable students that whitespace has semantic significance. This is a fundamental design flaw of Python, and it's just a Bad Idea. Sorry, Guido.

I guess you agree that "impressionable students" should be taught that collaboration is essential, hence clear formatting is necessary and precise indentation (aka whitespace) is critical.

However, when a language comes around that actively enforces and promotes these rules... you say it's a "Bad Idea". Could you elaborate on why you think it's so bad?

Re: Python is now the most popular introductory language at top U.S. universities

#279

I know, I know, what I'm about to say is just an artifact of the Language Wars and will cost me karma. I can't help myself. We should not be teaching impressionable students that whitespace has semantic significance. This is a fundamental design flaw of Python, and it's just a Bad Idea. Sorry, Guido.

[deleted]

Re: Python is now the most popular introductory language at top U.S. universities

#280

I work at Monash University in Melbourne, Australia. Last year we moved our foundational course in data structures and algorithms from Java to Python, with great success. This is a course that used to be taught in C, then moved to Java. I tutored it as a Java course, and was in charge of adapting the tutorial (classroom exercises) and laboratory (programming assignments) materials when we started using Python to teac…

I'm so happy to hear that! I graduated from Monash Clayton a few years ago when the Java train was in full effect and the focus on Java was a big source of frustration for me. I distinctly remember an algorithms & data structures assignment about Markov chains which had to be done in Java. I spent a good 40 minutes writing what was effectively boilerplate to load the provided files into a meaningful representation an…

No, it wasn't me, though I did let anybody in my FIT2004 tutorials (the second data structures and algorithms course, for those who didn't go to Monash) do their work in Python. I only had one taker.
Post reply on HN