Most cited
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 35 posts.
The Lisp Curse
The expressive power of Lisp has drawbacks.
Kay on the Meaning of "Object-Oriented Programming"
Dr. Alan Kay explains when "object-oriented" was first used and what it means. []
Beyond Exception Handling: Conditions and Restarts
One of Lisp's great features is its condition system. It serves a similar purpose to the exception handling systems in Java, Python, and C++ but is more flexible. In fact, its flexibility extends beyond error handling--conditions are more general than exceptions in that a condition can represent any occurrence during…
The Roots of Lisp
(I wrote this article to help myself understand exactly what McCarthy discovered. You don't need to know this stuff to program in Lisp, but it should be helpful to anyone who wants to understand the essence of Lisp � both in the sense of its origins and its semantic core. The fact that it has such a core is one of…
Dynamic languages are static languages
While reviewing some of the comments on my post about parallelism and concurrency, I noticed that the great fallacy about dynamic and static languages continues to hold people in its thrall. So, i…
(An ((Even Better) Lisp) Interpreter (in Python))
The tokens #t and #f are the True and False literals, respectively. The single quote mark serves to quote the following expression. The syntax ' exp is completely equivalent to (quote exp ) . The backquote character ` is called quasiquote in Scheme; it is similar to ' except that within a quasiquoted expression, the…
The Next Big Language
Dylan? C# 3? Perl 6? Does it have deterministic destructors, even as blocks like Python 2.5? Generics? A powerful macro system? Even as described it sounds like magic, but not a moment too soon.
Parallelism is not concurrency
In an earlier post I mentioned that one goal of the new introductory curriculum at Carnegie Mellon is to teach parallelism as the general case of computing, rather than an esoteric, specialized sub…
Things that amuse me
I think the only serious gripe is what you call your biggest gripe, and I must say that I envy this in Haskell. As you know, in the eager world we tend to write out our own recursive functions, rather than use combinators. You give part of the reason; the other part is that deforestation and related transformations…
Code Like a Pythonista: Idiomatic Python
The home of pythonistas
The context sensitivity of C's grammar
Context free grammars (CFGs) are a valuable theoretical tool on which the modern compilation theory relies for parsing the code of programming languages. For example, the most popular tool used for parsing – YACC , generates parsers for CFGs. What most people don’t know 1 is that the vast majority of programming…
Joel Spolsky: Can your programming language do this?
One day, you’re browsing through your code, and you notice two big blocks that look almost exactly the same. In fact, they’re exactly the same, except that one block refers to “Sp…
Thoughts on Python 3
My current thoughts on the state of Python 3 and where it’s heading.
How to read Haskell like Python
Have you ever been in the situation where you need to quickly understand what a piece of code in some unfamiliar language does? If the language looks a lot like what you’re comfortable with, you can usually guess what large amounts of the code does; even if you may not be completely familiar how all the language…
Amount of profanity in git commit messages per programming language
Andrew Vos's personal site
A better introduction to Objective-C
Khám phá những chuyển động mới nhất của thể thao thế giới với tin tức, sự kiện, giải đấu, màn trình diễn ấn tượng và câu chuyện nổi bật từ nhiều bộ môn hấp dẫn.
Perlis Languages
A language that doesn’t affect the way you think about programming is not worth knowing. – Alan Perlis
Python and the Principle of Least Astonishment
Why Python follows the Principle of Least Astonishment even when some people are surprised.
Thoughts on porting NumPy to PyPy
Last weekend, I attended GitHub's PyCodeConf in Miami Florida and had the opportunity to give a talk on array-oriented computing and Python....
Programming With Nothing: FizzBuzz in the lambda calculus in Ruby
I love Ruby! I’ve used it every day for years and I’m not sick of it yet. It’s an easy language to love: it’s expressive, flexible and syntactically beautiful ; it has a unique combination of useful features like mixins , metaclasses and blocks ; it comes with a useful core library and comprehensive standard library …
JavaScript is Not Web Assembly
Writing and Stuff from Isaac Z. Schlueter
Yammer moving from Scala to Java
Following up on my recent Scala posts , some commented that because I haven't used Scala seriously, my opinion is of little value. I respo...
Elements of Modern C++ Style
“C++11 feels like a new language.” – Bjarne Stroustrup The C++11 standard offers many useful new features. This page focuses specifically and only on those features that make C++11 really feel like…
Brendan Eich on Ecma TC39, JavaScript.next, and Google Dash
I spoke at TXJS , a really excellent regional JS conference, in June. Thanks to @SlexAxton , rmurphey , and everyone else involved. My talk was concerned with the good, bad, and ugly of Ecma TC39 (and I mean those words in the best possible way!), mixing philosophy with historical events from the last 14 years.
Compiling Clojure to javascript pt 1
this is the first entry in an n-part series explaining the techniques and design principles of ClojureScript . translations: [ 日本語 ]
The Problem with Implicit Scoping in CoffeeScript
A longer explanation of why I think that the CoffeeScript scoping is problematic and should be changed.