Topics /
Programming Languages
The most popular blog posts about programming languages on Hacker News. 5,634 posts.
If monads are the solution, what is the problem?
Monads have exerted a curious fascination on programmers who turn to Haskell. The incomprehension of the newbies is matched in intensity onl...
Java sealed classes and exhaustive pattern matching
Java 17 introduced sealed classes, which allow you to explicitly list the allowed sub-types of an interface or base class. For example, here’s a toy example using a sealed interface and records (in…
Understand Go pointers
This post is for programmers coming to Go who are unfamiliar with the idea of pointers or a pointer type in Go.
Eurydice: a Rust to C compiler
Perhaps the greatest surprise of the last two years was, for me, the realization that people not only care about compiling C to Rust (for obvious reasons, such as, ahem, memory safety) – they also care about compiling Rust to C! Wait, what?
Nim in 2020: A Short Recap
A lot has happened in the Nim world in 2020: two new major releases, two new memory managements strategies (ARC and ORC), the first Nim conference, and much more.
The Notion of “Trolling” in Ancient Sanskrit
May 12, 2019 @ 4:36 am · Filed by Victor Mair under Language and philosophy , Logic , This blogging life
Official Go support
Go library for the Stripe API. . Contribute to stripe/stripe-go development by creating an account on GitHub.
Next C compiler is a D compiler: Introducing DMD's ImportC
In my never ending quest to have oksh support every C compiler in existence, I sometimes find C compilers in places you wouldn't expect them. Today, I'd like to demonstrate the C compiler built into the Digital Mars D compiler, or DMD for short. Recent versions of DMD have a complete C11 compiler built in named…
Asynchronous Programming in Python: Asyncio
If you have decided to learn the asynchronous part of Python, here is an “Asyncio”. You will observe some examples and notice our point of view about it.
Introducing HTTP Tracing
How to use Go 1.7's HTTP tracing to understand your client requests.
Multiple vulnerabilities in RubyGems
There are multiple vulnerabilities in RubyGems bundled by Ruby.It is reported at the official blog of RubyGems.
Why not just do simple C++ RAII in C?
Ever since I finished publishing the “defer” paper and successfully defended it on its first go-around (it now has tentative approval to go to a Technical Specification, I just need to obtain the necessary written boilerplate to do so), an old criticism
What Pythonistas Think of Ruby
Trusted by 23,000+ organizations, Pluralsight is the online tech learning platform for building AI, cloud, data, and security skills with courses and labs.
Zig 0.7.1 Released – 69 bugs fixed
Zig is a general-purpose programming language and toolchain for maintaining robust , optimal , and reusable software.
Red Lang goes blockchain
Here we are, ready to leap into the future. This is a new page opening in the Red history book. It is a great day for us to finally be able ...
Bringing Asm.js to Chakra and Microsoft Edge
A couple of months back, we announced that we had started development on Asm.js. Support for Asm.js has been one of the top 10 most-requested items at the Microsoft Edge Developer Suggestion Box on UserVoice since we launched it in December 2014. Since that time, we’ve made good progress, and in Windows 10 Insider…
I wrote a string type
I write compilers for fun. I can’t help it. Consequently, I also write a lot of parsers. In systems programming, it’s usually a good idea to try to share memory rather than reuse it, so as such my AST types tend to look like this.
The design side of programming language design
The word design is often used when talking about programming languages. In fact, it even made it into the name of one of the most prestigious academic programming conferences. Yet, it is almost impossible to come across a paper about programming languages that uses design methods to study its subject. In this article…
Clojure 1.11 planning
Tales of Developing Clojure
Why we need to know LR and recursive descent parsing techniques
A couple of people have asked me for my thoughts on part of an article from Tiark Rompf called (roughly) “ Just Write the Parser ” which advocates the use of recursive descent parsing over more “formal” approaches to parsing, at least in the context of teaching compilers. I’m fairly sure I read this article a couple…
See Python, See Python Go, Go Python Go (2016)
Andrey Petrov is the author of urllib3, the creator of Briefmetrics and ssh-chat, and a former Googler and YCombinator alum. He’s here to tell us of a...
Let's write a compiler, part 1: Introduction, selecting a language, and planning
I think we all knew this might be coming once we finished up with our assembler . While we can in theory solve any computable problem by writing the appropriate assembly for our assembler, writing assembly code can be a bit more cumbersome than a high-level language. There is a reason why we did not write our…
Introducing Incremental
I’m pleased to announce the release of Incremental (well commented mli here), a powerful library for building self-adjusting computations, i.e., computations...
Cheating the Reaper in Go
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: