Live data from Hacker News

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

cacm.acm.org

91–100 of 375 posts

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

#92

Every intro to CS course I've ever been in has been in C++, it has always saddened me to see Java being the intro level course today. Now to see Python at the top of the chart makes my head want to explode.

I'd rather it by Python than Java to be honest. In the same time it takes to teach Java you can probably teach Python and C.

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

#93
post #75

This methodology is suspect, and the headline is extremely deceptive. Note that Guo has conflated CS0 (meaning: CS for non-majors) with CS1 (meaning: intro to CS major). He is upfront about this fact and he does it intentionally, but comments about "first officially-sanctioned exposure in college" and such make it sound like he's unaware that most CS majors do not ever take a CS0 course; and among instructors of CS,…

I think this is a good point. And in this respect I feel like the chosen data may have been cherry-picked or are somewhat incomplete.

As an example, take Northwestern. At Northwestern there are several intro routes you could take, depending on your major. CS Majors are not required to learn Python - it is used in some 300-level classes but not in very many 200-level classes (although that may change in the coming years). I've actually taken classes with projects using Python without ever taking classes teaching Python. CS majors will likely take C, C++, Java, MATLAB, or a variant on scheme for their first language, depending on which sequence they take, whether or not they are double-majors, or course scheduling.

In contrast, non-CS majors may learn C++, Python, MATLAB, or a variant of scheme as a first programming course, depending on why they are learning a programming language.

So while schools like Northwestern may offer introductory courses in Python, I think the truth is more something along the lines of "students may learn Python, or they may learn any of a number of different languages as their first language, depending on what their academic goals/requirements are."

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

#94

Python was heavily based on ABC, a language which targeted new programers and made syntax choices based on user testing: http://python-history.blogspot.ca/2009/02/early-language-design-and-development.html It says a lot about our understanding of our field that new languages generally do not formally test their syntaxes (and other "mental model" features) for usability.

If programming language selection for introductory university courses was based on pedagogical research on introductory computer science courses, I suspect Scheme would be nearly universal given its roots and nearly forty year track record.

But that's not how languages have typically been selected for 15 years or so. The direct vocational skills argument has held much more sway.

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

#95

Good news! I would like to add that another advantage of Python is its usage for scientific computing (Math, Physics, Biology, ...) so students hopefully choose Python to help solving problems for their math classes e.g. using numpy and co. They can then get easiliy into IPython which is IMHO a very important FOSS project. At my university I feel that proprietary scientific programs and CAS like Matlab, Maple and Mat…

In the engineering fields (I am an ME), I am seeing steady growth in the use of Python and declining use of Matlab. The trend does appear to be more prevalent among younger engineers.

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

#96

Hey there! I've just started learning to code for building web apps (I know about Fortran 90, it doesn't fit very well on the browser haha), and it took me a while to decide. I looked up in an endless number of hacker websites, but at the end I'm sorry for betraying Python lovers... I'm learning ruby on rails..! I've just started learning, please tell me If it's best to learn python (I'm not looking for an easy langu…

My take on Ruby vs Python is this:

While Python has a healthy web dev ecosystem, Ruby's feels much larger to me. That's almost certainly because Rails is so wildly popular. And Rails is an excellent, mature framework. So for web dev, I would consider Ruby the winner.

Python is the clear winner for scientific computing. That's not really due to anything inherent in the language. It's an ecosystem thing. If you were using Fortran before, you might be working in a problem domain where Python dominates.

Both are excellent for miscellaneous scripting work. E.g. reading in a CSV file and doing something with each row; batch-processing a bunch of images; renaming 1000 files according to some ruleset; gathering some system data and sending nightly status emails.

In terms of syntax and features, they're very very similar. Python has meaningful whitespace, which you may like or dislike. (I think it's good for enforcing proper formatting, but you're free to disagree.) Ruby has multiple ways of expressing the mathematical concept of a function (methods, blocks, and procs), which has its pros and cons. Both have metaprogramming facilities, though I find Ruby's more pleasant. If I remember correctly, it was in large part the metaprogramming that made DHH pick Ruby for Rails.

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

#97
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?

You can say that about lots of languages. Scheme is good for beginners for reasons X and Y, C or C++ is good for reason Z, and Haskell is good for reason W.

But at the end of the day, if you teach someone Python, they can turn around and write Python code to solve problems in their science classes with minimal friction, or they can go on to be software engineers, or write web scrapers, video games, whatever. Python's arguably not the best at any of those things, but it's good enough at all of them.

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

#98
Honestly, I'm not surprised, but I believe this is bad news. Learning C programming (first) was probably the most advantageous thing that has ever happened in my life of programming. When you understand C you understand how the computer functions, and in turn can write better software. It prepared me for virtually all programming and has enabled me to understand concepts correctly, the first time, and has made my life significantly easier.

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

#99
post #82

CMU transitioned from Java to Python when I was an upperclassman there. I'm not sure what other similar places do, but CMU splits introductory courses into 2 parts - 110, 112. 110 is the basic programming with gradual intro to OOP and stuff. 112 is where the datastructures come in - it's a programming primer to implementing datastructures and algorithms, so to speak. Here is the issue I feel goes unnoticed as most pe…

I think that's another thing to note: around two thirds or more of the CS freshman at CMU actually take 15-122 Principles of Imperative Computation, which is taught largely in C0 (a type safe subset of C), and then later they transition to full fledged C.

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

#100
post #80
post #20

Earlier quoted context omitted.

Many of the better European universities teach FP languages in their introductory courses. Off the top of my head, Oxford and Edinburgh use Haskell and Cambridge teaches Ocaml.

Cambridge teaches SML, not OCaml, unless it's changed in the last couple of years.

[deleted]
Post reply on HN