Why Haskell is beyond ready for Prime Time
I’ve read a few comments about why Haskell is awesome. I even wrote an ironic blog post about it. Today I’m going to explain why I use Haskell for doing real work, entirely in terms of …
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 3,709 posts.
I’ve read a few comments about why Haskell is awesome. I even wrote an ironic blog post about it. Today I’m going to explain why I use Haskell for doing real work, entirely in terms of …
In June of this year, I spent a few hours formulating a dynamic cousin to Duby. Duby, if you don't remember, is a static-typed language with Ruby's syntax and Java's type system. Duby supports all Ruby's literals, uses local type inference (only argument types *must* be declared), and runs as fast as Java (because it…
In information theory, entropy is the measurement of the amount of randomness in a probability distribution. It's defined as In my code, it'...
Scheming is Believing Stevey's Drunken Blog Rants™
Order lexapro - LOWEST PRICES ON THE WEB, We Accept Visa and Mastercard Credit Cards
Robert leads large and complex firms through mission-critical Digital Transformations with a focus on Artificial Intelligence and Cloud Engineering. As a Presidential Innovation Fellow at Barack Obama's White House , Robert reformed digital services across the Federal Government, resulting in millions of veterans…
In November 2001 I gave an invited talk at the inaugural Lightweight Languages conference that has since become somewhat notorious (in netspace, it is said to be “ kickassing genial ”).
Here is some practical evidence: According to the most recent 2002 North American Developer Survey by Evans Data Corporation, over half the developers surveyed are using Java. About 1/7 of developers surveyed are using C#. Roughly half of those also use Java, so the fraction of surveyed developers using one or both is…
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 is defined to be a safe language. Indices into array or string references must be in bounds; there is no way to reinterpret the bits of one type as another, no way to conjure a pointer out of thin air; and there is no way to release memory, so no chance of “ dangling pointer ” errors and the associated memory…
A common problem I see in object-oriented design is: A wizard is a kind of player. A warrior is a kind of player. A staff is a kind of weapon. A sword is a kind of weapon. A player has a weapon. Bu…
I've written previously about the problem recursive descent parsers have with expressions, especially when the language has multiple levels of operator precedence.
Generic data structures (vectors, queues, maps, trees, and so on) seem to be the hot topic if you are evaluating a new language. One of the most frequent questions we've had about Go is where the generics are. It seems like there are three basic approaches to generics:
A lot of people remarked that in my post on Tail Recursion Elimination I confused tail self-recursion with other tail calls, which proper T...
A tour of free monads and their motivating use cases
May 2002 "We were after the C++ programmers. We managed to drag a lot of them about halfway to Lisp." - Guy Steele, co-author of the Java spec In the software business there is an ongoing struggle between the pointy-headed academics, and another equally formidable force, the pointy-haired bosses. Everyone knows who…
Recently we (Felix, Niko, and I) have been working on getting compiler-level GC support for Rust. The plan is to provide a base set of APIs and …
The typestate pattern is an API design pattern that encodes information about an object’s run-time state in its compile-time type . In particular, an API using the typestate pattern will have:
(This article has been translated into Spanish (PDF, with some additions) by Jorge Amado Soria Ramirez — thanks!) Preface I’m cranky. I complain about a lot of things. There’s a lot in the world of technology I don’t like, and that’s really to be expected—programming is a hilariously young discipline, and none of us
I recently posted an entry in my Python History blog on the origins of Python's functional features . A side remark about not supporting ta...