this post was submitted on 25 May 2024
-1 points (0.0% liked)

Programming

17416 readers
83 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS
 

JavaScript is a language that's easy to learn and has a gorillion features shoehorned in, to varying degrees of success. If you're relatively new to programming (just got done learning Python/Java) there's bound to be something new that you learn from JavaScript due to all its extra added features. Though these extra features are cool, over time you will slowly learn of the flaws that JavaScript has, and you will begin to associate "easy to learn with cool features" as the worst mistake that the language made. So, surely the answer must be to reduce how easy things are to learn. You will start to worship anything that excludes the less experienced and has cool features - for example Haskell or JS Frameworks - and you will denigrate solutions that seem too "simplistic and dirty". You will point to examples like C or Adobe Flash, citing that they have must have security vulnerabilities because they're accessible and so stupid people must be creating footguns with them. You will completely neglect the ways in which they're poorly designed and you will completely ignore the positives of both. Fundamentally, you will refuse to acknowledge that it's possible for software to be accessible and to be designed well at the same time.

Today, the internet is a dumpster precisely because of this false equivalency. It would be easy for Google to remove the guardrails from WebAssembly in some sort of public testing version of Chromium, allowing WASM to support fun little runtimes with 10x the safety of Flash. Artists could use software packages similar to the old Adobe Flash suite in order to make cool things again, expanding beyond the Neocities pages that are currently trendy. Over time, we could improve WASM environments to be incredibly safe, have interesting specialized runtimes and make super cool creations, a development model which basically already worked with HTML and CSS. But, because people still think accessible === vulnerable, we will never have that, and so every site will have the same hyperminimalistic slop look, and artists will be pushed onto the same shitty platforms to do nothing exciting in formats that have existed for centuries.

Programmers learned the wrong lesson in the 00s - that everything needs to be gatekept to protect people from themselves. The actual lesson was that designing things properly can let anyone make anything. Sure, the DOM doesn't satisfy people's need today, but it used to be excellently designed for its task - that's why it could let anyone build something amazing

top 7 comments
sorted by: hot top controversial new old
[–] emptiestplace@lemmy.ml 1 points 5 months ago (1 children)

This is the worst second-hand embarrassment I've experienced in quite a while. I can't imagine working with someone like this.

[–] FizzyOrange@programming.dev 1 points 5 months ago

I mean... let's just hope he isn't doing this professionally.

[–] UnfortunateShort@lemmy.world 1 points 5 months ago

If you gonna rant, please make it at least comprehensible. You went from "JS is flawed" to "everyone is wrong these days" within three paragraphs like wth.

I also highly disagree with your premise that people think 'simple is bad'. Things that are complicated are usually complicated for a reason. C++ for example is complicated, because it grew over decades. Rust is complicated, because it tries to be secure, capture mistakes at compile time, while allowing for concurrency and memory management, and at the same time be very efficient and give the programmer much control. It's hard if not impossible to achieve all these goals in a language without making it complicated.

Go on the other hand is not complicated, because Google engineers saw C++ and wanted to make something less complicated - and thus they created a simpler language. This is an example that goes directly against your argument, together with many other modern languages and frameworks that were created for reasons like this. But notably and more importantly, the most popular languages are simple. Python, JS/TS, Java - These languages are all relatively easy to use.

I won't pretend that I get you bit about WASM since I have little experience with it, but as far as I understand it is primarily a vehicle allowing to use programming languages for the web that weren't designed for it. And as far as I'm aware you can do quite sophisticated things with it, so where exactly is the problem? Putting guardrails in place is rarely a bad thing, because they are easy to remove but hard to establish retroactively.

[–] wesker@lemmy.sdf.org 1 points 5 months ago

If you're relatively new to programming (just got done learning Python/Java)

I've been working in python for 6 years and am always learning new things.

Whatever is the opposite of imposter syndrome, I think you have it.

[–] SatouKazuma@ani.social 1 points 5 months ago (1 children)

Easy to learn? Sir, who's your dealer because they're selling you some strong stuff...

[–] MicrowavedTea@infosec.pub 1 points 5 months ago (1 children)

"C is accessible" is not something I expected to read today

[–] marcos@lemmy.world 1 points 5 months ago

"People complain about C's security issues because it's too easy to learn" was absolutely not on my bingo card either.

The same for "Javascript frameworks exclude the less experienced".