We're writing an online banking service entirely in brainfuck. Backend, frontend, even middleend if we have to
It was best as a silly toy language in the 1990's...
7 months ago by iamdisappoint to c/programmer_humor
We're writing an online banking service entirely in brainfuck. Backend, frontend, even middleend if we have to
It took me a solid half-dozen tries not to pronounce it "mid-leend." After that much effort, I decided to let my dumb brain win and go with it.
Real programmers will write in a way that user’s resources are not being wasted because you need a full browser, a JS runtime, and DOM juggling, to show even the simplest application.
It’s not rare for simple JS applications to consume over half a gigabyte of RAM on startup, and way more CPU than their native counterparts. That this was normalized and even defended is stupid.
I think you’re thinking of Electron apps, but that’s not really a criticism of JavaScript, that’s a criticism of Electron. There are plenty of JS platforms that don’t require a browser/DOM. React Native is the biggest example. Also, GJS if you want native Linux apps.
But why Node? Node cost five seconds just to start up back when I worked on my embedded ARM v7 platform, and on modern x86_64 computers, npx anything takes just as long. Why rely on another runtime? Why not native binaries instead?
Because you have to figure out how to build them. And with that I mean, how do you make sure that whatever you're doing will work and work the same way not only on your "embebbed ARM v7" architecture and all the other CPU architectures, but also the operating system libraries included? How do you make it work the same way on Mac, Windows 7, Windows 11, Ubuntu, custom Arch installations, FreeBSD, etc etc?
If you build native binaries, you personally are the one who has to make sure it runs. This means (depending on how much you want to support) a lot of development or support time. (Or you make your users build it themselves and fix errors, which means a massively reduced userbase, good luck with adoption...)
If you use Node, (or other virtual machines) you literally don't have to do anything, because it just works.
You really don't see the value in that?
More like, no true scotsman
their least favourite hammer brand:

