Hacker News with Generative AI: Programming Languages

Programming in D: Tutorial and Reference (ddili.org)
Curry: A functional logic programming language (curry-lang.org)
Curry is a declarative multi-paradigm programming language which combines in a seamless way features from functional programming (nested expressions, higher-order functions, strong typing, lazy evaluation) and logic programming (non-determinism, built-in search, free variables, partial data structures).
Show HN: StackHound - Stop guessing repo's tech stack, analyze it in seconds (vercel.app)
The standard GitHub API provides information about programming languages used in repositories, but it often lacks the granularity to identify specific frameworks and technologies.
New C++ features in GCC 15 (redhat.com)
The next major version of the GNU Compiler Collection (GCC), 15.1, is expected to be released in April or May 2025.
Nothing Janky About This New Programming Language (thenewstack.io)
mruby 3.4.0 (mruby.org)
We are announcing the first stable release of mruby 3.4 series - mruby 3.4.0.
Microsoft subtracts C/C++ extension from VS Code forks (theregister.com)
Microsoft's C/C++ extension for Visual Studio Code (VS Code) no longer works with derivative products such as VS Codium and Cursor – and some developers are crying foul.
Why C#? (techworld-with-milan.com)
I might have been skeptical if someone had told me years ago that C# would become my programming language of choice for most projects.
Ubuntu 25.10 Replaces GNU Coreutils with Rust Uutils (altusintel.com)
John Sieger (Jon Seager), Vice President of Canonical in Zanonical and the technical leader of the Ubuntu project, presented the initiative to replace system detle in the Ubuntu for analogues written in RUST.
C++26: more constexpr in the core language (sandordargo.com)
Since constexpr was added to the language in C++11, its scope has been gradually expanded. In the beginning, we couldn’t even use if, else or loops, which were changed in C++14. C++17 added support for constexpr lambdas. C++20 added the ability to use allocation and use std::vector and std::string in constant expressions. In this article, let’s see how constexpr evolves with C++26. To be more punctual, let’s see what language features become more constexpr-friendly.
Link-Time Optimization of Dynamic Casts in C++ Programs [pdf] (ist.utl.pt)
Elements of Clojure (elementsofclojure.com)
This book tries to put words to what most experienced programmers already know. This is necessary because, in the words of Michael Polanyi, "we can know more than we can tell."
Does using Rust make your software safer? (tweedegolf.nl)
We keep saying that Rust is how we make software safer. In this blog, we'll tackle a real-world vulnerability, 'rewrite it in Rust', and show you the results of our empirical research, both as a high-level overview and a tech deep-dive.
Understanding Memory Management, Part 5: Fighting with Rust (educatedguesswork.org)
This is the fifth post in my planned multipart series on memory management. You will probably want to go back and read Part I, which covers C, parts II and III, which cover C++, and part IV, which introduces Rust memory management. In part IV, we got through the basics of Rust memory management up through smart pointers. In this post I want to look at some of the gymnastics you need to engage in to do serious work in Rust.
RubyKaigi: Empowering Developers with HTML-Aware ERB Tooling (speakerdeck.com)
ERB tooling has lagged behind modern web development needs, especially with the rise of Hotwire and HTML-over-the-wire. Discover a new HTML-aware ERB parser that unlocks advanced developer tools like formatters, linters, and LSP integrations, enhancing how we build and ship HTML in our Ruby applications.
Algebraic Semantics for Machine Knitting (uwplse.org)
As programming languages researchers, we’re entitled to a certain level of mathematical rigor behind the languages we write and analyze.
Swift 6.2: A first look at how it's changing Concurrency (avanderlee.com)
Swift 6.2 is the upcoming release of Apple’s native language. It’s currently in active development, and as you know from my weekly Swift Evolution updates, many proposals are currently being processed.
Hell: Shell Scripting Haskell Dialect (chrisdone.github.io)
This is a copy of the script that generates my blog.
Cheating the Reaper in Go (mcyoung.xyz)
Even though I am a C++ programmer at heart, Go fascinates me for none of the reasons you think. Go has made several interesting design decisions:
Adding keyword parameters to Tcl procs (world-playground-deceit.net)
Two things that really annoy me with some programming languages: the lack of keyword (optional, always named and order agnostic) parameters and when the language has a builtin feature not made available to the user.
Pipelining might be my favorite programming language feature (herecomesthemoon.net)
Pipelining might be my favorite programming language feature.
Python’s new t-strings (davepeck.org)
Template strings, also known as t-strings, have been officially accepted as a feature in Python 3.14, which will ship in late 2025. 🎉
Falsify: Hypothesis-Inspired Shrinking for Haskell (2023) (well-typed.com)
Consider this falsify property test that tries to verify the (obviously false) property that all elements of all lists of up to 10 binary digits are the same (we will explain the details below; hopefully the intent is clear):
Verus: Verified Rust for low-level systems code (github.com/secure-foundations)
Verus is a tool for verifying the correctness of code written in Rust.
Things Zig comptime won't do (matklad.github.io)
Zig’s comptime feature is most famous for what it can do: generics!, conditional compilation!, subtyping!, serialization!, ORM! That’s fascinating, but, to be fair, there’s a bunch of languages with quite powerful compile time evaluation capabilities that can do equivalent things. What I find more interesting is that Zig comptime is actually quite restrictive, by design, and won’t do many things! It manages to be very expressive despite being pretty limited. Let’s see!
Let's give PRO/VENIX a barely adequate, pre-C89 TCP/IP stack, featuring Slirp-CK (blogspot.com)
Let's give PRO/VENIX a barely adequate, pre-C89 TCP/IP stack (featuring Slirp-CK)
Language Showcase: Lux (2022) (compilerspotlight.substack.com)
Lux is a purely-functional and statically-typed lisp that pushes the boundaries of what's possible in terms of meta-programming.
Things Zig Comptime Won't Do (matklad.github.io)
Zig’s comptime feature is most famous for what it can do: generics!, conditional compilation!, subtyping!, serialization!, ORM! That’s fascinating, but, to be fair, there’s a bunch of languages with quite powerful compile time evaluation capabilities that can do equivalent things. What I find more interesting is that Zig comptime is actually quite restrictive, by design, and won’t do many things! It manages to be very expressive despite being pretty limited. Let’s see!
Pike – a dynamic programming language with a syntax similar to Java and C (lysator.liu.se)
This is the official Pike language web site. If you are new to Pike you can start off by reading about what Pike really is. After that you might want to learn the language itself.
Why do we need Q#? (microsoft.com)
Why do we need Q#?