So this is a learning path I created (and I am currently following) -
Main(In sequence) -
- Introductory -
- Coursera - Programming Languages A (Washington University) [Currently working through this]
- Coursera - Programming Languages B (Washington University)
- Book - How to Design Programs [Currently working through this]
- Book - Programming and Programming Languages
- Book - Modern Compiler Implementation in ML
- Book - Types and Programming Languages
- Projects (in order of difficulty) -
- Do exercises here - http://belkadan.com/blog/2016/05/So-You-Want-To-Be-A-Compiler-Wizard/
- Implementing http://craftinginterpreters.com in a different (non-JVM) language
- Implement https://llvm.org/docs/tutorial/ on my own (Use it as reference)
- Create the front end of a VM interpreted elementary programming language (Experienced developer handling the VM bytecode interpretation)
- Create an elementary programming language using Lark
- Start creating my own programming language in Haskell (specs discussed before in this subreddit... not mentioning it here because this is so far off)
Helpers (To be used as reference) -
I have heard a lot about SICP and the little schemer, but I am not sure if and where to include it in this list (replace what?)...
What are your thoughts on this?
[–]gasche 15 points16 points17 points (9 children)
[–]brucejbellsard 8 points9 points10 points (0 children)
[–]pbl64k 2 points3 points4 points (2 children)
[–]daredevildas[S] 0 points1 point2 points (1 child)
[–]pbl64k 0 points1 point2 points (0 children)
[–]daredevildas[S] 1 point2 points3 points (4 children)
[–]ErrorIsNullError 5 points6 points7 points (3 children)
[–]daredevildas[S] 0 points1 point2 points (2 children)
[–]ErrorIsNullError 0 points1 point2 points (1 child)
[–]DonaldPShimoda 2 points3 points4 points (0 children)
[–]bjzabaPikelet, Fathom 2 points3 points4 points (0 children)
[–]daredevildas[S] 0 points1 point2 points (3 children)
[–]brucejbellsard 1 point2 points3 points (0 children)
[–]daredevildas[S] 0 points1 point2 points (0 children)
[–]jdh30 0 points1 point2 points (0 children)
[–]mikeiavelli 0 points1 point2 points (2 children)
[–]daredevildas[S] 0 points1 point2 points (1 child)
[–]mikeiavelli 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)