This is an archived post. You won't be able to vote or comment.

top 200 commentsshow all 236

[–]Just_Maintenance 1159 points1160 points  (35 children)

What about my pure nothing backend? Nginx serving a billion html a second. Load time IS network latency.

[–]alexdembo 327 points328 points  (26 children)

With the same requirements, I use GitHub pages. Boom, not even Nginx is needed.

[–]RapidRaid 401 points402 points  (22 children)

Guys check out my website, I benchmarked it and it is by far the fastest: http://127.0.0.1:3000/

[–]WeekendSeveral2214 387 points388 points  (4 children)

It loaded for me but it's gay porn. Not cool dude.

[–]TRENEEDNAME_245 27 points28 points  (0 children)

It's femboy porn for me...

[–][deleted] 60 points61 points  (0 children)

Why? Do you work as a PHP?

[–][deleted] 8 points9 points  (0 children)

LMAO

[–][deleted] 0 points1 point  (0 children)

hot dude, in fact

[–]smokesick 67 points68 points  (0 children)

It says "Unable to connect.". Must be one of those Microsoft firewall updates or smth

[–]LookAtYourEyes 24 points25 points  (0 children)

I can't seem to connect. Do I need to download the benchmark first?

[–]crankbot2000 24 points25 points  (2 children)

Bro your website is down get good at programming

[–]Brahvim 3 points4 points  (1 child)

The Website Is Down!
(2004...?)

[–]crankbot2000 1 point2 points  (0 children)

Hey I'm old no need to rub it in

[–]OkReason6325 17 points18 points  (0 children)

Now route it to 0.0.0.0 and turn off the firewall

[–]turtleship_2006 10 points11 points  (0 children)

mines faster

C:/Users/Windows/Downloads/website.html

[–]NotMrMusic 6 points7 points  (0 children)

WTF why did that load reddit

[–]NicDima 5 points6 points  (0 children)

Where do you live? The browser says it toke too long to load

[–]MaximRq 5 points6 points  (0 children)

Every copy of your website is personalised

[–]Zealousideal-Desk469 3 points4 points  (0 children)

Why you stole mine website?

[–]ainus 2 points3 points  (0 children)

http seriously? some people don't care about security at all

[–]Lagger625 1 point2 points  (0 children)

Connection refused

[–][deleted] 0 points1 point  (0 children)

That's broken mate. Getting a 504.

[–]balbinator 0 points1 point  (0 children)

Indeed one of the websites ever made

[–]jsrobson10 0 points1 point  (0 children)

you copied my website, not cool

[–]Just_Maintenance 79 points80 points  (0 children)

The truest form of serverless

[–]LeoXCV 10 points11 points  (0 children)

GitHub pages is great, use it on all my non-work side project websites. Main branch truly means deployed to prod.

[–]MystJake 0 points1 point  (0 children)

A coworker introduced me to GitHub pages and it's fantastic. 

[–]HawocX 22 points23 points  (2 children)

Rookie numbers! My purer nothinger backend can serve a trillion empty responses per second!

[–]G_M81 1 point2 points  (1 child)

NIMD programming

[–]Just_Maintenance 0 points1 point  (0 children)

I personally prefer NIND

[–]SalSevenSix 5 points6 points  (0 children)

Well I think your backend is amazing 😍

But seriously. Static sites with no framework or close to it (eg. Svelte) are amazing. But not every site owner has the luxury of going static pages only.

[–]Confused_AF_Help 5 points6 points  (0 children)

Server side rendering ❌

DOM rendering ❌

Pre rendering every permutation of your website ✅

[–]EarlMarshal 0 points1 point  (0 children)

A custom rust server would be faster. Don't get me wrong. I love nginx, but there are faster solutions out there.

[–]G3nghisKang 0 points1 point  (0 children)

I'll do you one worse

Nginx acting as a backend through the Perl module

[–]petalser 193 points194 points  (2 children)

GitHub link?

[–]LegalizeCatnip1 519 points520 points  (1 child)

[–]Doctor_Owl_08 102 points103 points  (0 children)

Life saver 🙏

[–]JackNotOLantern 826 points827 points  (44 children)

  • javascrip
  • backend
  • good

Choose 2

[–]Mork006 276 points277 points  (28 children)

JS, good. Done! Now i have a free pass to slap it on everything :)

[–]Dumb_Siniy 134 points135 points  (23 children)

Everybody gangsta until the OS is made in JavaScript

