ryoblog/src/blog/yet-another-rant-against-bloat/index.md

3.0 KiB

title: Yet another rant against internet bloat, AGAIN! author: 寮 date: 2022-05-18 18:16:48 tags:technology,webdev

I hate to beat the dead horse again and again, but I guess I have to do so once again.
Dependency-based development is the biggest mistake in human history.

Laravel is a framework of PHP.
PHP is a framework of C.
C is a translator for ASSembly.
ASSembly is a translator to machine language.

C can be used almost independently (standard libraries aren't counted as a dependency), PHP can be run pretty much independently as long as the OS it runs on provides the required tools and the PHP compiler/runtime.
But Laravel comes with dependencies, and Laravel (and all other frameworks too) developers have the habit of importing even more dependencies using Composer.
Take 1 gear out, and the entire clock stops.

We already have almost no people left who know machine language.

We have like 2 people on the entire earth who knows ASSembly.

C is no longer taught in schools, and it's dead in most commercial places (it only exists in companies making OS, hardware drivers, and hardware itself, but other than that, no company uses it anymore).

C and PHP are both still somewhat alive among the FOSS devs, but even that is pretty rare these days.

So all coding jobs require you to know Laravel, Zend, CakePHP, and other bloat, I mean frameworks, just to never tough actual PHP.

Why is this bad?
What happens when the developers of all the frameworks would seize to exist while PHP announces PHP 9 or 8.2?
PHP as a language would die in an instant, because only a select few individuals actually know how to make anything at all in PHP.

Much more the case with Javascript and even more so with Python, mind you.
At least PHP is easily fixable by the few people who know how to program in PHP, and much of the PHP code is standard libraries, but JS and Python are both dependency hells, Python breaks the moment 1 dependency or the runtime gets updated, while JS breaks the moment the dependency maker decides to pull out.

For example, moment is extremely commonly used, because JS devs are too lazy to just use the native "Date()" function.
Now moment gets infiltrated by malware, and millions of websites start distributing malware at the same time.
The other day, moment developers decide to quit, and those same millions of websites will fall apart instantly.

CDNs are even worse.
At least NPM packages are installed locally, but CDNs on the other hand, all you need to do is hack CuckFlare, add malware to the Font-Awesome library, and every single websoyte is suddenly going to fuck your computer up, because all websoytes (so about 95% of the current year internet) uses Font-Awesome, and they all tend to use the CuckFlare CDN for that one too.

So if you want to know how to spread malware to as many computers as possible as quickly as possible, I just told you how to do so.

So:

  1. reduce your dependencies to as few as possible, preferrably 0.
  2. host dependencies LOCALLY!!