Languages to Think With

We were asked what three languages would you recommend to a new programmer? Instead, we grouped some languages around ways of thinking about computing problems.

To think about objects and functions and their hybridization: javascript, python, ruby

To think about tree structures: jq, css selectors, sparql, cypher, xpath

To think about data flow, and just-get-the-job-done: bash, perl, awk, find, grep, xargs. Unix pipe is surprisingly easy & surprisingly powerful & surprisingly long lived.

Another way to think about data flow: ObservableHQ.

To thing about languages and programming history: lisp, scheme, smalltalk. (That's two dialects of lisp and smalltalk-80. If you go back to smalltalk 72, that's three dialects of lisp.)

To think declaratively: regular expressions, SQL, css selectors, xpath, jq