Topics /
Programming Languages
The most popular blog posts about programming languages on Hacker News. 5,634 posts.
Generics facilitators in Go
Go 1.18 is going to be released with generics support . Adding generics to Go was a multi-year effort and was a difficult one. Go type system is not a traditional type system and it was not possible just to bring an existing generics implementation from other language and be done. The current proposal was accepted…
Why don't more languages offer flow typing?
A brief survey of where flow typing does and doesn't fit, and when it may play a role in other languages.
Rust for Windows 0.9
Rust for Windows v0.9 has recently been released and includes full consumption support, along with several other updates! With completed consumption support, you can now call any Windows APIs (past, present, and futur
Some Lisp books (2012)
caveat: tthis is not a best-of nor a comprehensive list of Lisp books; it is merely a selection of Lisp books you may not have heard of or that special to me in some way. If you find this post interesting then you might like my yearly best-of posts .
Kina Knowledge, using Common Lisp extensively in their document processing stack
Recently, the awesome-lisp-companies list was posted on HN, more people got to know it (look, this list is fan-cooked and we add companies when we learn about one, often by chance, don’t assume it’s anything “official” or exhaustive), and Alex Nygren informed us that his company Kina Knowledge…
PHP Next Generation
PHP is a popular general-purpose scripting language that powers everything from your blog to the most popular websites in the world.
Cursive, an IDE for Clojure and ClojureScript, has reached 1.0
Cursive, the Clojure IDE that understands your code. Advanced structural editing, refactorings, VCS integration and much more, all out of the box.
The Clojure Community and Me
This website is for sale! raynes.me is your first and best source for information about raynes. Here you will also find topics relating to issues of general interest. We hope you find what you are looking for!
How to think about async/await in Rust
(This is a section of the lilos intro guide that people seemed to like, so to increase its visibility, I’m lifting it up into its own post and expanding it a bit. I hope this is a useful companion piece to the post on async debugging I posted this morning.))
Four limitations of Rust's borrow checker
I’ve been using Rust for hobby projects since 2016 and have been working professionally in Rust since 2021, so I tend to consider myself pretty knowledgeable about Rust. I’m already familiar with all the common limitations of Rust’s type system and how to work around them, so it’s pretty rare that I have to “fight the…
Elixir Design Goals (2013)
Highlight of Elixir design goals.
Slimmer and faster JavaScript strings in Firefox
Since Brendan Eich wrote the first SpiderMonkey version in 1995, there have been many, many changes to its internal string representation. New string types like ...
151-byte static Linux binary in Rust
Part of the sales pitch for Rust is that it's "as bare metal as C". 1 Rust can do anything C can do, run anywhere C can run, 2 with code...
Some Notes About How I Write Haskell
I want to say a few words on how I write Haskell as of 2017. Before I go on, I want to make very clear: this is neither a style recommen...
From Stacks to Trees: A new aliasing model for Rust
Since last fall, Neven has been doing an internship to develop a new aliasing model for Rust: Tree Borrows. Hang on a second, I hear you say – doesn’t Rust already have an aliasing model? I...
The Development of the C Language (2003)
C came into being in the years 1969-1973, in parallel with the early development of the Unix operating system; the most creative period occurred during 1972. Another spate of changes peaked between 1977 and 1979, when portability of the Unix system was being demonstrated. In the middle of this second period, the first…
My RustConf 2018 Closing Keynote
I promised two things when I did the closing keynote at RustConf 2018:
It's Go Time On Linux
Some interesting changes related to timekeeping in the upcoming Go 1.3 release inspired us to take a closer look at how Go programs keep time with the help of the Linux kernel. Timekeeping is a complex topic and determining the current time isn’t as simple as it might seem at first glance.
Improving Language Understanding with Unsupervised Learning
Stay up to speed on the rapid advancement of AI technology and the benefits it offers to humanity.
Python's pre-declared constants are kinda weird
python has 6 pre-declared "constants": True , False , None , __debug__ , Ellipsis (or equivalently ... ), and NotImplemented . but they all behave slightly differently, for some reason.