Live data from Hacker News

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

cacm.acm.org

171–180 of 375 posts

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

#171
post #140

This is completely misleading. Just because a course is offered at a 100 level, doesn't mean it's an introductory course. These numbers don't mean a thing... (in case people cared, yes I did go to one of these schools and at least state for that given school, this data is complete bs)

please send me mail with a correction request. thanks

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

#172
post #132

Earlier quoted context omitted.

you should check out flask. there isn't much to learn to get going... http://flask.pocoo.org/ from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" if __name__ == "__main__": app.run()

that would be very confusing to understand for a beginner. PHP you can write right in a html file and see it just by refreshing the page.

It is confusing if you don't know the difference between a page templating language and a web framework. If ease of writing "hello world" is what matters, Python:

    print "hello world"
beats PHP:

    

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

#173

I've always been of two minds about this. My intro course at MIT was in Scheme, a class that has since been renamed and is now taught using Python. On the one hand, it was a great course, and the FP was an awesome mindfuck (previous programming experience: TI BASIC). Though I took it all for granted at the time, it definitely set me up to think about programming better for years, and I still reread the book sometimes…

Clojure would be a great language for teaching, keeping LISP and SICP but giving a tool that compiles something running on the JVM. Teaching Python definitely has the advantage of being more ready for the market, even though Ruby is nicer and friendlier and probably better OOP, also having better lambda functions support.

SICP is such a great book, it is a must have for programmers...

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

#174

Earlier quoted context omitted.

Author here. Thanks for your comments blahedo. I'm a bit short on time right now, but I will convert some parts of this response into more coherent form and edit my article accordingly to clarify. I'll address each of your paragraphs in turn: 1.) Re: CS0 vs. CS1. Like you mentioned, I was very upfront about the methodology for this analysis. And I am very aware that most CS majors do not ever take a CS0 course. But p…

Thanks for responding! Do you still have in your notes the breakdown for each course whether it's CS0 or CS1? That would be good to put into the table in some form so the rest of us can make our own judgements about what that might mean. I don't disagree it's important, for many of the reasons you mention; I only really disagree with its characterisation as a majority intro language. Indeed, I expect that when they'r…

great suggestions. sadly i am limited by time and bandwidth. this was a weekend hack that i did by myself, so it's unclear how much more rigorous i can make the analysis. i'll try to incorporate some lightweight edits for clarification, though.

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

#175
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,…

Using Georgia Tech as an example, the two classes mentioned are the introductory courses for industrial engineers and business majors. The article excludes the introductory course for CS majors (1331) which is taught in Java and the introductory course for most engineers (1371) which is taught in Matlab .

>the introductory course for most engineers (1371) which is taught in Matlab .

A fair point of warning is that, having been at Georgia Tech 2008-2011, most of my friends in engineering and physics freshman year hated CS 1371, and spent many a late weeknight complaining about Matlab. The common wisdom, often picked up too late, was that engineering students would have a better time if they switched into the Python course, iirc CS 1301.

For my part, I had placed out with AP credit, but took CS 2110 using a combination of LogicWorks (circuits), LC-3 assembler and C. I thought it was awesome; that course is probably the reason I have my current job, but many of my friends never considered taking another CS course, or only did so several years later, because they hated Matlab so much.

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

#176

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…

What's lexical typing?

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

#177
post #60

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.

And this exactly what everyone needs in the beginning. Simple and clear syntax where you are able to produce results in a short amount of time to keep you interested. I just remembered some people i learned with who struggled along time to get behind the concept of pointers and how to use them when they thought us c/c++ as an intro language to programming.

C is not great but bearable as an intro language, mostly because K&R is a good textbook and the language is small.

C++ would be absolutely horrible. Is anyone doing this?

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

#178

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…

Welcome to HN! Ruby is a good idea for webdev but keep in mind that Python is also dominant in other domains of computing in particular scripting and scientific computing. So in my opinion for a beginner Python is more future proof than Ruby [activate language-flamewar-prevention-daemon] and if you later add a system-language (e.g. C) and a modern general purpose language (e.g. Haskell or Scheme/LISP) to your reperto…

If you pick a Lisp, pick Racket or Clojure. All else being equal, they are the most modern and pleasant variants to work with.

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

#179
post #176

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…

What's lexical typing?

I would assume from context, it is the ability to declare a variable in a lexical scope to have a specific type in that scope. With static typing you would then have the ability to catch use of that variable with the wrong type and make that a compile time error.

That said, I believe that pylint could statically catch some of the type errors that are being referred to.

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

#180
post #122

In college our intro classes were in C++. While its a tough language I do wonder if it was advantageous to forcefully learn about 1) value vs reference types via pointers and 2) how allocation maps into memory space. Not having that level of depth kinda worries me

For 90+% of the problems out there, a business programmer doesn't need to know anything about memory#. Short of a few rules, I don't see why they can't ever go without learning about memory space, allocation, reference types, etc. They will make mistakes, sure. But they will get the work done, and that's pretty much what most businesses need. Eventually, as problems creep in, the messes created by lack of knowledge g…

I can see this rationale as an argument if it was an associate's or 1 yr degree, but for four years of study I expect real depth about what's happening all the way down memory etc
Post reply on HN