learning resources
- book: How to Design Programs, Second Edition
- Build Your Own Lisp
- "Learn C and build your own programming language in 1000 lines of code!"
basics
- sequence
- selection → if
- iteration → while
rulesets
- "The Power of Ten – Rules for Developing Safety Critical Code" (P10.pdf) by Gerard J. Holzmann, NASA/JPL Laboratory for Reliable Software
project ideas
- Challenging projects every programmer should try by Austin Z. Henley (Dec 11, 2019)
- More challenging projects every programmer should try by Austin Z. Henley (Dec 20, 2020)
- Challenging algorithms and data structures every programmer should try by Austin Z. Henley (Dec 21, 2022)
IDE
Eclipse
Architecture
Onion Architecture
- Codeguru - Understanding Onion Architecture
other
bugs
- Bugzilla (Mozilla) Bug Writing Guidelines
- How to Report Bugs Effectively by Simon Tatham
FizzBuzz
- Wikipedia
- Rosetta Code
- Imran On Tech - Using FizzBuzz to Find Developers who Grok Coding
related: Hiring a Juggler
- Reginald Braithwaite - Hiring a Juggler
progressive enhancement
- Everyone has JavaScript, right?
- UK Gov Digital Service - How many people are missing out on JavaScript enhancement?
- Jake Archibald - Progressive enhancement is still important
Literate Programming
- introduced in 1984 by Donald Knuth
- Wikipedia: Literate programming
- the Eve language
- Blaze by 0atman
- intro blog post: Blaze: A lightweight literate programing preprocessor
ranking by energy efficiency
- The New Stack: Which Programming Languages Use the Least Electricity? (2018-05-20) by David Cassel
- paper by Pereira, Couto, Ribeiro, Rua, Cunha, Fernandes, Saraiva
- DOI: 10.1016/j.scico.2021.102609
- NYU Scholar: Ranking programming languages by energy efficiency - article in the journal "Science of Computer Programming" (2021-05-01)
- Semantic Scholar: Ranking programming languages by energy efficiency
- ResearchGate: Ranking programming languages by energy efficiency
- ScienceDirect: Ranking programming languages by energy efficiency
- other paper
miscellaneous
- Wikipedia: Polish notation
- Wikipedia: Backus-Naur form
links
articles
- Teach Yourself Programming in Ten Years by Peter Norvig
- Pain we forgot (2014-05-17) by Jamie Brandon
- Local state is harmful (2014-02-17) by Jamie Brandon
- EWD 667 - On the foolishness of "natural language programming". by Edsger W.Dijkstra
- Haskell for all - The end of history for programming (2021-04-21) by Gabriella Gonzalez
blog posts
- repost on Greg Lindahl's page - Real Programmers Don't Use Pascal (1983-07-07) by Ed Post
videos
- YouTube - "Boundaries of Language Design" with Andrew Kelley & Ginger Bill (2024-05-27) by Mr. 4th Programming
- YouTube - Code Red: The Business Impact of Code Quality • Adam Tornhill • GOTO 2022 (2023-04-17) by GOTO Conferences
video series
- YouTube - Functional Thinking (2023-08-16) by peppidesu
- YouTube - CS50x 2023 Lectures (2023-07-20) by CS50