Live data from Hacker News

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

cacm.acm.org

181–190 of 375 posts

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

#181
post #64
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?

Biggest reason is that Python has been around for longer (at least in terms of popularity in the west)

Also absolutely. Python was an influence on Ruby. (See https://en.wikipedia.org/wiki/Ruby_(programming_language)#Ea...)

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

#182
post #149

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

> Not having that level of depth kinda worries me I see 2 domains where this level of depth matters: - performance (speed, resource consumption) - security If you're not doing one of those, you shouldn't have to care about them, especially if this is your first programming language ever .

And C++ is horrible for security. By default it inherits C's no-checks-at-all, give-me-performance-or-give-me-death mentality.

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

#183
post #175

Earlier quoted context omitted.

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

In my experience: ask any Computer Science professor interested in undergraduate education whether engineers should take an intro course using Matlab or Python, and they'll always say Python.

Ask any non-CS Engineering professor interested in engineering undergraduate education whether engineers should take an intro course using Matlab or Python, and they'll always say Python.

This argument seems pervasive across many institutions.

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

#184
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 may have made this term up myself; I am on the go and can't check it. As I use the expression "lexical typing", it means that the type of a variable can be ascertained from examining the text of the program, without needing to run it. Python is strongly typed, but dynamically typed: you can only know for sure the type of a value by checking the value at runtime.

This by analogy with "lexical scoping", where you know where a certain name will be bound just by looking at the program's text, while with dynamic scoping, the stack is what determines where a variable is bound, and you can only know about it at runtime.

I guess I should have said "static typing". I probably made the mistake because lexical scoping is also called static scoping, and I was writing in a hurry.

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

#185
post #62
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.

1. C, D and Pascal dont have garbage collection. 2. An argument can be made for starting with dynamically typed languages before moving to static typing.

> 2. An argument can be made for starting with dynamically typed languages before moving to static typing.

As much as I like static typing, I agree that showing people run-time errors seems to do a better job of teaching than letting them know ahead of time via the compiler that their code will likely blow up.

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

#186

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.

Just don't try teaching C++.

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

#187
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…

Wrong.Customer currently used to google speed.They want very speedy system and fast analytical decision making.Batching is old news,new system must speed 800% because customer paid high end core proc

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

#189

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…

When you say you've just started learning to code for building web apps, do you mean you

(a) already know HTML/CSS/JS and now want to learn a server side language, or that (b) you are going from no experience straight to server side programming?

Regardless of whether you learn Python or Ruby, there is practically no way around having to learn HTML, CSS, and JavaScript for building web applications. You will be reading/writing HTML/CSS/JS in your Python or Ruby projects.

So if you have no prior HTML/CSS/JS experience, I would prioritize those skills first. Otherwise you will learn Ruby or Python then be disappointed to discover that browser technology is a giant hole in your skillset, impeding you from doing the useful things that got you to start learning in the first place.

You can do great things with just HTML/CSS/JS, especially since the browser environment supporting dynamic client-side applications in JavaScript has become so powerful.

Then when you're finally doing something that genuinely requires that logic and/or data be hosted on a server, managed by server-side tools, your knowledge of browser technologies will provide a solid foundation for stepping into that ecosystem.

If you already know HTML/CSS/JS, Ruby vs Python comes down largely to personal taste and whimsy. There are indeed differences, but the differences don't matter till much later, if ever. The greater danger is not that you will learn a language that isn't future-proofed, but that you could waste far more time picking what to learn than you ever might have wasted by picking the wrong language, especially since there isn't truly a wrong choice between two great languages. The debate between them is largely a religious war.

Since you seem focused on web apps, and have already started learning Rails, stick w/ROR. You're on a great path and your current choices won't hold you back. Good luck.

PS If you're interested in learning HTML/CSS/JS, I am thinking of teaching these subjects to beginners (no charge of course). PM me with a contact if interested.

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

#190
post #143

Earlier quoted context omitted.

They're majoring in CS not Web Development. PHP doesn't really do anything other than web dev which makes it a poor fit for a general purpose CS curriculum.

> PHP doesn't really do anything other than web dev This is such a complete misconception. Command line apps written in PHP are becoming increasingly popular, not to mention the fact that PHP runs everywhere .

Command line apps in the PHP community are getting more popular. I have NEVER seen one and I wouldn't use it.
Post reply on HN