Code
Here is a collection of notes about programming languages, frameworks and other coding tools.
It's not meant to be a documentation nor a learning support (there's already plenty of that). Consider it a blend of resources and quick reference guides, meant to jog your memory.
You will more like find:
- An overview of the basics
- Some tips, tricks and specific hacks
- Resources, links and documentation
Languages categories
Programming languages
- Programming languages are:
- a set of instructions
- written in human-readable form
- compiled in machine-level language (assembly, binary, etc).
- It's usually fast and efficient, but it need to be compiled each time a developer update the code.
- Analogy: you need to bake a pizza from an italian recipe. Someone give you a translated version. If the recipe change, the interpreter needs to translate the new version before giving it to you.
- Examples: Java, C, C++, C#
Scripting languages
- Scripting languages are interpreted instead of compiled
- It's simple and execution is in real-time, but it's usually slower and less efficient than programming languages.
- Analogy: you need to bake a pizza from an italian recipe. Someone sits next to you and give you the instructions. The interpreters can adapt the recipe in real-time, but it's slower to tell you rather than you read it yourself.
- Examples: Javascript, PHP, Python, Perl
Markup languages
- Markup languages are used to present and describe in a structural way.
- Don't contain logics or algorithm.
- Usually used in web.
- Analogy: the pizza is already baked, you just need to write the menu.
- Examples: HTML, CSS,XML
NOTE
Compared to programming/scripting language, markup languages are not Turing-complete.
Resources
Docs
- devdocs.io – Collection of documentations
- devhints.io – Collection of cheatsheets
- free-for.dev – Collection of free stuff
- roadmap.sh – Collection of roadmaps
Research & Analysis
- ossinsight.io – Insights on repos and Github events
- grep.app – Search code across repos
Fonts
- programmingfonts.org – A collection of font suited for coding
Learn
- Crafting Interpreters by Bob Nystrom – Online book to create your own scripting language