Yeah, this was a quick and dirty thought, but effectively that's exactly what I mean. An application built from scratch today using modern high-level programming libraries will take more RAM and more CPU to do the same thing than an app written in 2005 does, generally speaking.
Of course, for those people who still write C, C++, or choose to write Rust or Go, or some of the other low-level languages, or even Java, but without major frameworks, can still achieve the type of performance an app written in 2005 could. But for people coming out of college and/or code schools nowadays, you just reach for a big fat framework like spring or use a high level language like JavaScript or Python or Ruby with big frameworks, and your application will by default use more resources.
Though the application might still be fast enough, I'm not even saying that an application written in Python will be slow, but I will say that an application written in Python will by default use about 10x more CPU in RAM than a similar application written in Rust. I mean, maybe the application only uses 10 megabytes of RAM. When the equivalent efficient application would use 1 megabyte of RAM, both of those are very efficient and very fast and would be just fine. But when the difference is between 10 gigabytes of RAM and 1 gigabyte of RAM, yeah, at that point in time, you're pretty much just taking advantage of RAM being cheap.
And it's not even necessarily a bad thing that we do this. There's just a balance to be had. It's okay to write in higher level language if it means you can get some stuff done faster. But major applications nowadays choose to ship an entire browser to be the base layer of their Application. Just because it's more convenient to write cross-platform code that way. That's too much and there's already a lot of work going towards fixing this problem as well. We're just sort of seeing the worst of it right now.
Yeah, this was a quick and dirty thought, but effectively that's exactly what I mean. An application built from scratch today using modern high-level programming libraries will take more RAM and more CPU to do the same thing than an app written in 2005 does, generally speaking.
Of course, for those people who still write C, C++, or choose to write Rust or Go, or some of the other low-level languages, or even Java, but without major frameworks, can still achieve the type of performance an app written in 2005 could. But for people coming out of college and/or code schools nowadays, you just reach for a big fat framework like spring or use a high level language like JavaScript or Python or Ruby with big frameworks, and your application will by default use more resources.
Though the application might still be fast enough, I'm not even saying that an application written in Python will be slow, but I will say that an application written in Python will by default use about 10x more CPU in RAM than a similar application written in Rust. I mean, maybe the application only uses 10 megabytes of RAM. When the equivalent efficient application would use 1 megabyte of RAM, both of those are very efficient and very fast and would be just fine. But when the difference is between 10 gigabytes of RAM and 1 gigabyte of RAM, yeah, at that point in time, you're pretty much just taking advantage of RAM being cheap.
And it's not even necessarily a bad thing that we do this. There's just a balance to be had. It's okay to write in higher level language if it means you can get some stuff done faster. But major applications nowadays choose to ship an entire browser to be the base layer of their Application. Just because it's more convenient to write cross-platform code that way. That's too much and there's already a lot of work going towards fixing this problem as well. We're just sort of seeing the worst of it right now.