Hacker News Viewer

30 Years of HPC: many hardware advances, little adoption of new languages

by matt_d on 4/13/2026, 11:45:58 PM

https://chapel-lang.org/blog/posts/30years/

Comments

by: jandrewrogers

I can easily explain this, having worked in this space. The new languages don’t actually solve any urgent problems.<p>How people imagine scalable parallelism works and how it actually works doesn’t have a lot of overlap. The code is often boringly single-threaded because that is optimal for performance.<p>The single biggest resource limit in most HPC code is memory bandwidth. If you are not addressing this then you are not addressing a real problem for most applications. For better or worse, C++ is <i>really</i> good at optimizing for memory bandwidth. Most of the suggested alternative languages are not.<p>It is that simple. The new languages address irrelevant problems. It is really difficult to design a language that is more friendly to memory bandwidth than C++. And that is the resource you desperately need to optimize for in most cases.

4/17/2026, 7:49:13 AM


by: jpecar

All these fancy HPC languages are all nice and dandy, but the hard reality I see on our cluster is that most of the work is done in Python, R and even Perl and awk. MPI barely reached us and people still prefer huge single machines to proper distributed computing. Yeah, bioinformatics is from another planet.

4/17/2026, 8:28:41 AM


by: riffraff

Perhaps one issue lacking discussion in the article is how easy it is to find devs?<p>I&#x27;ve never worked in HPC but it seems it should be relatively simple to find a C&#x2F;C++ dev that can pick up OpenMP, or one that already knows it, compared to hiring people who know Chapel.<p>The &quot;scaling down&quot; factor (how easy or interesting it is to use tool X for small use) seems a disadvantage of HPC-only languages, which creates a barrier to entry and a reduction in available workforce.

4/17/2026, 7:38:15 AM


by: swiftcoder

It&#x27;s interesting that none of the actor-based languages ever made it into this space. Feels like something with the design philosophy of Erlang would be pretty suitable to exploit millions of cores and a variety of interconnects...

4/17/2026, 8:11:35 AM


by: RhysU

&gt; we have failed to broadly adopt any new compiled programming languages for HPC<p>The article neglects that all of C, C++, and Fortran have evolved over the last 30 years.<p>Also, you&#x27;ll find significant advances in the HPC library ecosystem over the trailing years. Consider, for example, Trilinos (<a href="https:&#x2F;&#x2F;trilinos.github.io&#x2F;index.html" rel="nofollow">https:&#x2F;&#x2F;trilinos.github.io&#x2F;index.html</a>) or Dakota (<a href="https:&#x2F;&#x2F;dakota.sandia.gov&#x2F;about-dakota&#x2F;" rel="nofollow">https:&#x2F;&#x2F;dakota.sandia.gov&#x2F;about-dakota&#x2F;</a>) both of which push a ton of domain-agnostic capabilities into a C++ library instead of bolting them into a bespoke language. Communities of users tend to coalesce around shared libraries not creating new languages.

4/17/2026, 10:09:38 AM


by: DamonHD

I used to edit an HPC trade rag in the early 90s, so this was an interesting read!

4/17/2026, 9:31:40 AM


by: crabbone

As someone who worked for a while and still works in HPC, my impression from this field as compared to eg. programming in finance sector or programming for storage sector is that... HPC is so backwards and far behind, it&#x27;s really amazing how it&#x27;s portrayed as some sort of a champion of the field.<p>That&#x27;s not to say that new things don&#x27;t happen there, it&#x27;s just that I find a lot of old stuff that was shown to be bad decades ago still being in vogue in HPC. Probably because it&#x27;s a relatively small field with a lot of people there being academics and not a lot of migration to&#x2F;from other fields.<p>You&#x27;ve probably never heard of `module` (either Tcl or Lmod). This is a staple of HPC world. What this thing does is it sources or (tries to) remove some shell variables and functions into the shell used either interactively or by a batch job. This is a beyond atrocious idea to handle your working environment. The information leaks, becomes stale, you often end up loading the wrong thing into your environment. It&#x27;s simply amazing how bad this thing is. And yet, it&#x27;s just everywhere in HPC.<p>Another example: running anything in HPC, basically, means running Slurm batch jobs. There are alternatives, but those are even worse (eg. OpenPBS). When you dig into the configuration of these tools, you realize they&#x27;ve been written for pre-systemd Linux and are held together by a shoestring of shell scripting. They seldom if at all do the right thing when it comes to logging or general integration with the environment they run in. They can be simultaneously on the bleeding edge (eg. cgroup integration or accelerator driver integration) and be completely backwards when it comes to having a sensible service definition for systemd (eg. try to manage their service dependencies on their own instead of relying on systemd to do that for them).<p>In other words, imagine a steam-punk world, but now it&#x27;s in software. That&#x27;s sort of how HPC feels like after a decade or so in more popular programming fields.<p>Also, a lot of code written for HPC is written the way it is not because the writer chose the language or the environment. The typical setup is: university IT created a cluster with whatever tools they managed to put there eons ago, and you, the code writer, have to deal with... using CentOS6 by authenticating to university&#x27;s AD... in your browser... through JupyterLab interface. And there&#x27;s nothing you can do about it because the IT isn&#x27;t there, is incompetent to the bone and as long as you can get your work done somehow, you&#x27;d prefer that over fighting to perfect your toolchain.<p>Bottom line, unless a language somehow becomes <i>indispensable</i> in this world, no matter its advantages, it&#x27;s not going to be used because of the huge inertia and general unwillingness to do beyond the minimum.

4/17/2026, 9:35:00 AM


by: kevinten10

[dead]

4/17/2026, 8:21:38 AM


by: chinabot

There has been a very big adoption of ENGLISH as a programming language in the last year or so, and, painful as it sounds, AI is already generating machine code without compilers, so let&#x27;s see where we are in 2030.

4/17/2026, 10:00:59 AM