Live data from Hacker News

Developing a Modern Full-Stack Application: Choosing the Right Tech Stack

isultan.bearblog.dev

21–30 of 117 posts

Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack

#21
post #11

Earlier quoted context omitted.

Node.js backend performance is comparable to Java. Perhaps you had bad developers - trust me, if they screwed it up so bad they wouldn't be able to make your Java backend any faster, and probably couldn't get Go or Rust to work at all.

Go is perhaps the simplest language to learn there is. It's almost impossible to not get it to work because it has so few things you can actually do. And nodejs only preforms well in hello world benchmarks, real world applications are nothing like that. Once you start having to manipulate large arrays or do any large amount of math nodejs preformance goes into the dumpster.

I have never seen a glorified CRUD backend suffering from array or math operations. What kind of backend are we talking about?

Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack

#22
post #14
post #10

Earlier quoted context omitted.

This sounds weird to me. What kind of scale / traffic did you have? Must be incredible read write heavy with millions of users? I'm saying this because i myself have, and lots i know, have launched production sites with 100s of thousands of users on ready-made stacks like, Laravel, Rails, Flask (Php, Ruby, Python). But it's my impression that these fall short on millions of users and enormous concurrent traffic, but…

That's why you shouldn't use slow backend technologies in the first place because you get to the point where you need preformance and it's impossible because your limited by extremely slow runtime you chose initially because it was flashy (not even easier to developer for) when you could have just chosen something better from the start. Simple crud apps can get by fine with those technologies, but in the future I'd s…

What kind of application are you talking about? I agree to a degree but we haven't run into performance issues with say 100k users, what traffic did you handle, what was the business case?

Again sounds like you are running some complex math heavy operation like say a weather service, national taxi service with lots of pathfinding, a global gaming platform etc?

Curious to know what exactly you are talking about here? Because normally you just outsource the "heavy stuff" to some remote API, service, etc. you can write in a hyper efficient language anyway.

Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack

#23
post #13

"In many ways, I think I picked a great stack to move quickly and ship things. However, considering all the time spent debugging some of issues that stemmed from using more cutting edge infra providers, next time I'll more carefully consider setting up parts of my infra with a more traditional solution like AWS." That right there is the rationale behind the "Choose Boring Technology" movement: https://boringtechnolog…

Tend to agree, though I don't always practice it. Boring is also subjective, even if it's a metaphor for mature.

The same sort of arguments could be said for "choose what you know", "choose what you understand", "choose what you can hire for", "choose what you can afford".. the list goes on.

Like most things in life there are no cheat codes.

Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack

#24
post #13

"In many ways, I think I picked a great stack to move quickly and ship things. However, considering all the time spent debugging some of issues that stemmed from using more cutting edge infra providers, next time I'll more carefully consider setting up parts of my infra with a more traditional solution like AWS." That right there is the rationale behind the "Choose Boring Technology" movement: https://boringtechnolog…

I can't believe AWS is considered boring technology now. I don't know whether to feel old or cry on my dedicated servers.

It really depends on which parts of AWS you're using. Spinning up a bunch of EC2 instances and treating them like colo'ed servers has pretty much always been boring (other than the excitement of not having drive to the DC when you need to reboot something).

Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack

#25
post #11

Earlier quoted context omitted.

Node.js backend performance is comparable to Java. Perhaps you had bad developers - trust me, if they screwed it up so bad they wouldn't be able to make your Java backend any faster, and probably couldn't get Go or Rust to work at all.

Go is perhaps the simplest language to learn there is. It's almost impossible to not get it to work because it has so few things you can actually do. And nodejs only preforms well in hello world benchmarks, real world applications are nothing like that. Once you start having to manipulate large arrays or do any large amount of math nodejs preformance goes into the dumpster.

> Once you start having to manipulate large arrays or do any large amount of math nodejs preformance goes into the dumpster.

We’re talking about web applications, no? You probably shouldn’t be manipulating large arrays or doing large amounts of math directly in your web application server. That should be isolated in some type of service or worker, which could be written in another language. Or maybe there’s a NumPy-like package for Node.js, I haven’t looked.

The question then is where do you draw that line of using another language? It probably depends on your application, but I think Node.js is perfectly suitable for typical web applications backends.

Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack

#27
post #18

Earlier quoted context omitted.

i don't agree at all. nodejs backends are as performant as you build them. the whole premise of node was async io, so if you're doing a bunch of blocking stuff then yeah, you're going to have issues. otherwise there's nothing innately non-performant about the platform. it's impossible to debate more without going into details on your performance issues. typical backend architecture for any platform these days is the…

Nodejs backends are not "as performant as you build them" nodejs is slow! This is an undeniable fact. If you ever have to do anything computationally intensive, which every backend at some point will nodejs will become the bottleneck.

It's as fast or even faster than Java that you mentioned. In my experience, comparable to Golang.

Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack

#28
post #18

Earlier quoted context omitted.

i don't agree at all. nodejs backends are as performant as you build them. the whole premise of node was async io, so if you're doing a bunch of blocking stuff then yeah, you're going to have issues. otherwise there's nothing innately non-performant about the platform. it's impossible to debate more without going into details on your performance issues. typical backend architecture for any platform these days is the…

Nodejs backends are not "as performant as you build them" nodejs is slow! This is an undeniable fact. If you ever have to do anything computationally intensive, which every backend at some point will nodejs will become the bottleneck.

Generally anyone that references performance/bottlenecks without data, they’re just parroting their bias. This post is “nu uh!”, but with more words.

Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack

#29
post #11

Earlier quoted context omitted.

Node.js backend performance is comparable to Java. Perhaps you had bad developers - trust me, if they screwed it up so bad they wouldn't be able to make your Java backend any faster, and probably couldn't get Go or Rust to work at all.

Go is perhaps the simplest language to learn there is. It's almost impossible to not get it to work because it has so few things you can actually do. And nodejs only preforms well in hello world benchmarks, real world applications are nothing like that. Once you start having to manipulate large arrays or do any large amount of math nodejs preformance goes into the dumpster.

You're going to teach your developers? Because I just couldn't find enough Golang devs around. Node.js is well known.

Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack

#30
post #2

Typescript (nodejs) backends are not performant, and your ultra modern stack is going to just cause you issues going forward if you need to scale. Prisma is really bad too, slow queries and no flexibility. If you ever need to do any sort of complex query you will just have to write sql anyway. And typescript is only sort of static typing. These technologies are great for prototyping and building a v1 release to see i…

Sounds like the issue wasn't the performance of TS per se, but rather the use of some ORM led to inefficient database queries being executed. This sort of screwup is possible in all languages.
Post reply on HN