What is Nostr?
atomicpoet / Chris Trottier
npub1s30…nlw5
2025-02-05 20:55:50

atomicpoet on Nostr: One thing I hate about the Web? You need to know three separate programming ...

One thing I hate about the Web? You need to know three separate programming languages, each with wildly different syntax, just to build something relatively simple: a webpage.

"But Chris, you don't need to know CSS or JavaScript! HTML will do just fine!"

Okay, how many times do you visit a website that only uses HTML? Almost never! It's almost always -- always! -- made in HTML, CSS, and JavaScript.

And about that JavaScript, I guarantee a good portion of it is made with a framework like React or Node.js. Why? Because JavaScript is such a pain, it now requires pre-written code just to build a structured foundation of that website.

I can already hear you piping up, "But Chris, the modern web is built on highly complex apps, not the static webpages made in the early 90s! Its complexity is a feature, not a bug. We've evolved better scalability and interactivity as a result"

All right, you know what else can output simple *text* to a file -- but also give you coloured backgrounds, and build you apps? BASIC. Here you go:

```
10 CLS
20 COLOR 15, 1
30 PRINT "Hello world!"
40 END
```

You see that? I just accomplished all that in four lines of BASIC code.

And you know what else is interactive? BASIC again:

```
10 SCREEN 12
20 CLS
30 PRINT "Do you want to see a bouncing ball? (Y/N)"
40 INPUT A$
50 IF UCASE$(A$) <> "Y" THEN END
60
70 X = 160: Y = 100
80 DX = 0: DY = 5
90
100 DO
110 CLS
120 CIRCLE (X, Y), 10, 14
130 Y = Y + DY
140 IF Y > 180 OR Y < 20 THEN DY = -DY
150 SLEEP 1
160 LOOP UNTIL INKEY$ <> ""
170 END
```

Wow! Just now I made a simple interactive program -- with graphical elements too -- with 17 lines of BASIC code.

Yet think about all the many, *many* lines of code that modern web devs use to make something as simple as that -- because I guarantee that a good many people would just use React to make something as simple as "Hello world!" or a basic interactive bouncing ball, and then use 100MB of RAM in the process.

Is JavaScript more scalable than BASIC? Well, I question how scalable something is when it requires *more* lines of code, even with a framework, and guzzles system resources like its Barney Gumble sitting by a barrel of beer.

Am I suggesting that the entire Web be built on some flavour of BASIC? No, not at all. BASIC is built for a local machine, whereas HTML, CSS, and JavaScript are made with a distributed environment in mind -- sending data to a variety of devices with differing screen sizes and resolutions, all with differing accessibility requirements. And even then, you have to consider security.

Believe me, I get it.

Nevertheless, what's simply ridiculous about the modern Web is that it requires so much overhead for what should be a simple thing, and the inefficiency is staggering. Why do we need to overengineer a basic project?

Why do we have this culture of excessive abstraction, bloated dependencies, and unnecessary complexity for something so *simple*?

And it should be a simple thing to build a basic functioning website. You should be able to learn it in one afternoon. You should also be able to accomplish this with one language, not three.

Now I have a lot of hope for WebAssembly. I also think HTMX is pretty darn cool. But what also needs to change is the *culture* of Web development: *everyone* and *anyone* should be able to build a webpage.
Author Public Key
npub1s30wwk7a7999re7nc9rke4ge2hdmxpf08zqxal8g30f79llljumqlnnlw5