# 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.