this post was submitted on 10 Sep 2023
470 points (97.8% liked)
Asklemmy
43159 readers
1530 users here now
A loosely moderated place to ask open-ended questions
Search asklemmy ๐
If your post meets the following criteria, it's welcome here!
- Open-ended question
- Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
- Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
- Not ad nauseam inducing: please make sure it is a question that would be new to most members
- An actual topic of discussion
Looking for support?
Looking for a community?
- Lemmyverse: community search
- sub.rehab: maps old subreddits to fediverse options, marks official as such
- [email protected]: a community for finding communities
~Icon~ ~by~ ~@Double_[email protected]~
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Needless complexity in software is something that gets on my nerves, especially on the web. We went from simple HTML to such a bloated mess that only like 2 web browsers can manage to keep up with it. I mean, does a web browser really need to do everything? Why use an office suite written in JavaScript in a web browser when there are native programs you could use?
As someone who makes websites for work, I agree
As someone who used to, I also agree
if the 'big three' have their way, it won't be a browser to do 'everything', it'll be individual apps instead. where they control everything, including ads and trackers and data collection, instead of in a browser where users at least have some control. but yea, where it's possible or expected, an 'app' should have a standalone application to install or run available. and knock it off already with 'apps' that are basically just wrappers around a 'mobile-first' web page. apps should do something other than just browse your damn web site.
The big three killed my baby
It goes deeper than you think. Frameworks like Angular are used everywhere. So you not only have an abstraction of the underlying language (Typescript compiles down to Javascript), but you have additional abstractions like the virtual DOM. Basically, Angular acts like a go between from the code you write and the end result webpage. It makes both writing complex interactions and debugging a major pain.
And this is more being done for even simple websites now. It's the equivalent of building a small garden shed with a kitchen, fridge, furnace, bedroom, bathroom, insulation, etc.
It's so overkill nowadays.
Standards based thin clients, basically. It's not exactly a bad thing, but I do get your frustration. I still like working with tiny little static sites.
Mostly though, JavaScript is also just trash. The only language we transpile because working in the vanilla version is so miserable.
Surely you mean Typescript? Plain Javascript is as vanilla as you can get on the web (aside from plain plain HTML).
TS is basically a JS extension, but no, I meant JavaScript. Webpack, esbuild, babel, and probably a dozen others were not originally built for TS.
I'm trying to understand what you meant by "The only language we transpile because working in the vanilla version is so miserable."
ok
Just "ok"?
The statement "the only language we transpile" is just wrong. Java is a language that we (usually) transpile.
Then there's LLVM, and how the frontend transpiles a language into an IR before being sent to a backend that targets a hardware architecture.
I think they meant the only language we transpile to for the express reason that working with it directly is so unpleasant.
Java is not transpiled to another language intended for human use, it's compiled to JVM bytecode.
People don't usually develop software directly in the IR of LLVM. They do develop software using vanilla JavaScript.
The fact the Turbo PR caused so much drama earlier this week says it all about JavaScript really. And it's my daily driver ATM. I'd rather be using PHP. Yes, you read right. At least they're fixing the duck typing.
https://motherfuckingwebsite.com/
https://ultimatemotherfuckingwebsite.com/
I agree with you. But with how fractured the software and hardware space has become. Building native is expensive and time consuming.
For example a web browser is compatible with x86 amd64 armv7 aarch64 on any OS from Windows, Linux, Mac OS, iPad/iOS, and Android.
Which means that if I make 1 web page, I can support all these platforms at once.
The customer doesn't care, they just want funny cat pics.
Building native requires both the hardware (especially if you need to build for the walled garden known as iOS), and frameworks. Where its just easier to recompile chrome, and bake in a Web Page, I.e. react native
I help maintain Etherpad and this cuts so deep.
The main counter-argument I have is restrictive installation policies especially in Edu/bluechip IE you can do whatever the fuck you want in the sandbox that is your web browser but if you want to install some software you have to wait 4 weeks for approval then another 4 weeks to get approval for each update.
Also security updates/patches for native applications can be really shitty especially on Microsoft inflicted devices.. For example, if you want to update Inkscape on Windows you have to do a whole download/install process. This can lead to security related issues..