Live data from Hacker News

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

cacm.acm.org

1–10 of 375 posts

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

#3
post #2

a language without types, without extensive research? Then, why not C/D/Pascal. i strongly believe for universities sml/ocaml/haskell or even rust are far better choices. I prefer sml.

Python's syntax is a breeze to get ahold of without any experience making it ideal for introducing people to CS and algorithmic thinking without overwhelming them with theory or syntax.

Also, a lot of colleges (at least the best ones) offer functional programming in a second semester intro course (Berkeley does Scheme I believe). My own institution uses SML.

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

#4
post #2

a language without types, without extensive research? Then, why not C/D/Pascal. i strongly believe for universities sml/ocaml/haskell or even rust are far better choices. I prefer sml.

rust? please. maybe 3 years from now, once it matures. python is good for teaching programming because it's easy to read - a feature that not a single language you mention can brag about.

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

#5
post #2

a language without types, without extensive research? Then, why not C/D/Pascal. i strongly believe for universities sml/ocaml/haskell or even rust are far better choices. I prefer sml.

Is your name Bob Harper? :)

Functional still isn't that popular, in spite of a few vocal supporters. Even MIT went from scheme to Python for their sicp training.

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

#6
post #4
post #2

a language without types, without extensive research? Then, why not C/D/Pascal. i strongly believe for universities sml/ocaml/haskell or even rust are far better choices. I prefer sml.

rust? please. maybe 3 years from now, once it matures. python is good for teaching programming because it's easy to read - a feature that not a single language you mention can brag about.

It's easy to read and it just makes more sense when someone only knows English.

I could show this to my 80 year old grandmother and have her understand what it does with minimal help on my part.

    word_list = ["hat", "dog", "cat"]
    for word in word_list:
        print(word)
The same example in Java isn't extremely hard to understand, but it definitely is a decent jump in complexity from the almost plain English syntax of Python.

    String[] word_list = {"hat", "dog", "cat"}
    for(int i=0; i 
EDIT: Forgot about Java's foreach operator, but even so with java you then have to explain what String[] means and the keyword "in" makes for an easier read than (String string: strings) and System.out.println vs print

    String[] word_list = {"hat", "dog", "cat"}
    for(String word: wordlist){
        System.out.println(word);
    }

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

#7
post #2

a language without types, without extensive research? Then, why not C/D/Pascal. i strongly believe for universities sml/ocaml/haskell or even rust are far better choices. I prefer sml.

Unless your university is really weird, I can guarantee you will learn many more languages than just the intro language. When I got my computer engineering degree in the early 2000's I was exposed to C, C++, Java, Scheme & Lisp, SPARC & 68k assembly, and even a bit of Python. Learning Python as the intro language instead of C++ would have been much nicer for folks who were completely green to programming.

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

#8
post #6
post #4

Earlier quoted context omitted.

rust? please. maybe 3 years from now, once it matures. python is good for teaching programming because it's easy to read - a feature that not a single language you mention can brag about.

It's easy to read and it just makes more sense when someone only knows English. I could show this to my 80 year old grandmother and have her understand what it does with minimal help on my part. word_list = ["hat", "dog", "cat"] for word in word_list: print(word) The same example in Java isn't extremely hard to understand, but it definitely is a decent jump in complexity from the almost plain English syntax of Python…

To be fair, couldn't you use java's foreach instead of the regular for-loop? It makes things a bit less noisy.

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

#9
post #2

a language without types, without extensive research? Then, why not C/D/Pascal. i strongly believe for universities sml/ocaml/haskell or even rust are far better choices. I prefer sml.

SML is great, but based on the UW paradigms course, I'd say it gets a lot of backlash from students wanting something common in industry.

Transitioning first classes from C to go would make great sense, but it looks like a lot of schools already replaced C with Java and C++ as first languages.

Personally, I do think there is merit in teaching a primarily imperative language first, if only to appreciate other paradigms later and get an inkling of what is really going on beneath your code.

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

#10
post #2

a language without types, without extensive research? Then, why not C/D/Pascal. i strongly believe for universities sml/ocaml/haskell or even rust are far better choices. I prefer sml.

It's the language for an introductory course, so it's purpose is more of a gateway language than as a be-all-end-all language.

Rust would probably be too strict and annoying as a first language. Maybe the same is the case for Haskell, but maybe it isn't such a big deal for those that haven't been "spoiled" by imperative languages and thinking already.

Post reply on HN