Skip to content

Comment on Ask HN: What language to learn after Python?parent

Comments

For personal growth, each of the following will 'expand your mind'. In no particular order:

* Common Lisp, Clojure, or Scheme / Racket (macros[0], functional programming, and unique and minimal syntax)

* Assembly (about as low-level as you can get, so you will really understand what's going on when programs run)

* Prolog (logical programming)

* Forth (stack-based language)

* APL or J (array-based languages and wild syntax)

* C (very similar to other languages but you'd learn pointers and manual memory management, and more open-source projects use C than any of the other languages I've listed, so you'd be able to contribute to projects you find interesting)

And probably Haskell and maybe Erlang but I don't know enough about them.

Other languages have wisely added macros, but I don't know enough about them to suggest any.

The other languages in your list won't expand your mind much after being familiar with those.

[0] The sort of macros I'm referring to aren't simple text-substitution macros as in C and C++. I'm referring to "syntactic macros", which kind of let you add new features to the language. https://en.wikipedia.org/wiki/Macro_(computer_science)#Synta... is very much not the best intro, but I don't have better links handy.)

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.