Python tops Java as most popular introductory teaching language among US universities

Shawn Knight

Posts: 15,240   +192
Staff member

python

Look out Java, there's a new (figuratively, not literally) top programming language in town. According to a recent survey from the Association of Computing Machinery (ACM), Python has overtaken Java as the programming language of choice to introduce students to computer science.

Philip Guo, the computer science researcher responsible for compiling the survey, found that eight of the top 10 computer science departments in the US now use Python as an introduction to coding. Looking at a bigger picture, 27 of the top 39 schools responded the same way.

python

Even the three largest online course providers - Coursera, edX and Udacity - offer introductory programming classes using Python.

Anyone that's been around the educational computer science field for some time has likely witnessed the trend although this appears to be the first hard evidence suggesting Python has overtaken Java. Indeed, when I was starting out in the computer science field, Java was the go-to language for beginners.

As PCWorld points out, Python is a good candidate for college / university introductory courses as it offers a syntax that is easier than Java or C++. Despite being a basic (no pun intended) language to pick up, it's powerful enough to be useful in the real world. For example, it's used by several financial institutions for data analysis and similar tasks.

Are you proficient in any programming language(s)? If so, what's your favorite? Let us know in the comments section below.

Permalink to story.

 
I don't think .NET is a programming language...Also Python is great for beginners due to it's interactive nature.
 
I've been thinking about learning python for a while, glad to hear it's good for beginners. The last programming language I programmed in was Turbo Pascal and that was a long time ago.
 
I use java and its a hard enough language, I did a little python and I thought it was easier to be honest
 
And where is .NET on that chart? Its absence makes no sense.
Yes it makes sense as .NET is Microsoft specific while all the others are platform neutral - - ie {Unix, Linux, PC, Mac} all run anything BUT .Net.

A major consideration, especially when working with the Web, you need to understand what is portable to which platforms.
 
I am really liking Python, it is both easy to learn and fun. I am using it to create applications similar to those of MatLab (using something called PyLab).
 
And where is .NET on that chart? Its absence makes no sense.
Yes it makes sense as .NET is Microsoft specific while all the others are platform neutral - - ie {Unix, Linux, PC, Mac} all run anything BUT .Net.

A major consideration, especially when working with the Web, you need to understand what is portable to which platforms.

While .NET is only for computers running windows (and microsoft phones but really... who has a microsoft phone?), over 80% of computers run windows, and learning how to use visual studio would help if they decide to learn other languages. Visual studio is able to run C#, C++, BASIC and F#, so if they start with BASIC, learning C# or C++ would be easy because the only thing being changed is the code, not the interface or design templates. Java runs on almost every mobile phone and on Windows and Mac (not sure about Linux although I would assume most Linux based OS's would run it), and Android is written completely in Java and XML. So from that standpoint I would say Java would be more cross-platform friendly than Python, but then again I don't code in Python, so I am biased. Personally I would want colleges to be teaching C# to students. It's very similar to Java so if they are tired of writing for Windows platforms and decide to go cross mobile, they wouldn't have a difficult time transitioning.
 
Last edited:
Let's C here,it's been a few years.. Cobol-74, fortran 88, rpgII&III,D base1 and 2.Ibm assembly (machine code),Basic,apple basic. That's about it.. Need to update to java and python I guess..
Tad Old Skool. :)(y)

:cool:
 
Python is indeed a very powerful programming language and fairly easy to learn, which makes it a well suited choice for students at colleges and universities. As a programming language, Python offers the user a "tool" with which you rapidly can develop highly sophisticated solutions in a short time, solutions that in C++ would have taken days - even weeks to develop.
Pythons popularity have caused many programmers to add extra modules, handling a wide variety of scientific areas and these are free of charge. The European scientific project CERN have taken in Python and gives a yearly conference on Python seen with "scientific" glasses.

Python is indeed a very popular and versatile programming language, that have taken the programming world with storm.
 
Maybe .NET languages will start to be more prevalent now that the .NET framework is open source. Mono and Xamarin have also made .NET a lot more accessible to a lot of devices.
 
And where is .NET on that chart? Its absence makes no sense.
Yes it makes sense as .NET is Microsoft specific while all the others are platform neutral - - ie {Unix, Linux, PC, Mac} all run anything BUT .Net.

A major consideration, especially when working with the Web, you need to understand what is portable to which platforms.

While .NET is only for computers running windows (and microsoft phones but really... who has a microsoft phone?), over [80% of computers](http://www.w3schools.com/browsers/browsers_os.asp) run windows, and learning how to use visual studio would help if they decide to learn other languages. Visual studio is able to run C#, C++, BASIC and F#, so if they start with BASIC, learning C# or C++ would be easy because the only thing being changed is the code, not the interface or design templates. Java runs on almost every mobile phone and on Windows and Mac (not sure about Linux although I would assume most Linux based OS's would run it), and Android is written completely in Java and XML. So from that standpoint I would say Java would be more cross-platform friendly than Python, but then again I don't code in Python, so I am biased. Personally I would want colleges to be teaching C# to students. It's very similar to Java so if they are tired of writing for Windows platforms and decide to go cross mobile, they wouldn't have a difficult time transitioning.

I've dabbled in VB for years, also Java, JavaScript and most recently C# (I even tried Forth and did a spell coding in Z80) and a friend suggested I look at Python - I found it most challenging to get my head around, though it might be as I was leaping in at the deep-end and trying to convert a Python program I'd found to C# (or was it the other way around?). I'm sure it's different if you're learning from scratch
I guess my point is that if it works for beginners then a big thumbs-up and it ought to be respected for that, but lets not forget that there are many other languages that may do the job better on different platforms and for different applications and that Python may simply be the starting point (like Basic was for me in '77)
 
Uhhh, what? Python is a terrible language to teach, since it is considerably less used in the business world, and it teaches you a syntax which is unique to python. It also teaches you to be pretty lazy as you don't need to be so explicit with your code. Learning a language like Java, C# or C++ teaches you a syntax which is pretty common to a variety of mainstream languages as well as giving you a language that a business is more likely to pay you for.

People coming out of university saying "yeah I know python" are pretty much the bane of the business world as you need to free up another programmer to teach them the stuff they missed out on learning to make them actually useful on the job.
 
Small note to all commenting:
Python is scripting language (same as matlab & octave)
Java/C#/C++ indeed are similar qua syntax, but the underlying tech is different (interpreted/native).
thus usage scenarios are bit different. there is no one-to-rule-them-all programming language... as there is no universal tool for everything ;)
So in short to be 'real' programmer you generally know (if not master) more than one language (even if you usually write your apps in one language)
 
Well said.

Java/C#/C++/C use code which must be compiled to create an executable, ie program.

PHP/Perl/Python/VB/Javascript use an interpreter to execute the script, ie the language processor is the program.

Modelling / R&D can use the latter to get the basics, but "real applications" usually are compiled.
Your Androids and IOS devices have apps which are compiled, not interpreted.

btw however; 99% of all web cgi programs are interpreted {Perl / Php}
 
Back