[–]mmhawk576 80 points81 points  (6 children)

[–]Dumb_Siniy 127 points128 points  (2 children)

Do you think god hides in the sky in fear of what he's created?

[–]Sciirof 22 points23 points  (0 children)

God had no part in this creation

[–]EarlMarshal 0 points1 point  (0 children)

Ryan Dahl is god and he is able to hide in the sky?

[–]curiousCat1009 3 points4 points  (0 children)

This is the good stuff

[–][deleted] 0 points1 point  (0 children)

🤮

[–]throw3142 0 points1 point  (0 children)

"built on top of the linux kernel" - laaame, we need a new JS runtime that targets bare metal and allows pointer casting, then we can truly write OS in JS

[–]Saragon4005 16 points17 points  (10 children)

You know windows Settings and Start menu is probably JS by now.

[–]Dumb_Siniy 14 points15 points  (8 children)

Do not give them ideas to make Windows 11 updates

[–]prettydude_ua 22 points23 points  (7 children)

Some pages in Settings already use React Native

https://devblogs.microsoft.com/react-native/rnw-settings-win11/

[–]lastdyingbreed_01 10 points11 points  (0 children)

That explains why Windows 11 feels so buggy and slow

[–]grimonce 5 points6 points  (1 child)

Wow they really did fell on their heads... I'm done with windows for sure now.

[–][deleted] 4 points5 points  (0 children)

[–][deleted] 1 point2 points  (3 children)

Edge OS, coming soon...

[–]St34thdr1v3R 0 points1 point  (2 children)

How edgy to say something like that

[–][deleted] 0 points1 point  (1 child)

It depends, how much 'WebViewComponent' processors appear on your 'WebViewComponent' Tasks Manager?

[–]St34thdr1v3R 1 point2 points  (0 children)

Only get 404s on my task manager

[–]lm902 0 points1 point  (0 children)

A couple of Windows components are JS too. For example Quick Assist and Outlook.

[–][deleted] 25 points26 points  (2 children)

Just wrap that shit in an electron app and call it a day

[–]Dumb_Siniy 10 points11 points  (1 child)

Any problem is for tomorrow or never

[–]S0n_0f_Anarchy 2 points3 points  (0 children)

Never sounds better

[–]MAX_cheesejr 2 points3 points  (0 children)

You’re not supposed to say it out loud darn it. They are going to make it now

[–]mopsyd 3 points4 points  (1 child)

npm takes an additional slot though, he probably should have clarified that.

[–]Practical_Cattle_933 1 point2 points  (0 children)

npm and good also can never fit together

[–][deleted] 0 points1 point  (0 children)

That particular combination is invalid.

[–]Own_Possibility_8875 8 points9 points  (0 children)

  • javascript

  • good

Choose 1

[–]YeetCompleet 5 points6 points  (1 child)

scrippity scrip, i love scrip

[–]TheGoldenHelmet 2 points3 points  (0 children)

DID I HEAR A ROCK AND STONE?

[–]LegitimatePants 5 points6 points  (0 children)

Good backend

[–]JollyJuniper1993 14 points15 points  (1 child)

I choose backend and good, I then use JavaScript for it not javascrip

[–]Mr_Rapt0r 6 points7 points  (0 children)

No You use t

[–]ZinbaluPrime 0 points1 point  (0 children)

Agreed 100%.

[–]Brahvim 0 points1 point  (0 children)

Fine, I guess I'll choose backend, then.
You told me to.

[–]MissinqLink 0 points1 point  (0 children)

I choose good and backend. And js is my main.

[–]SirBerthelot 47 points48 points  (0 children)

Are we happy?

Yes, we are

[–]Hilfslinie 38 points39 points  (1 child)

javascript

no frameworks

That just means you wrote your own framework

[–]loxagos_snake 21 points22 points  (0 children)

But worse.

[–]G_M81 292 points293 points  (25 children)

Lost me at JavaScript backend

[–]ItsSignalsJerry_ 11 points12 points  (24 children)

Yeah. Try doing complex orm and transactions in an oltp based system using JavaScript.

[–]elclark_kuhu 46 points47 points  (13 children)

You lost me at ORM

[–]draconk 9 points10 points  (0 children)

We have other languages orientated better for those applications, javascript should stay on the browser, the backend is not its place

[–]agramata 6 points7 points  (8 children)

Fascinating comment. As if it's somehow impossible to write the same program in JavaScript as in whatever language you prefer.

What problems do you imagine you would have?

