Resources: Learning web languages the modern way

334 words · 2 minute read
Last updated: Feb 5, 2024 · 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.

HTML&CSS1

Example for significant changes: Introduction of display: flex & display: grid modes for creating layouts. Previously, people would use the float attribute for this.

JavaScript

Example for significant changes: Arrow functions & let/const variable types. These changes make scoping (this scope & variable scope) much easier. Previously, people would use .call() and .bind() for scoping this, and generally get confused about var scope. Life is much better now.

PHP

Example for significant changes: PHP got more Java-like (in a good way). We now have types that guarantee type safety even during runtime.

Python

Recommendation: Do not bother with virtualenv, pip and requirements.txt until 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.


Computer Science in General


  1. 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. ↩︎