Most cited
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 97 posts.
Introduction to Metaprogramming in Nim
Metaprogramming is the writing of computer programs with the ability to treat programs as their data. It means that a program could be designed to read, generate, analyse and/or transform other programs, and even modify itself while running.
LLVM's New Versioning Scheme
Historically, LLVM's major releases always added "0.1" to the version number, producing major versions like 3.8, 3.9, and 4.0 (expected by March 2017). With our next release though, we're changing this.
PowerShell is open sourced and is available on Linux
Today’s customers live in a multi-platform, multi-cloud, multi-OS world – that’s just reality. This world brings new challenges and customers need tools to make everything work together.
Static types in Python
Over the last few years, static type checkers have become available for popular dynamic languages like PHP (Hack) and JavaScript (Flow and TypeScript), and have seen wide adoption. Two years ago, a provisional syntax for static type annotations was added to Python 3. However, static types in Python …
Helix: Rust and Ruby, Without the Glue
Rust + Ruby, Without The Glue. This post is a write-up of the talk I gave at RailsConf 2016. You can find the slides [https://speakerdeck.com/chancancode/turbo-rails-with-rust] here. -------------------------------------------------------------------------------- There's a lot to love about Ruby – the sweet syntax…
Python 3 Is Winning Library Developer Support
https://notebooks.azure.com/library/rJUgQ81mnpo In 3 months, Python 3 will be better supported than Python 2. Are you using Python 3 for your development?
Go 1.7 toolchain improvements
This is a progress report on the Go toolchain improvements during the 1.7 development cycle. All measurements were taken using a Thinkpad x220, Core i5-2520M, running Ubuntu 14.04 linux.
Why I'm Making Python 2.8
For the past two months I've been spending half my time on Tauthon . Tauthon is a backwards-compatible Python interpreter that runs Python 2 code and C-extensions exactly as-is, while also allowing Python 2 programmers to use the most exciting new language features from Python 3. These new backported language features…
Brian Kernighan on the Typesetting of “The Go Programming Language” Book
A while ago, I bought the book “ The Go Programming Language ” written by Alan Donovan and Brian Kernighan. I have always been a fan of Brian Kernighan’s writings. I should admit that I bought the book mainly for his great examples and writings than for the Go language itself, but since then have got interested in the…
A better inliner for OCaml, and why it matters
OCaml 4.03 is branched and a first release candidate is imminent, so it seems like a good time to take stock of what’s coming.
Exponential time complexity in the Swift type checker
One of the most annoying problems in Swift is when the compiler gives an 'Expression was too complex to be solved in a reasonable time' error. I look at why this error occurs, how to avoid it and talk about how this should be solved in a future compiler update.
C++ Has Become More Pythonic (2014)
C++ has changed a lot in recent years. The last two revisions, C++11 and C++14, introduce so many new features that, in the words of Bjarne Stroustrup, “It feels like a new …
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…
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…
Be Careful with Python's New-Style String Format
Some general warnings about the use of str.format in Python.
Why Clojure? (2010)
I have recently become quite an enthusiast for the language Clojure . But why? Why would someone who has spent the last 30 years programmi...
Using Rust for 'Scripting'
Why I might use Rust instead of Python, with walkthroughs for building a simple
“Safe C++ Subset” Is Vapourware
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
A Peek into F# 4.1
Later this year, we’re going to ship a new version of Microsoft’s tools for F#. This will include support for F# 4.1, featuring important incremental improvements to the language that have been developed in conjunction with F# users and contributors. Our tools will also include a cross-platform, open-source F# 4.1…