Skip to main content

The new programming language


When people say that in their experience all programming languages are basically equivalent, they're making a statement not about languages but about the kind of programming they've done.

99.5% of programming consists of gluing together calls to library functions. All popular languages are equally good at this. So one can easily spend one's whole career operating in the intersection of popular programming languages.

But the other .5% of programming is disproportionately interesting. If you want to learn what it consists of, the weirdness of weird languages is a good clue to follow.

Weird languages aren't weird by accident. Not the good ones, at least. The weirdness of the good ones usually implies the existence of some form of programming that's not just the usual gluing together of library calls.

A concrete example: Lisp macros. Lisp macros seem weird even to many Lisp programmers. They're not only not in the intersection of popular languages, but by their nature would be hard to implement properly in a language without turning it into a dialect of Lisp. And macros are definitely evidence of techniques that go beyond glue programming. For example, solving problems by first writing a language for problems of that type, and then writing your specific application in it. Nor is this all you can do with macros; it's just one point in a space of program-manipulating techniques that even now is far from fully explored.

So if you want to expand your concept of what programming can be, one way to do it is by learning weird languages. Pick a language that most programmers consider weird but whose median user is smart, and then focus on the differences between this language and the intersection of popular languages. What can you say in this language that would be impossibly inconvenient to say in others? In the process of learning how to say things you couldn't previously say, you'll probably be learning how to think things you couldn't previously think.







Thanks to Trevor Blackwell, Patrick Collison, Daniel Gackle, Amjad Masad, and Robert Morris for reading drafts of this.
▼ Read More...
CATEGORIES
Home
Essays
H&P
Books
YC
Arc
Bel
Lisp
Spam
Responses
FAQs
RAQs
Quotes
RSS
Bio
Twitter
homeview full site

Comments

Popular posts from this blog

How To Setup an Instagram Business Account For Beginners

 On Instagram, you can convert your personal profile to a business account to access features that can help you grow your business. Note: you may only have 5 Instagram accounts at a time. To switch your profile to a business account: 1 Go to your profile and tap  in the upper right corner. 2 Tap Settings. For some accounts, the Switch to Professional Account option will be listed directly under Settings. 3 Tap Account. 4 Tap Switch to Professional Account. 5 Tap Continue. 6 Select a Category for your business and tap Done. 7 Tap OK to confirm. 8 Tap Business. 9 Tap Next. 10 Add Contact details and tap Next. Or tap Don’t use my contact info to skip this step. 11 If you'd like, you can follow the steps to connect your business account to a Facebook Page associated with your business. This step is optional, and will make it easier to use all of the features available for businesses across the Facebook family of apps. At this time, only one Facebook Page can be connected to yo...

Digital Marketing and Bloggers Academy (DIMBA): The Key to Mastering Digital Success

In today’s fast-paced and ever-evolving digital world, the ability to harness online platforms effectively has become a vital skill for individuals and businesses alike. Whether you are an aspiring blogger, an entrepreneur looking to scale your business, or a professional seeking to enhance your career prospects, the Digital Marketing and Bloggers Academy (DIMBA) is the ultimate destination to turn your goals into reality. Located in the serene Ashongmang Estate, Accra, Ghana, DIMBA stands out as a beacon of excellence in digital education. Owned and operated by the visionary John Gembi Nyamekye, who also owns Johnnybluetv, DIMBA offers unmatched expertise, resources, and mentorship. Why Choose DIMBA? At DIMBA, we don’t just teach; we empower you to thrive in the digital age. Here are some reasons why enrolling in DIMBA could be one of the best decisions of your life: 1. Comprehensive Curriculum DIMBA offers an all-encompassing curriculum that covers: Search Engine Optimization (SEO...