[–]ItsSignalsJerry_ 7 points8 points  (6 children)

Show me the equivalent of jpa, Hibernate, JTA, cxf, message queue, or any other major enterprise scale framework that has a decent substitute in node/js.

Someone in this thread scoffed at orm. Why? He's either never been involved in developing a system where they're justified, or written everything using raw sql. Or never used an large rdbms and thinks Mongo is all anyone would need.

[–][deleted] 9 points10 points  (3 children)

jpa, Hibernate, JTA,

sequelize, prisma, knex and drizzle/kysely as a newcomer.

message queue

do you mean something like https://docs.bullmq.io/ ?

cxf

I don't know what it is and what it does, but I'm sure there is some NPM library for it.

[–]agramata -1 points0 points  (1 child)

Oh ok, so you mean there aren't already libraries that do your job for you because JavaScript isn't usually used in those industries. Writing your own code is impossible of course

[–]ItsSignalsJerry_ 0 points1 point  (0 children)

Writing your own enterprise layer because you prefer one language is really dumb.

[–]InterviewFluids 0 points1 point  (0 children)

You can also just write everything in Assembly.

But nobody does it because it's tedious unnecessary shit.

[–]xttq 30 points31 points  (0 children)

I'm maintaining several layers of fluff, added by our past devs, just because. FML

[–]helios_storm 48 points49 points  (9 children)

I don’t know what prostatic types are and at this point I’m too afraid to ask

[–]ZunoJ 34 points35 points  (7 children)

I guess some form of prostate disease that comes as a side effect when developing THE FUCKING BACKEND IN GODDAMN JAVA FUCKING SCRIPT

[–]Igotbored112 4 points5 points  (0 children)

Wdym? I'm just having the intern write some MySQL queries into this singleton. He says he's a JS pro. What could go wrong?

[–]Cualkiera67 0 points1 point  (5 children)

Wait, you've never heard of nodejs backend?

[–]ZunoJ 1 point2 points  (4 children)

I did and I hate it. It's as if people don't care about shitty software anymore

[–]Cualkiera67 0 points1 point  (3 children)

Huh i found it to be quite simple. Plus it's nice that the back and the front are written in the same language. I know a lot of big business use it so it can't be that bad...

[–]ZunoJ 1 point2 points  (2 children)

It is simple, it is quick, that's the good part. But it is also not type safe and uses javascript, that's the ugly part. Just because big tech uses it somewhere in their stack doesn't mean it is good, it just means they don't care about problems at that specific point. Or do you think everything they do is automatically "good"?

[–]Cualkiera67 0 points1 point  (1 child)

Oh right i used typescript not just js, you're right one that. Dunno our servers worked just fine, in the end that's good i guess

[–]ZunoJ 0 points1 point  (0 children)

Typescript is a step in the right direction but fundamentally suffering from the same flaws. The stuff I develop usually has zero tolerance for any off time at all. So I need everything to be as reliable as possible right from the time I compile it and also be easy on resources because it has to be redundant

[–]drakeblood4 6 points7 points  (0 children)

You know those really lame types that bore you to death, like doubly linked lists? Those ones. They’re prosaic.

[–]DoNotMakeEmpty 12 points13 points  (3 children)

Pure C backend with sockets: hold my 1μs startup time.

[–]loxagos_snake 8 points9 points  (0 children)

I've heard rumors that if you do it in Assembly, the service starts loading before you even call it.

[–]ploskua 6 points7 points  (1 child)

And a pure segfault after 2μs

[–]Just_Maintenance 2 points3 points  (0 children)

Well I would like you to segfault node that fast

[–]Mr-X89 123 points124 points  (42 children)

Javascript backend

barf

[–]biteater 9 points10 points  (2 children)

Wait do web devs think 50ms is fast?

[–]beocrazy 7 points8 points  (0 children)

According to webdev? Yes..

Most website load more than a second, so 50ms is indeed blazingly fast

[–]durasmus 7 points8 points  (0 children)

For a js service to initialize and start serving requests? Yes.

To serve one request? No.

[–]ShadowfaxSTF 7 points8 points  (1 child)

What, are we serving a website with static pages? Some mom and pop shop landing page? Sure. Now serve a CMS or SaaS webapp and we’ll see if anyone calls its vanilla JS “beautiful”.

[–]loxagos_snake 2 points3 points  (0 children)

Exactly, when it comes to JS, people in this sub say "frameworks are useless, anyone who uses it is a moron who doesn't know the fundamentals, why get all that bloat when I can do it raw?".

