Microsoft kills Python 3.7 ¦ … and VBScript ¦ Exascaling ARM on Jupiter

Welcome to The Long View—where we peruse the news of the week and strip it to the essentials. Let’s work out what really matters.

This week: VS Code drops support for Python 3.7, Windows drops VBScript, and Europe plans the fastest ARM supercomputer.

1. Python Extension for Visual Studio Code Kills 3.7

First up this week: Microsoft deprecates Python 3.7 support in Visual Studio Code’s Python extension. It’ll probably continue to work for a while, though (emphasis on the “probably”).

Analysis: Obsolete scripting language is obsolete

If you’re still using 3.7, why? It’s time to move on: 3.12 is the new hotness. Even 3.8 is living on borrowed time.

Priya Walia: Microsoft Bids Farewell To Python 3.7

Growing influence of the Python language
Python 3.7, despite reaching its end of life in June, remains a highly popular version among developers. … Microsoft expects the extension to continue functioning unofficially with Python 3.7 for the foreseeable future, but there are no guarantees that everything will work smoothly without the backing of official support.

Microsoft’s recent launch of Python scripting within Excel underscores the growing influence of the Python language across various domains. The move opens up new avenues for Python developers to work with data within the popular spreadsheet software. However, it’s not all smooth sailing, as recent security flaws in certain Python packages have posed challenges.

Python? Isn’t that a toy language? This Anonymous Coward says otherwise:

Ha, tell that to Instagram, or Spotify, or Nextdoor, or Disqus, or BitBucket, or DropBox, or Pinterest, or YouTube. Or to the data science field, or mathematicians, or the Artificial Intelligence crowd.

Our current production is running 3.10 but we’re looking forward to moving it to Python 3.11 (3.12 being a little too new) because [of] the speed increases of up to 60%. … If you’re still somewhere pre 3.11, try to jump straight to 3.11.6.

The main improvements … are interpreter and compiler improvements to create faster bytecode for execution, sometimes new features to write code more efficiently, and the occasional fix to remove ambiguity. I’ve been running Python in production for four years now migrating from 3.8 -> 3.9 -> 3.10 and soon to 3.11 and so far we have never had to make any changes to our codebase to work with a new update of the language.

And sodul says Python’s reputation for breaking backward compatibility is old news:

Most … code that was written for Python 3.7 will run just fine in 3.12. … We upgrade once a year and most issues we have are related to third party SDKs that are too opinionated about their own dependencies. We do have breaking changes, but mostly we find pre-existing bugs that get uncovered thanks to better type annotation, which is vital in larger Python projects.

2. Windows Kills VBScript

Microsoft is also deprecating VBScript in the Windows client. It’ll probably continue to work for a while as an on-demand feature, though (emphasis on the “probably”).

Analysis: Obsolete scripting language is obsolete

If you’re still using VBScript, why? It’s time to move on: PowerShell is the new hotness—it’s even cross platform.

Sergiu Gatlan: Microsoft to kill off VBScript in Windows

Malware campaigns
VBScript (also known as Visual Basic Script or Microsoft Visual Basic Scripting Edition) is a programming language similar to Visual Basic or Visual Basic for Applications (VBA) and was introduced almost 30 years ago, in August 1996. It … integrates active scripting into Windows environments, and communicates with host applications through Windows Script.

Although not officially explained, Microsoft’s decision to deprecate VBScript is likely … part of a broader strategy to mitigate the increasing prevalence of malware campaigns exploiting various Windows and Office features for infections. Malicious actors have used VBScript to distribute malware, including notorious strains like Lokibot, Emotet, Qbot, and, more recently, DarkGate malware, among others.

Nostalgia ain’t what it used to be. With a teary eye, here’s whoopdedo:

I’m a bit nostalgic about this. Not because of VBScript … but because of ActiveState which provided Perl, TCP, and Python interpreters that worked with Windows Script Host. I could create and call COM interfaces plus the CPAN library to pick from.

It was part of the OLE dream that users would have lots of small scripts automating their component-oriented workflows. What we got instead was cargo-cult coding and innumerable vulnerabilities because—to borrow a phrase from the IoT folks—the ‘S’ in COM/OLE stands for security.

The only constant is change. xzelldx predicts lots of fun for DevOps and IT:

This is going to break things weirdly. … I can imagine that this is going to turn into a mini Y2K problem of sorts, where most people won’t know this hits something until it does. … Now I get to run a .vbs search and figure out what uses what and if I can get the person who owns it to understand the problem.

3. World’s Fastest ARM Supercomputer

Those sneaky Europeans are planning an incredibly fast supercomputer. And it runs on ARM chips.

Analysis: ExaFLOPS ahoy

Arm’s Neoverse designs appear to be really attractive to HPC builders. It’s also the basis for the AWS Graviton3. As ever, it’s all about performance per Watt.

Ryan Whitwam: Exascale Supercomputer Will Run on ARM

Early 2024
One of the world’s most powerful supercomputers will soon be online in Europe, but it’s not just the raw speed that will make the Jupiter supercomputer special. Unlike most of the Top 500 list, the exascale Jupiter system will rely on ARM cores instead of x86 parts. … When complete, Jupiter will be near the very top of the supercomputer list.

Jupiter is a project of the European High-Performance Computing Joint Undertaking (EuroHPC JU), which … has opted to go with SiPearl’s Rhea processor … based on ARM architecture. … Rhea is based on ARM’s Neoverse V1 CPU design, which was developed specifically for high-performance computing (HPC) applications with 72 cores. It supports HBM2e high-bandwidth memory, as well as DDR5, and the cache tops out at an impressive 160MB.

The system will have Nvidia’s Booster Module, which includes GPUs and Mellanox ultra-high bandwidth interconnects. The group has not announced which Nvidia chips … but the current-gen H100 seems like a safe bet. … Assembly could start as soon as early 2024.

The only constant is change (I might have mentioned that earlier). Darinbob explains the move away from x86:

In peak parallel or supercomputing times, the x86 families were OK, but not great. … Times have moved on, but it seems the reason people use Intel x86/64 compatible chips for supercomputers is because that’s all anyone knows anymore.

The modern chips have problems in super computers: The CPU in your PC is actually a big stack of chips with multiple layers, there’s a lot there that gets in the way of performance and it’s there for compatibility, etc. … The modern x86-64 CPUs are RISC machines, they’re just hidden behind a CISC dominatrix.

Some of the reason GPUs get used a lot of this is because the design (and programming!) of GPUs is oriented highly towards optimized calculations, not general purpose fluff, web apps, etc. The massive pipelining, superscaling, and vector processing are built in—exactly the components you want with supercomputing.

But is ARM ready for classical DevOps? Here’s customizable’s personal experience:

We moved multiple PostgreSQL servers including a large one using 32 vCPUs to the equivalent ARM based instances, and the performance was about the same, but of course ARM instances are less expensive.

The Moral of the Story:
So long, and thanks for all the fish

[You’re fired—Ed.]

You have been reading The Long View by Richi Jennings. You can contact him at @RiCHi, @richij or [email protected].

Image: @flaviewxvx (via Unsplash; leveled and cropped)