Real carpenters bring their own hammer.
I once had a hammer head get loose and fly off the handle.
But if the screws are nails.
It can't be a programming humor post without somehow even more mind-numbing stuff in the comments. Just part of the fun
Yes and no. "Real" programmers care about engineering choices ; and JS is the cardboard of programming languages.
Perfect for packaging (which in this metaphor is UI), horrible for building a bridge with. And vice-versa, I wouldn't try and make amazon packaging out of reinforced concrete.
JS has saved me many hours of mind-numbing, error-prone manual keyboard work by giving me a way to hack together a simple bit of automation as a web page.
Even when a computer has been ham-fistedly locked-down by an overzealous IT department, I can almost always still access a text editor and a browser that will load local HTML files.
Add to that the beauty of bookmarklets.
It's silly that IT departments forces us to resort to techniques used before browser extensions became a thing, and it's ironic that it's because they don't know how to code, but here we are.
The amount of work I have completed with Tampermonkey in situations like this should have made that same IT department quite anxious.
JSDoc is much more cumbersome than using TypeScript. That's it. It clutters the code in a way that TypeScript somehow avoids. TS types are smoothly integrated in the code itself, IMO. Not as much the case with JSDoc.
It's funny because I learned to program with strongly types languages and when I moved over to JavaScript I always complained about it for the longest time but now that I use mostly typescript at work I kind of miss some of the old JavaScript patterns and their flexibility. But for working with large teams or large projects in general it's nice to have typescript
Feels the same whenever a project is written in python, but I uninstall it too.
I mean, flatpaks are great...
Personally, I find that (complex) software implemented in Python tends to be so unreliable that I typically don't want to use it after all, but I only find that out after wasting a bunch of time learning the software.
It's just frustrating, especially if I come back to the software every so often, naively thinking that it's been a few versions, so maybe they've fixed it. It's always just different bugs, which still end up being too frustrating to use the software.
To give an example, I like to compose music using Lilypond, which is more-or-less a programming language to create sheet music. And there is a program that's supposed to give you a well-integrated workflow for that (i.e. an IDE), called Frescobaldi.
The first time I tried it, playback of the composed music wouldn't work.
The second time, I couldn't click on notes to jump to the respective code snippet.
And I tried it again a few weeks ago and it just crashed immediately with an obscure error message.
Instead, I've slapped together a script, which just opens the sheet music in my PDF viewer, the code in my normal editor and then uses a CLI tools to generate and playback the sheet music. And while it's definitely not perfect, it has been working more reliably for me than Frescobaldi ever has.
I'm going to go with the multiple causes for slowness (and that's interpreted languages in general). In some cases, things might be usable if I weren't on Zen+ still (newer stuff has better IPC among other things).
Things like JIT or no-GIL might reduce that, but I'm not sure that it's that easy to fix (not being default (plus multiple options) seems to complicate bindings even).
Prissy little programmers
JavaScript really depends on the people writing it restricting themselves to a sane (ish) subset, just like C++
My personal gripe with JavaScript is how horribly slow it is. C++ at least has the merit of being fast once compiled. I wouldn't feel great contributing to a JS project knowing fully well that a rewrite in a faster language would be 10x as effective as anything I could improve as is.
That’s funny because I - having not written much C++ - have an irrational hate of the language. But I like JavaScript. I think I need to look at C++ through the same lens I look at JS through.
Imo you can write pretty performant websites in JS. I guess it depends what you’re doing, but e.g. if you pay attention to you’re rerenders in React, you’re gonna have a much better time.
But I also totally understand as soon as you wanna do some compex stuff, JavaScript is not a good time. I don’t think webassembly has worked as smoothly as promised, but in theory, that should let you bring some C++ into the browser.
You know what they say! All Javascripts Toasts Computers!
That would be java i guess
I like minecraft 
If you care this much about JS being cringe I don't trust you to contribute good code to a project anyways
People on here really think the language determines the quality of the project lol
Not determine, but allows. C is a shitty language too. Linux is great because Linus bars off shitty contributors.
I like JavaScript a lot and would be excited by its use in this context.
The Cinnamon desktop environment found in Linux Mint uses JavaScript on the back-end. My knowledge doesn't extend much beyond that (other DEs, and what they do, nor the full extent of JS in Cinnamon), but I did look at it at one point.
Makes me wonder if OP was talking it about that in particular or if there's some other project with a bundled JS interpreter they decided not to work with.
A few lists of javascript WTFs:
To anyone who thinks they know JS well and that its quirkiness is not a problem, let me know how you do on these quizzes:
You’re not wrong, but newer version of the language have steered devs away from these quirks. The quirks remain because the JavaScript language is 100% backwards compatible. It’s fun to laugh at these quirks, but I’ve been a full time JavaScript developer for 4 years and part time since 2015, and I’ve never seen any of these quirks come up in the real world. If you tell your developers to use === instead of == in code review, you eliminate most of the problems imo.
JavaScript tooling deserves more hate imo. The ecosystem is kinda a disaster, but Vite is making a lot of progress in fixing that. If you ignore React Native and metro bundler, I think the state of web is looking pretty optimistic right now. At least from a technology perspective. From a business/AI/enshitification perspective we’re cooked lol
I got a little under half in the first two, which I'm very happy with haha. JS certainly has some quirks, but you've really got to go looking for them IMO. TypeScript resolves most of these issues with comparing types, and the rest aren't that unique to JS.
Invent a new internet where you can script pages directly in Python or TypeScript.
Otherwise, you get to enjoy a silly toy language from the 90's.
I'm 100% sure I can make Rust code (not even compiled to WASM) run natively in a browser like Firefox, given I have enough will power, time, energy, and money. The problem is getting everyone else to agree to this new standard.
In a scripting language, is there an advantage to no garbage collection? (I honestly don't know)
Someone else also pointed out to me, when I made a similar suggestion, that ability to partially fail but keep going is desirable in a web context. I don't know, maybe there's some way to make Rust do that more automatically than C. Python seems the be the standard for general-purpose scripting, which is why I mentioned it.
Kotlin/JS would be my first choice ( ͡° ͜ʖ ͡°)
I'm in this photo and I don't like it.
More specifically, my programming background is in industrial automation and I'd like to add some more 'robust and flexible' algorithms to CoolerControl so I can control my system fans / temperature better, but it's written in a mix of TypeScript and Rust.
I've spent 20 years programming hard real-time z80 assembly and know quite a few higher-level languages. (Although I prefer the lower-level ones.) Not those ones, however, so it's not just a couple of hours work to raise a PR against that project. Going to need to crack some books.
Genuinely curious, how many of you hating on JS have done professional frontend work recently? If you have done professional work, was it part/full time, using TypeScript, how big was your eng team, did you have to worry about Server Side Rendering? Maybe some extra context will show certain types of projects yield devs that hate the language.
I don't know what you mean by supports tray but have you tried KDE connect? It has a lot more features than just sending files but I use it for a few things.
And if you don't care about having GUI, I love miniserve for sharing files. It'll open a web server and you can connect to it to download/upload files.
Localsend is built with Dart/Flutter.
The same but different.
id say it could be worse it could be written in dhtml but that's pretty much better than js these days
Some of the best software is written in JavaScript.
This doesn't really conflict with the post. They use and appreciate the software, so presumably it's decent. You can write good software in any language, so it doesn't prove that the language itself is good. IMO JS is a popular language, not a good language.
I’ve never really found the type conversions that bizarre, unless you’re doing something weird like casting an array to a string or number. I don’t really use strange type casts, since I use TypeScript and avoid using the “==“ operator. What other things make it not good?
Yes, if you do silly things with JS, you generally get silly results instead of TypeErrors. I wouldn’t say that makes the language bad. It makes the language resilient to bad programming, which you’d generally want in the case of web pages.
Well, all websites are written in JS (on the frontend), so I don’t think that’s fair. And I don’t think 90% of the worst software is made in JS. Even if you’re an Electron hater, Electron apps aren’t bad software, they’re just bloated. There’s tons of shit software written in C. I would guess a lot more than is written in JS, just because more software is written in C. C is also way easier to shoot yourself in the foot.
Uptime Kuma (and others) show that JS can be used to make awesome software. The language doesn’t really hold you back, it’s just your own skill. If you suck at writing software, it doesn’t matter what language you use, your software will be shit.
I didn’t say that. You can make great software in Brainfuck, but I don’t think anyone has ever said it is good because of that.
People do make good software in JavaScript. Knowing JavaScript is an exceptionally useful skill, and JavaScript is pretty easy to become decent at. The learning curve for JavaScript is relatively low. As such, there are tons of JS devs, many of which want to make cool things. JavaScript is undeniably an approachable language. Whether you personally think it’s a good language doesn’t have any bearing on that, but that means tons of people are going to use it to make cool software. To me, its approachability is one of the many things that make it good.
Well, all websites are written in JS (on the frontend)
Not true anymore unfortunately, some sites are using frameworks compiled to WASM instead.
e.g. X is apparently using Yew now.
Edit: Ok the "apparently" is doing heavy lifting, since now I can't find the original source I read about it. Turns out "X" is a garbage name with no searchability, only an idiot would use it.
Using only VSCodium in this llist. But not much, because i always have to close it on evening, or the casual game with 300 mods wouldn't run beside it and the webbrowser reserving about half of my 32 GB RAM.
Your VSCodium reserves ~8 GB of ram? You might want to check the extensions you’re using. I’ve got mine running with tons of open files and it’s using ~2 GB.

Also, you should definitely give Immich a try. It’s an awesome piece of software.
VS Code is a good software? I beg to differ. It's slow. It's messy to look at. It's resource hungry.
If you think VS Code is a good editor, we can make an even better editor in another language.
You are comparing it to Eclipse. I also give you that.
@programming.dev
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
go to feed...
@programming.dev
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
go to feed...
Real programmers are language agnostic. Anyways what's the project?
save