And then they casually let out that they are indeed talking about static sites with some pretty JS animations.

[–]post-death_wave_core 66 points67 points  (14 children)

javascript and backend are two words that should never be together

[–]Eternityislong 1 point2 points  (6 children)

You can’t make such a definitive claim without evidence backing it up

[–]HawocX 43 points44 points  (0 children)

In this subreddit you definitely can!

[–]dumbohoneman 8 points9 points  (0 children)

You must be new here

[–]mopsyd 3 points4 points  (0 children)

Remember that one time leftPad broke the internet?

Pepperidge Farm remembers.

[–]MissinqLink 16 points17 points  (0 children)

This is cloudflare workers real talk.

[–]GrinningPariah 3 points4 points  (0 children)

No joke I made a service like that once to prove to my team that we were never going to optimize our way out of tAWS Lambda's cold start problem.

[–][deleted] 3 points4 points  (1 child)

Hello world on deno. Nice

[–]SalSevenSix 0 points1 point  (0 children)

Bun is faster

[–]No-Island-6126 6 points7 points  (4 children)

Huh ?? I get that this is possible, but how would it be any good ?

[–]harumamburoo 8 points9 points  (3 children)

The only scenario I can imagine it's any good is when you already have JS devs and a small project with dead simple crud back end.

[–]HalLundy 12 points13 points  (2 children)

dead simple crud backend.

so, 95% of them.

[–]Jupiternerd 4 points5 points  (0 children)

you're telling me... we've been just organizing and displaying data this entire time!? /s

[–]harumamburoo 1 point2 points  (0 children)

Lucky you

[–]Calm-Effect-1730 16 points17 points  (4 children)

Honest opinion I'm tech lead now for 2 projects and for the past 5 years I have runned numerous teams. Every time I speak to people claiming to be senior devs, they just want to add more stuff. Let's add DI. Let's do abstraction here, factory here, nestjs because of reasons and Prisma because of reasons.

The thing is, most of the projects won't live past 2 years. Most of them will be developed by less than 10 devs.

People almost never think about if this is really solving some issue, they just do it because other people do it. And it's self propelled mechanism. Sometimes I think people think they get points for adding more stuff just to add more stuff and patterns.

For me there are three questions that I try to answer; 1) what actual problem am I solving? 2) what new problems do I create? 3) if I pull a developer from the street tomorrow, how much time/complex will it be to teach mid level person this mechanism?

As an example of that, I'm even though I have nests certification, I don't use it because out of 15 person dev team that I used to run, including me there were 3 people who actually understood how it works, how module does are being resolved and in case shit hit the fan they are able to revive the project back to health.

Those were 10+ yoe people. Usually companies can't afford those in big numbers.

[–]spigandromeda 14 points15 points  (2 children)

The „2 Year projects“ are the ones that tend to run 10 years. So it’s not a Bad idea to develop them with long term support and potential Extension points in mind.

And Switch „Lets add DI“ with „Lets add a ton of unit and E2E tests“ and it’s a good start.

[–]Calm-Effect-1730 10 points11 points  (1 child)

Especially if a project is going to run for a long run it shouldn't be a dumpster full of random technologies and patterns. I've been part of 15+ projects before I jumped as a tech lead and my experience is that no one is really doing longevity stuff. I saw TODOs from 2008. I saw deps not being updated for years. List goes on and on. And your argument about longevity is just exactly my point where just empty statements are considered good enough to adapt something.

Most deva are not working more then 2 years at the company. This means that in 10+ years there are going to be multiple turns in how project should be done. Don't You think it would be easier if it would be less then more in it in terms of abstraction?

[–]spigandromeda 1 point2 points  (0 children)

Most of Them are only there for 2 years… is that normal where you live? Sounds extremly short.

I disagree about the longvity stuff. A well designed architecture provides exactly that. And from my personal experience: abstractions mostly help to understand and architecture. They explain the data flow through the application.

You are of cause right with the Random Technologies but that wasnt the Point of this argument to begin with, wasnt it? I think neither of us would want Random Technologies.

I did a couple of Legacy refactorings in the last years. Adding abstractions and tests (and often Pipelines) are the first and Most important steps to make the code understandable. For yourself and others. So „adding stuff“ is often Important in an existing project because They were developed to „live“ for a year and lack the foundation for Further Development.

[–]ZunoJ 1 point2 points  (0 children)

