New
The latest blog posts to take off on Hacker News. 133 posts.
Why free monads matter
A tour of free monads and their motivating use cases
Why learning Haskell makes you a better programmer
Lessons learning Haskell It's often claimed that learning Haskell will make you a better programmer in other languages. I like the idea ...
Why C++ Is Not "Back"
There are plenty of excellent developers I know today that still use C++ and teach others how to use it and there is nothing at all wrong with that. So what is the problem then? Why is C++ not "back"?
Graham’s Guide to Learning Scala
From The Archives: This article is one of the all-time most popular posts from my previous blog Graham Hacking Scala. I thought it worth updating and re-printing it here. It’s a pretty widely-accepted view that, as a programmer, learning new … Continue reading →
A Few New Things Coming To JavaScript
I believe the day-to-day practice of writing JavaScript is going to change dramatically for the better when ECMAScript.next arrives. The coming year is going...
Refining Ruby
What does the following code do? If you answered
Brian Harvey: Why SICP matters
In 2011, to celebrate the 150th anniversary of MIT, the Boston Globe made a list of the most important innovations developed there. They asked me to explain the importance of SICP, and this is what I sent them:
The Nature of Lisp
An article about Lisp programming language.
Writing A Lisp Interpreter In Haskell
An article describing the experience of writing a Lisp interpreter in Haskell.
C++11 and Boost - Succinct like Python
C++11 is the new standard of C++ that was released last year. Yes, I know that is now 2012, but compilers are just now starting to catch up and …
JavaScript: Function Invocation Patterns
Web Presense Of Barry Steyn - Software Engineer, Entrepreneur
Such a Little Thing: The Semicolon in Rust
Look at a tiny syntax detail that shows up in current versions of rust that has profound implications on how the language deals with almost everything being an expression.
Scrap your type classes
How to implement type classes in terms of term-level data structures
So You Want To Optimize Ruby
I was recently asked for a list of
Why I think Rust is the "language of the future" for systems programming
This four-post series on Rust is intended to introduce you to the language, to teach you about Rust's cool language features, and to give a...
Reader Q&A: What about VC++ and C99?
I occasionally get asked about whether, or how well, Visual C++ supports C99. This week, I just posted two replies to this questions on UserVoice (merged below). Last fall, I also answered it in an…
Go Bloviations
This post was written sixteen months ago, when fish briefly explored Go with the intention of writing a new command line shell. ( fish abandoned Go after discovering that terminal programming is what makes shells so horrible, and term programming is least horrible in C.)
Why I’m not leaving Python for Go
First of all, Go seems like a great language. It has an excellent tutorial which I joyfully went through and found: Go is Fast. Concurrent by design. Typed (important for JIT and IDE’s) but n…
Ruby’s magic underscore
I discovered today that Ruby treats underscores a little bit differently when it comes to variable names.