Live data from Hacker News

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

cacm.acm.org

301–310 of 375 posts

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

#301

Earlier quoted context omitted.

IMO Scheme is one of the easiest languages to learn. Have a look at SICP ( http://mitpress.mit.edu/sicp ), one of the best introductory programming courses available, complete in Scheme. They just _use_ the language, without actually _teaching_ it, and students just pick it up on the go. Sure, there are lots of corners omitted, but at the end of SICP, you've written your own Scheme interpreter / compiler combo that y…

It depends who you are. People who have the recursion muscle tend not to appreciate what an obstacle it is for people without it. Basic use of scheme requires you to think recursively. If you have that, scheme gives enormous power for a small investment of learning, thinking and typing. If you don't have that, you need to deal with that before you can use scheme. You could take a group of elite students with a math/p…

There is a really useful criticism of Scheme implied by your comment. Idiomatic Lisp is difficult to write, and there is a willingness in Scheme based Curricula to infuse it from the beginning. Unlike implementing objects in Java, use recursion and an aversion to mutation is a stylistic choice in Scheme. Iterative looping and state variables are viable alternatives and Scheme and other Lisps do mutation really well. The language has no prohibition on imperative style.

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

#302
post #160

Earlier quoted context omitted.

Grad school rankings are a proxy for the strength of the professors, grad students (who TA/grade classes), and the overall CS research strength.

Bachelor level students do not conduct research... so it seems odd to rank schools for their Bachelor CS degree program based off of stats about their Graduate CS programs. (this thread is about beginner programming courses, ie. undergrad students). -- as a footnote, at least at my school, the graduate level professors are not the same ones teaching undergrad classes.

At Davis even the famous professors like Rogaway and Matloff teach undergrad courses.

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

#303

I'm an undergrad at one of the outlier schools (UCLA) where a combination of the quarter system and a relatively conservative CS department make for an interesting undergrad curriculum. Our "CS 1" is taught in C++ and is mostly dedicated to well, C++. The entire first course is essentially dedicated to teaching you how to not blow your leg off while managing memory. We don't even touch data structures, algorithms, co…

I went to Davis which also teaches C in the CS1/first course for concentrators, and C++ after. It was really hard, I really liked it, and I've always felt it's given me an advantage over people who have no idea how the lower layers of the stack work.

I definitely saw it scare some people off though. So if your only criteria is "what is the passing rate", it probably does worse than python.

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

#304
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 has types.

    Python 2.7.1 (r271:86832, Apr 22 2011, 16:34:07)
    [GCC 4.3.2] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> type(5)
    
    >>> type('hello world')
    
    >>> type({'key': 'value'})
    
    >>> 5 + 'hello world'
    Traceback (most recent call last):
      File "", line 1, in 
    TypeError: unsupported operand type(s) for +: 'int' and 'str'
It just has dynamic typing.

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

#305

Earlier quoted context omitted.

I do not know any Python (yet) - and my comment is probably off-topic. I spent a fall semester at Northeastern U, Boston in '97 and took a graduate course in Data Structures which was taught in C. I loved this course and finished top of the class (It helped that I was already familiar with C from an undergrad engg course). I fell in love with C. Implementing dequeues, linked lists, trees etc. with C was a pleasure -…

Our unit is a first year unit, and runs for twelve weeks. This means that we have ten weeks to take people who may have never programmed by typing text into an editor and teach them enough CS and programming that they can implement their own hashmap in Python and reason about its big O performance in one week, start programming in MIPS assembly the next week, and implement function calls in assembly and reason about…

I've commented before in a variety of places that if I were to design a first-year curriculum that would have suited me best, it would start with python in much the way that is discussed in this thread, focusing on the concepts and algorithms and general concepts of coding.

But the next course would be a hardcore introduction to C, embracing the language peculiarities instead of shunning them and trying to stick to concepts. I think at least once in an undergrad's career, preferably sooner than later, they should go through the process of learning the nuts and bolts of C.

I've probably been doing my own thing for too long to know for sure whether C is still the best choice, all I know is that NOT having the sort of class I describe, early in my college career, made things far more difficult later on.

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

#306
post #263

Earlier quoted context omitted.

Can someone delete this comment please? I'd like to read the other comments here but this one means I've got to scroll back and forth for each line :(

For a temporary solution, try right-clicking on it, select "inspect element" or something to that effect and deleting the text.

I use a bookmarklet that comes in handy in cases like this:

  javascript:(function()%7Bfunction callback()%7B(function(%24)%7Bvar jQuery%3D%24%3B%3B%24('*').on("contextmenu"%2C function(evt) %7Bevt.preventDefault()%3B%7D)%3B%24('*').mousedown(function(evt)%7Bif(evt.which%3D%3D%3D3)%7Bevt.srcElement.remove()%3B%7D%7D)%7D)(jQuery.noConflict(true))%7Dvar s%3Ddocument.createElement("script")%3Bs.src%3D"https%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fjquery%2F1.7.1%2Fjquery.min.js"%3Bif(s.addEventListener)%7Bs.addEventListener("load"%2Ccallback%2Cfalse)%7Delse if(s.readyState)%7Bs.onreadystatechange%3Dcallback%7Ddocument.body.appendChild(s)%3B%7D)()
After clicking the bookmarklet, you can right-click on any element to remove it.

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

#307
post #290
post #96

Earlier quoted context omitted.

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 us…

> While Python has a healthy web dev ecosystem, Ruby's feels much larger to me. It's funny because I actually feel the opposite: Ruby is mostly a niche language for the web community, whereas Python is now mainstream in so many different areas (graphics, scientific, sysadmin, financial...). I've yet to see a non-webdev tool embedding Ruby as a scripting language, while Python is now featured in office suites, spreads…

I think we have almost the same opinion, actually. I said Ruby's "web dev ecosystem...feels much larger to me." I agree that Ruby's strongest niche is web dev. And I think it has an edge of Python there. Outside web dev, I don't see Ruby dominating any particular niche.

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

#308

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…

What is the purpose of CS101 for CS majors? Is it to teach a tool you can use in your future courses? Then Java, Python and C++ are good choices.

Or is it to teach the fundamentals of programming? Then Scheme is the ideal choice, but they should map concepts to mainstream languages. I.e., here's how OO works in Java, now we'll simulate it in Scheme. If more people took a course like this, we'd have fewer language fads IMO.

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

#309
post #96

Earlier quoted context omitted.

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 us…

>While Python has a healthy web dev ecosystem, Ruby's feels much larger to me. What is there in, say, rails that would not be available for django?

It's not a Rails vs Django feature comparison that gives Rails the edge. Convergent evolution means they're pretty much on par with each other all the time.

The difference is in the size of the ecosystem as a whole. The Ruby web dev world appears to have more (or more visible) participants. Which affects things like Stack Overflow, web-specific packages on Github, blog posts, etc.

It's not an order-of-magnitude difference, as far as I can tell. But still significant.

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

#310
Because classic Scheme (or Racket) courses based on SICP are too complicated by new-normal (punk) standards.)

Show me a sane person who succeeded to grasp these few big ideas behind SICP after Berkeley CS61A or another similar Scheme or Racket course, who had any regret for spent time and effort?)

btw, AIMA and PAIP are much better in CL than in Python.)

Post reply on HN