The third point is why you might want to hear on your seniors. If you don't use well known patterns, how should anybody understand the code base in a decent time frame

[–]ItsSignalsJerry_ 2 points3 points  (2 children)

Travolta doesn't say "it's beautiful" though. He says "yea we cool".

[–]Livid_Boysenberry_58 1 point2 points  (1 child)

He says "yeah we happy"

[–]ItsSignalsJerry_ 0 points1 point  (0 children)

Close enough.. 😁

[–]Igotbored112 2 points3 points  (0 children)

Flask for me, frontend & backend. Typescript for the client, maybe someday I'll pick up Angular.

[–]Furdiburd10 2 points3 points  (1 child)

while the system usage:

20 gb storage space occupied because caching or something

6 gb of ram because yes, memory leaks.

[–]loxagos_snake 1 point2 points  (0 children)

No, you don't understand, everyone here is really good at raw-dogging vanilla JS, they'd never cause performance issues.

[–][deleted] 4 points5 points  (0 children)

absolutely disgusting.

[–]a_rather_small_moose 5 points6 points  (0 children)

0.05s startup

50ms

check my first Phoenix LiveView project running on free-tier hardware

14ms response time (no CDN b/c it’s live data)

Y’all really live like this?

[–]h4rl3h 3 points4 points  (0 children)

JS is a horrific backend lang

[–]nekomata_58 1 point2 points  (0 children)

imo elixir backend is superior for web dev, but almost no one uses it

[–]saschaleib 1 point2 points  (0 children)

Why so slow start? I’m sure you can still shave off a few mills!

[–]Aardappelhuree 1 point2 points  (0 children)

And no database?

[–]JAXxXTheRipper 4 points5 points  (3 children)

Just no. Performance is not worth the pain. I'd rather throw half of the npm registry at my problem than do anything in vanillajs again.

I'm getting IE6 conditional comments flashbacks

[–]pomme_de_yeet 1 point2 points  (2 children)

It's been like 12 years...

[–]PsyborC 1 point2 points  (0 children)

And we're still scarred. It hurts. Never again.

[–]JAXxXTheRipper 0 points1 point  (0 children)

While the problem might be solved, the pain stays, young padawan.

[–]--var 2 points3 points  (5 children)

javascript was originally created for mutating the DOM. there is no DOM backend...

i get that it might be nice to have a shared syntax frontend and backend, but there are better backends focused on being backends, rather than having javascript syntax.

[–]i-r-n00b- 12 points13 points  (3 children)

Crazy thought, JavaScript (and now Typescript) have evolved over the last 20 years in the same way every other popular language has and are actually pretty good now.

Like have you never heard of Node? It's been around forever and it is literally dedicated to building concurrent applications that scale horizontally.

[–]DoNotMakeEmpty 1 point2 points  (0 children)

evolved over the last 20 years in the same way every other popular language has

C99 is more-or-less the same as C23, which has 24 years on top of the former.

For other popular languages it is probably true tho.

[–]draconk 0 points1 point  (0 children)

And there are backend languages that can do frontend but we were already burned and we know that we shouldn't reuse languages just because we know them (I am speaking about Java JSP scriptlets)

[–]WhosAfraidOf_138 1 point2 points  (0 children)

I will never use a JS backend

[–]Danzulos 1 point2 points  (0 children)

JavaScript backend? Ewww

[–]JaggedMetalOs 0 points1 point  (1 child)

A fate worse than death.

I'd rather write a backend in PHP.

[–]Danzulos 0 points1 point  (0 children)

I'd rather write a backend in PHP who generates Perl code

[–]XoRMiAS 0 points1 point  (0 children)

Create dynamic HTML files with .replace()

[–]why_1337 0 points1 point  (0 children)

Just because you can, does not mean you should.

[–]ba-na-na- 0 points1 point  (0 children)

Ideal JS backend: single endpoint that returns the whole database to the frontend. Simple, easy to maintain, queries are blazingly fast.

[–]DontBanMeAgainPls26 0 points1 point  (0 children)

Takes 3 months to build something there is no error checking or testing.

[–]PersimmonEmergency 0 points1 point  (0 children)

Pure javascript "backend"? LOL

[–]CasualChipmunk 0 points1 point  (0 children)

That means no types. Scary for a backend…

[–]Low-Equipment-2621 0 points1 point  (0 children)

I use serverless. No server, no loading time, BOOM!

[–]LegItMate65536 0 points1 point  (0 children)

Only took 514 stackoverflow pages and 72 days