Resources: Learning web languages the modern way
· 2 minute read
Last updated: Sep 26, 2022
· Published: Oct 18, 2021
Programming languages that are used for web development have changed significantly over the latest years. This means that there exist many old guides that teach outdated knowledge (their solutions generally still work, but often, you “would not do it this way” anymore). For beginners, this is confusing & makes it harder to get a mental model of web development. This document is an attempt to collect resources that teach the respective language the “modern” way.
Example for significant changes: Introduction of
display: gridmodes for creating layouts. Previously, people would use the
floatattribute for this.
- Common CSS Layout Patterns: https://every-layout.dev/layouts/ & https://web.dev/patterns/layout/
- Focus on the design aspects: https://www.refactoringui.com (paid, costs 99$ + tax)
Example for significant changes: Arrow functions &
constvariable types. These changes make scoping (
thisscope & variable scope) much easier. Previously, people would use
this, and generally get confused about
varscope. Life is much better now.
Example for significant changes: PHP got more Java-like (in a good way). We now have types that guarantee type safety even during runtime.
- https://github.com/PatrickLouys/no-framework-tutorial (or the more detailed book Professional PHP, that followed from the GitHub-Tutorial)
Recommendation: Do not bother with virtualenv, pip and
requirements.txtuntil you really know what you are doing. Instead, use the package manager Poetry to install third-party packages. Poetry finally solves most of Python’s packaging & dependency mess.
- Effective Python: 90 Specific Ways to Write Better Python (some code samples here: https://github.com/SigmaQuan/Better-Python-59-Ways)
- Comprehensive Python Cheatsheet
- The Flask Mega-Tutorial
Computer Science in General
Yeah, I know, HTML&CSS are not programming languages. HTML is a markup language & CSS is a style sheet language. But when talking of programming languages in the web, chances are very high that discussion is about these two languages, too. ↩︎
- Customizing my shell: From bash to zsh to fish
- JSON5: JSON with comments (and more!)
- jq: Analyzing JSON data on the command line
- Get Total Directory Size via Command Line
- Changing DNS server for Huawei LTE router
- Notes on Job & Career Development
- Adding full-text search to a static site (= no backend needed)
- Generating a random string on Linux & macOS
- Caddy web server: Why use it? How to use it?
- Tailwind CSS: A Primer