4 ms·
Start with Python because it's relatively easy and makes sense. [Learn Python the Hard Way](http://learnpythonthehardway.org/book/ http://learnpythonthehardway.
by slang800 11y ago
Start with Python because it's relatively easy and makes sense. [Learn Python the Hard Way](http://learnpythonthehardway.org/book/ http://learnpythonthehardway.org/book/) is a good resource.
After you've got a Python project under your belt, learn JavaScript because pretty much every programmer will need to use JS at some point. [MDN](https://developer.mozilla.org/ https://developer.mozilla.org/) is a good reference for JS, CSS, and HTML. W3Schools is a terrible resource and should be avoided.
Finally, learn a LISP (like Clojure/ClojureScript) because it will expand the way you think about programming and learn at least one lower-level language (like Rust or C / C++).
You should also learn Bash or Zsh as you go. I wouldn't recommend shell-scripting languages for large projects, but they are immensely useful for tasks like file manipulation, and you will need to know how to work with a terminal for system administration tasks.
- kim0 11y agolisp or Haskell, which one expands the mind more. I mostly only have time to learn one
- dllthomas 11y agoC, Lisp, OCaml, and Haskell were all revelatory experiences as I learned them in roughly that order. I'm not sure Lisp would have been, post Haskell - but I'm not at all sure it wouldn't have been. OCaml probably wouldn't have been, post Haskell (except probably for the module system). I'm not sure where that leaves you, but one anecdote richer in perspective... At this point I do find myself caring quite substantially more about expressive types than about code generation, which would argue for Haskell being more important.