# Programming Languages
My favourite kind of language. I like all the languages I have tried, and of course especially those I've gotten deeply into.
See also [[Programming Language Theory]]
Languages I have worked with extensively:
- [[Javascript]], [[Typescript]]
- [[C]]
- [[C++]]
- [[Common Lisp]]
- [[golang]]
- [[Java]]
- [[PHP]]
- [[Python]]
- [[SQL]]
Languages I have used a bit:
- [[Lua]]
- [[bash]]
- [[Mathematica]]
- [[R]]
- [[Standard ML]]
- [[Haskell]]
- [[Scheme]]
- [[Assembly]]
- [[BASIC]]
Languages I have caressed:
- [[Coq]]
- [[Ocaml]]
- [[Clojure]]
- [[Racket]]
- [[CSharp]]
- [[Forth]]
- [[VHDL]]
- [[Prolog]], [[Datalog]]
Languages I don't know but would like to learn more about:
- [[Erlang]]
- [[Elm]]
- [[Eff]]
- [[FSharp]]
## ZK
- [[ZK Tools trump language design for practical programming]]
## Books
- [[BOOK - Structure and Interpretation of Computer Programs - 2nd Edition - Harold Abelson Gerald Jay Sussman Julie Sussman]] has a chapter for building a scheme evaluator + compiler
### Books by [[Shriram Krishnamurthi]]
- Second edition of PLAI (accompanies the course below): [Programming Languages: Application and Interpretation](http://cs.brown.edu/courses/cs173/2012/book/index.html), main page being: [Welcome! | plai](https://www.plai.org/), there is a third edition in the works but I couldn't find anything linking to it.
## Courses
- [Programming Languages: On-Line Offering: Lecture Notes & Videos](http://cs.brown.edu/courses/cs173/2012/Videos/) (see PLAI second edition above) by [[Shriram Krishnamurthi]]
## Links
- [1602.00602] Virtual Machine Warmup Blows Hot and Cold](https://arxiv.org/abs/1602.00602) is about [[Programming Languages]], and how benchmarking [[JIT]] based languages doesn't really pan out / nor are repeatable.