Surveys Say Python is the Next Programming Language You Will Use

By Tiera Oliver

Associate Editor

Embedded Computing Design

August 27, 2021

Story

Surveys Say Python is the Next Programming Language You Will Use
Image Courtesy of Pexels

When it comes to software, it’s a polyglot world.

According to GeeksforGeeks, there are currently more than 500 computer programming languages, each with its own features and syntax. If you had to use one, or learn a new one, which one would you choose?

There are often two answers to that question: the one you would prefer and the one your boss tells you to use. Some languages, like C, have amassed so much gravity over time because of their gigantic installed base that they become the de facto choice in many builds, even if they’re not necessarily the best or preferred choice.

But times are changing, and more and more object-oriented languages are finding their way into the hearts and minds of embedded and IoT developers – or maybe it’s that more scripting and object-oriented developers are finding their way into the hearts and minds of embedded and IoT systems. Whatever the case may be, the languages that software developers themselves want to learn, want to keep using, and hate using can provide meaningful insight into the skills employers are looking for, what’s likely to be used in the future, and the imminent demise of others.

Stack Overflow’s 2020 Annual Developer Survey results revealed the languages developers wanted to learn, loved, and dreaded the most. Of all the languages tracked, “developers report that they do not use but want to learn” Python, which captured 30 percent of the vote from nearly 65,000 respondents to lead that category for the fourth year in a row.

For the fifth consecutive year, Rust earned the top spot as the survey’s most loved programming language with an 86.1 percent approval rating amongst developers who work with it (Python scored a 66.7%). More than four of five (80.4 percent) would prefer to not continue working in this year’s most dreaded language, Visual Basic for Applications or VBA.

For context, C was the 21st most loved language in the Stack Overflow survey, with 33.1 percent of those “developing with the language or technology [having] expressed interest in continuing to develop with it.” Just 4.3 percent of those who were unfamiliar with it said they are interested in learning it, good enough for 16th on the list of most wanted languages. Meanwhile, C came in sixth on the most dreaded list with a 66.9 percent disapproval rating.

Python: Snaking its Way into Embedded

Although Stack Overflow didn’t specifically report on the most used languages, a separate study conducted by the University of California, Berkeley did. In 2019 and 2020 the school asked developers “which languages are in demand right now and which ones … will be in demand soon”. Those responses indicated that in 2021, the most used language will be JavaScript, with Python a close second and C#, Rust, and Perl coming in 8, 9, and 10, respectively (Figure 1).

Setting the others aside, Python isn’t just growing in websites, data visualization, and analysis stacks – the versatile language is even gaining popularity in embedded systems. Subsets of the language like MicroPython, a spin on Python version 3 that contains a limited form of the Python standard library, make it possible for developers to easily port Python-compliant code from a desktop to a microcontroller. Despite its limitations, however, MicroPython still contains features that make it popular with programmers like interactive prompts, arbitrary precision integers, closures, list comprehension, generators, exception handling, and more.

The MicroPython pyboard, for example, runs baremetal MicroPython – essentially providing a Python operating system with a small built-in filesystem, command prompt, and Python objects for peripheral control.

Another open-source Python project that straddles the line between embedded targets and object-oriented software is Xilinx’s PYNQ initiative. PYNQ leverages the Python language and libraries to allow engineers to program Xilinx Zynq, UltraScale+, RFSoC, and Alveo accelerator hardware via browser-based Jupyter Notebooks.

“Using Python, developers can use hardware libraries and overlays on the programmable logic,” the PYNQ website reads. “Hardware libraries, or overlays, can speed up software running on a Zynq or Alveo board, and customize the hardware platform and interfaces.”

Where to Start if You’re Behind the Python Curve

Because of Python’s continued popularity and diversity of use, the University of California, Davis is planning to launch a fully remote Python for Data Science, Web and Core Programming curriculum this fall. According to the school, the program is, “designed for programming beginners as well as professionals looking to enhance their careers” and “immerses learners in a hands-on coding environment that emphasizes the practical applications of Python to data science or software development fields.”

The UC Davis says the program, which costs between $2,992-$3,520, can be completed in as little as nine months and is ideal for students looking to pursue technical careers. With no prior programming experience required to enroll, the five required courses cover:

  • Coding using Python scripting, syntax tools, and object-oriented coding theories
  • Advanced Python language features for writing efficient programs
  • Solving data-related problems and assessing and developing algorithms
  • Applications for data mining and data analytics

“The new Python program will give aspiring programmers in-demand skills they can immediately apply to succeed in this rapidly growing field,” says Crystal Babowal, program specialist at UC Davis Continuing and Professional Education. “We are offering this online program as a convenient, cost-effective way for learners to get the practical training they need to enter or keep pace in the expanding data science and programming fields.”

The first course, Introduction to Python Programming, begins September 20th, 2021.

Those interested can register via the program registration form.

Rust: For those Who’ve Caught the Snake

Of course, tens of thousands of developers, if not more, have already mastered the Python language. For engineers who are already proficient in Python and looking to add more to their tech lexicon, Rust is emerging as another great language to pick up.

According to Stack Overflow, Rust is making strides in electronics engineering as a low-level language that’s ideal for baremetal and embedded development. While it’s still relatively young, it’s been praised for mature features like direct access to hardware and memory, and zero-cost abstractions. These allow developers to achieve safe concurrency and efficient memory management while programming from a relatively high level, says Krzysztof Wróbel, Director of Engineering at CodiLime.

The book, The Rust Programming Language, written by Steve Klabnik and Carol Nichols, with contributions from the Rust Community, provides information on how developers can get started with Rust.

Tiera Oliver, Associate Editor for Embedded Computing Design, is responsible for web content edits, product news, and constructing stories. She also assists with newsletter updates as well as contributing and editing content for ECD podcasts and the ECD YouTube channel. Before working at ECD, Tiera graduated from Northern Arizona University where she received her B.S. in journalism and political science and worked as a news reporter for the university’s student led newspaper, The Lumberjack.

More from Tiera

Categories
Open Source