Why programming languages matter

A colleague asked this question and here is my answer:

Programming gives us the power of the Gods to create things out of pure thought. Programming languages are the incantations and gestures we use to perform this magic.

Unfortunately we got only the power of the Gods, not their wisdom, and so we have created things of vast ugliness and secreted our powers within a cognitive priesthood. Perhaps programming languages could also play a part in solving these problems.

3 Replies to “Why programming languages matter”

  1. Languages are tools we create for ourselves to enable powerful and efficient self-expression.

    Alas, today’s mainstream programming languages are designed only to express “Ugg Bang Rock!” effectively, albeit in the most impressively ridiculous and baroque manner they can.

  2. Have you seen “Eve” by Chris Granger?

    https://www.youtube.com/watch?v=5V1ynVyud4M

    I don’t know if what they are doing is even in the same league as subtext but I think the goals are similar.

    Also, in response to previous posts/comments about React, David Nolan has updated his Om (Om Next now…) library for Clojure. Om Next wraps React and adds immutability and a bunch of remote/local data wrangling protocols that make client side programming much easier and declarative. It builds off of Datomic’s pull syntax to express queries for each component to define the data needed to render. The indexer and resolver work together to transparently retrieve data for each component and tracks what needs to be updated when the data it depends on changes. It was inspired by Falcore (NetFlix) and Relay (Facebook) but improves on both by a wide margin.

    More info here:

    https://github.com/omcljs/om/wiki
    https://github.com/omcljs/om/wiki/Components%2C-Identity-%26-Normalization
    https://github.com/omcljs/om/wiki/Applying-Property-Based-Testing-to-User-Interfaces

    I’m new to subtext so I’m catching up on all the posts. Thanks for all the inspiring work!

Comments are closed.