Development / Technology

This Week in Programming: Static Types for Python?

27 Feb 2021 6:00am, by

For those of you out there who love both numbers and the Python programming language — and given Python’s propensity for data crunching and the like, that Venn diagram is rather close to a circle inside another circle — it’s an exciting week as the results of the 2020 Python Developers Survey have just been released.

Conducted last October by JetBrains and the Python Software Foundation, the survey gathered the heartfelt opinions and habits of more than 28,000 Python developers from almost 200 countries and regions, and now you can find out just how far out of the norm your particular Python programming habits fall.

Some stats you might not be at all surprised about include Python developers’ tendency to use the language in conjunction with JavaScript (75% of web developers use the two, according to the results), and data analysis, web development, and machine learning comprising the top three of the language’s common use cases.

According to a synopsis of the results in InfoWorld, another obvious take away from the survey is that of where its users would like to see the language go next: “The most-wanted features by Python developers are static typing and strict type hinting, closely followed by performance improvements,” they write, noting that the results show a near tie among the leading choices. “Static typing and strict type hinting proved to be the most-desired features, with 21% of respondents, closely followed by performance improvements, with 20%. Better concurrency and parallelism came in third, with 15% saying they were their most-desired capabilities.”

Of course, nothing is 100% and not all are in agreement as to what should come next for their favorite language.

Also of note, it looks like folks are finally getting the message regarding Python 2 (which, as you should definitely know, reached end of life a little over a year ago now), and the percentage of users still using the now-dead version has dropped to 6% from 10% the year before. The time is now!

That’s just the tip of the iceberg though, so head on over and click through all the pretty graphs to see what’s new and happening in the world of Python.

This Week in Programming

  • GitLab 13.9 Adds Security Dashboard, Maintenance Mode: The latest version of GitLab has been released and, among the 60+ new features, GitLab 13.9 intends to “strengthen DevSecOps at scale,” with a Security Alert Dashboard to triage high priority alerts, Maintenance Mode for support of distributed teams, additional support for DORA metrics, and advanced automation capabilities, such as enabling reuse in your pipeline of a CI/CD configuration from any job. Another feature to call out for the new release is the ability to follow other GitLab users, which is among the 299 merged wider community contributions included in the release, so make sure to click through for the rather lengthy release notes.
  • GitLab’s Kubernetes Integration Enters “New Era”: While we’re talking about GitLab, the company made another announcement this past week, which seems particularly applicable to our readers, around a new era of Kubernetes integrations. GitLab previously launched the GitLab Kubernetes Agent last September, which is now available on GitLab SaaS and GitLab.com, and has recently made some changes to the agent to provide a better security model. Previously, GitLab connected to Kubernetes via the Kube API using cluster-admin rights. Now, the GitLab Kubernetes Agent instead provides a secure, permanent connection using websockets or gRPC, giving end-users a more granular control over access. Currently, the agent is available only to selected customers, but if you want to give it a spin, reach out to Viktor Nagy, the product manager responsible for the agent, to request access.

  • Red Hat Opens Up RHEL for Open Source Orgs: Following up its somewhat unpopular move last year when it deprecated CentOS in favor of a streaming edition, Red Hat said this week that it would be extending no-cost Red Hat Enterprise Linux (RHEL) to open source organizations. With the introduction of RHEL for Open Source Infrastructure, the company says it is providing “a simpler, clearer and documented process for projects, communities, standards bodies and other not-for-profit software groups engaged with open source to gain access to RHEL subscriptions.” Essentially, while the company already provides free access to RHEL to certain open source organizations, they say that “the process isn’t as formalized, consistent, accessible or transparent as we’d like it to be” and this looks to fix that. RHEL for Open Source Infrastructure will provide no-cost subscriptions to “eligible organizations” for use “within the confines of their infrastructure,” and will be self-supported. As for who will be eligible, they write that “generally, all software distributed under a Fedora-approved license is considered open source for the purposes of this program,” and that it is “not intended for individual developers, current Red Hat customers/partners, governmental organizations, healthcare organizations, academic institutions or non-profits that want to use RHEL outside of independent open source project infrastructure.”
  • Go Looks To Add Fuzz Testing: It looks like the Go programming language is on the cusp of getting fuzz testing support added with Go 1.17, according to a proposal submitted by Go security team member Katie Hockman, following a design draft based on feedback from the Go community. “This feature will be considered experimental in Go 1.17, and the API will not be covered by the Go 1 compatibility promise yet,” Hockman writes. “The functionality that goes into this release is expected to have bugs and be missing features, but should serve as a proof-of-concept for which Go developers can experiment and provide feedback.” Speaking of feedback, the proposal is still under development and discussion, so now’s the time to jump in if you have thoughts.

  • Google Debuts Jetpack Compose Beta: For you Android developers out there, Google has some exciting news this week with the release of Jetpack Compose Beta, a UI toolkit designed for building native apps across all Android platforms with declarative Kotlin APIs, and made to integrate with existing Android apps and Jetpack libraries. The release offers an API complete and stable version of Compose, which means you can start building with Compose now in advance of the 1.0 release later this year. New features introduced with the beta include coroutines support, accessibility support for Talkback, and easy-to-use animations, and Compose Beta is supported by the latest Canary of Android Studio Arctic Fox, which also has some new tools. At the same time, JetBrains also announced Jetpack Compose for Desktop: Milestone 3 this week, so there’s lots of news to check out.
  • TypeScript 4.2: The latest version of Microsoft’s static typed JavaScript superset has arrived this week with the release of TypeScript 4.2, adding smarter type alias preservation, leading/middle rest elements in tuple types, and stricter checks for the “in” operator, among other changes. SDTimes offers a brief summary of the new features and notes that “the TypeScript team is also already working on version 4.3 and expects to release the first beta on March 30 and the final release on May 25.”

Feature image by Nick Hillier on Unsplash.

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