Digest / Technology / Top Stories /

This Week in Programming: Python Heats up the Language Horse Race

9 Sep 2017 6:00am, by

Everyone loves a horse race, whether those horses are actual horses, browsers, web standards or programming languages. This week in programming, the horse race is alive and well, as we examine a few different takes on the top languages out there, including one post suggesting we rethink our stack entirely (as we are often wont to do).

First up this week, developers reveal their top five programming languages they deem most important to learn, with little obvious surprise — JavaScript and Java jointly lead the pack, with C++, Python and SQL following close behind. PHP, Swift, Ruby, NoSQL, and Haskell round out the list.

While not on the list, the study’s creator noted that — results be damned — languages like COBOL should be considered, as “a wider trend of firms willing to pay top dollar for niche languages, highlighted in this year’s Stack Overflow survey,” which found that “developers specializing in the relatively rare languages of Clojure, Mozilla’s Rust, the Erlang spin-off Elixir and the Google-created Go were the highest paid.” Before you make the jump to COBOL, however, also note that a “search for COBOL jobs on Glassdoor.com in the UK returns 57 positions, compared to 844 JavaScript programmer roles.”

While Python took the third spot in that list, Stack Overflow followed up on its recent data-based look at the relationship between programming languages and the countries that favor them according to GDP, with another successful use of data-driven journalism, “The Incredible Growth of Python.” According to its analysis, “Python has a solid claim to being the fastest-growing major programming language” in high-income countries, with Python still holding the spot for lower income countries, just lagging behind.

One fun aside from the Stack Overflow writers:

We’re not looking to contribute to any “language war.” The number of users of a language doesn’t imply anything about its quality and certainly can’t tell you which language is more appropriate for a particular situation. With that perspective in mind, however, we believe it’s worth understanding what languages make up the developer ecosystem, and how that ecosystem might be changing.

“Incredible growth” aside, an argument in InfoWorld contends that Python and C# can’t displace Java, C, or C++ in this race:

Python and C# have long been poised to become the next big programming languages, but that hasn’t happened so far because of their limitations, notes the Tiobe report’s authors: “C# is not a Top 3 language because its adoption in the non-Windows world is still low. Python, on the other hand, is dynamically typed, which is a blocker for most large and/or critical software systems to use it.”

And finally, one last note in the realm of second guessing every tool you use on a daily basis, InfoWorld again looks at considering MEAN vs. LAMP stack for your next programming project. The developer website notes of the MEAN stack “It was only a few years ago that MongoDB, Express.js, AngularJS, and Node.js were raising eyebrows on their own. Now they’ve grown up and ganged up, and together they’re doing serious work, poaching no small number of developers from the vast LAMP camp.”

The ultimate conclusion here? “For green-field projects that could benefit from flexibility, simplicity, and performance, going MEAN may make your life better than you think.”

Okay, that’s enough horse racing for this week. Here are a few other things we found compelling for this week in programming:

  • While Python may be busy attempting to overtake all of its competitors, it still has some flaws and there are four major fixes on the Python roadmap, including shortening the startup time, speeding up named tuples, refactoring CPython internal APIs and (maybe) ditching Python’s global interpreter lock.
  • IBM announced this week a whole set of new Jupyter notebooks for quantum computing, as well as the ability to experiment with a quantum computer they connected to the Internet for your use. The 20+ Jupyter notebooks focus on IBM’s QISKit (Quantum Information Software developer Kit). From the blog post: “Whether you’re a quantum research scientist, trying to study the fundamentals of quantum states, a developer who wants to understand how you’d actually solve problems in chemistry or optimization, or someone who is curious how to build quantum games, you’re gonna love what we just put out. You are hereby invited to add to the already 1 million-plus experiments run on the system.”
  • For those of you out there contributing to Google’s various open-source projects such as KubernetesAMP, or Dart, Google announced this week that it would be making the Google Developers documentation style guide public “to allow for more consistency across developer documentation.” The developer-documentation style guide, Google notes, is more of a reference material than something to sit down and read over coffee… but whatever floats your boat, right?
  • Last week we made note of Google’s release of ARCore, its answer to Apple’s ARKit. This week, we get the review, with Matt Miesnieks, a partner at augmented reality fund and incubator Super Ventures, examining how is ARCore better than ARKit? Miesnieks dives deep into the details of each, finding that the two are really (keeping with this racing theme) neck in neck. “The thing developers should be focusing on,” he writes, “is that building AR Apps that people care about is really challenging. It will be far less effort to learn how to build on ARKit or ARCore than the effort to learn what to build.” As far as the products themselves, he says that “as a technical solution they are very very close in capability. Effectively indistinguishable to users when it comes to the user experiences you can build today. ARKit has some tech advantages around hw/sw integration and more reliable tracking. ARCore has some advantages around mapping and more reliable recovery.”
  • Finally, Rust released the Rust 2017 Survey Results, which looks at the language from the perspective primarily of current users, but also those that left it behind, finding that its main areas of focus in the times ahead – according to respondents – should be on better ergonomics, documentation, library support, IDE support, and a less steep learning curve (in that order).

Feature image: “The Cheyenne,” bronze sculpture by Frederic Remington, 1907, New York Metropolitan Museum of Art, public domain.


A digest of the week’s most important stories & analyses.

View / Add Comments