Topics /

Programming Languages

The most popular blog posts about programming languages on Hacker News. 381 posts.

2016
311

A bit of background for the unified C++ call proposal

C++ provides two calling syntaxes, x.f(y) and f(x,y). This has bothered me for a long time. I discussed the problem in the context of multimethods in D&E in 1994, referring back to a proposal by Doug Lea from 1991, and again in 2007. Each of the syntaxes has its virtues, but they force design decisions on people…

313

A Random Walk Through Ada (2014)

So the C programming language has been getting a lot of bad press recently; a really stupid bug in some C code has compromised some of the core security infrastructure on the internet. The fix is easy, but the knock-on effects are going to go on for years and will cost serious amounts of money. As a result, people…

314

A polyglot's guide to multiple dispatch

This is the first article in a series dedicated to multiple dispatch - an advanced abstraction technique available to programmers out-of-the-box in some languages, and implementable in others. This first post in the series presents the technique and explains the problem it intends to solve. It uses C++ as the…

315

APL Tutorial

Interested in learning about APL? Have you heard of this exciting language with strange characters and incredible brevity? Look no further, here you will find an introduction to the language, and even understanding from a historical perspective.

316

Why Go gets criticized so much

Obviously, not everyone hates Go. But there was a [quora question]( https://www.quora.com/Why-does-Go-seem-to-be-the-most-heavily- criticised-among-the-newer-programming-languages?srid=uCiY&share=1) recently about why everyone criticizes Go so much. (sorry, I don’t normally post links to Quora, but it was the…

319

Why Rust's ownership/borrowing is hard

Working with pure functions is simple: you pass arguments, you get a result — no side effects happen. If, on the other hand, a function does have side effects, like mutating its arguments or global objects, it's harder to reason about. But we've got used to those too: if you see something like player.set_speed(5) you…

323

Scala’s Types of Types

This blog post came into being after a few discussions about Types in Scala after some of JavaOne’s parties in 2013. After those discussions I figured that many questions are often repeated by different people, during their learning of Scala. I though that we didn’t have a full list of all tricks what we can to with…

324

How to Name Clojure Functions

This is a guide on naming Clojure functions. There are exceptions to every rule. When you’re defining something based on natural language, there are more exceptions than rules. I break these rules more often than I follow them. This guide is just a starting point for thinking about how to name things.

325

Emacs Bytecode Internals (2014)

Byte-code compilation is an underdocumented — and in the case of the recent lexical binding updates, undocumented — part of Emacs. Most users know that Elisp is usually compiled into a byte-code saved to .elc files, and that byte-code loads and runs faster than uncompiled Elisp. That’s all users really need to know…

327

Strategic Scala Style: Principle of Least Power

The Scala language is large and complex, and it provides a variety of tools that a developer can use to do the same thing in a variety of ways. Given the range of possible solutions to every problem, how can a developer choose which one should be used? This is the first in a series of blog posts aiming to provide…

330

The new and improved Programming Languages Zoo

It is my pleasure to announce the new and improved Programming languages Zoo , a potpourri of miniature but fully functioning programming language implementations. The new zoo has a decent web site, it is now hosted on GitHub , and the source code was cleaned up. Many thanks to Matija Pretnar for all the work.