Golang will perform way better than those (and who the FUCK thought making a server side language out of js was a good idea?)
Except it doesn't. Read Amazon's benchmarks. That very much matches my personal experience as well. I thought Go would be a lot faster...was shocked to see how slow it is. Read what the AWS Rust folks have to say about it.. I inherited a Go project and the builds took FOREVER and brought my machine to a stop....and I thought "holy fuck...they must have the world's fanciest integration tests running"...then I stepped through the code and found all they were doing was running basic input validation and JSON parsing....like remedial stuff. I still have no clue how JSON parsing and input validation can take minutes for a few thousand lines of code, but fuck....it was awful garbage...so I started writing my own code and unit tests in isolation...and couldn't figure out what the error was. Why was it so fucking slow???? What did I do wrong? I figured I imported an lib by accident or was starting up server threads in the background....nope...it's just a dogshit platform. Really go is total garbage. I have no clue why folks like it. It's run by Google, so you know it will get abandoned. It's slower than Java. It's a lot more complex and hard to use.
If I want something easy to maintain?...I'll go with Java....it'll be faster. If I want better memory usage or speed and don't mind pain in programming...I'll go with Rust...it'll be better in every single way. It's a solution looking for a problem and the worst platform in existence. At least JavaScript and Python make some sense. I hate those fucking languages so much...until I used Go....at least one could argue JavaScript and Python are easier for some users to use. Go has all the downsides of pleasant platforms with none of the advantages. I can't imagine anyone who knows the facts supporting that platform unless Google is paying them.
Of languages that suck, Java doesn't really suck! For languages that do not use resources well, Java does not use resources poorly!
Garbage collected languages do not use memory well. Applications that avoid dynamic memory use can mitigate that shortcoming.
Not sure the obsession with memory. So long as it is consistent, how much do people care if an instance uses 8GB vs 16? I think most shops would gladly double the RAM for as low as a 10% reduction in response time. If you're writing a text editor?...I can definitely see it, but I think it's safe to say Java has mostly lost that battle, especially with rust on the scene...if you're writing a server-side password manager REST service...I can't imagine most cloud-hosted apps caring about total RAM or startup speed (assuming no leaks and decent RAM usage consistency, of course).
More than likely, but Java does have a lot of inherent problems that almost certainly didn't help. It's also quite plausible that garbage collection was biting them pretty hard; example: https://ancillary-proxy.atarimworker.io?url=https%3A%2F%2Fdiscord.com%2Fblog%2Fwhy-d.... The whole reason for switching in that case was because of GC, which is inherent to the language's runtime, and you can't do anything about it. And of course: Java IS a memory hog. Java DOES take a long time to spin up, both initially and for new threads.
They probably would have done slightly better with rust given you can simply rely on normal pointers instead of reference counting, but knowing Apple that probably came down to an NIH decision.
...try their competitors!!!
If you're comparing to Rust?...OK, fair...if you're comparing to Go...oh, that's a painfully slow and disappointing garbage platform...the difficulty of C with the performance of node/Python. Node.js and Python are famously slow and bloated...and C# just really doesn't compete, even before you consider the MS factor.
We are in a new interesting era where platformless choices are becoming an option, like Rust. Go was interesting...until you see the performance...since Java is almost twice as fast...not sure the point. Java is a memory piggy, but I've been working with it for over 25 years, on some platforms that are HUGE and very performance sensitive. It holds up extremely well and scales well and is the most reliable platform I've worked with, by far.
Startup and memory are just not a concern in most business scenarios. No one cares about startup time. Whether it take 1 second or 1 minute to startup...doesn't matter. Thread startup time is also pretty fast, so not sure what you're talking about there...that might be programmer error if it's slower.
Memory usage?...similarly, no server operator cares...RAM is cheap...new instances aren't. It's far cheaper to throw RAM at a platform than cores or machines.
One huge advantage?: Java is predictable and reliable. However it runs for the first week is how it's going to run for it's first decade. I have applications that were started 20 years ago and have most of their code from 10 years ago....running strong, serving millions of users for a highly profitable business....doing real work for real money....upgraded 100s of times...ran in 3 different clouds as well as on-prem. No memory leak issues, great performance (compared to the time the company tried writing services in node.js), just reliability and predictability.
Whenever you rewrite a product in a new stack you pretty much create it from scratch. You do things right and don't bring all the patchwork and tech debt with you. That's what caused this speed-up. No the change of the language.
Agreed! In addition, Apple has a BAD history when it comes to software. They have the "reverse-midas-touch" when it comes to software...in that anything they touch turns to shit....look at iTunes as a shining example. They've gotten better in the last decade, but I will wager their legacy app was garbage...probably some old struts app from the early aughts...maybe some EJB 2.1 magic?
What I am interested in, when evaluating platforms, is how much of a performance benefit Swift will provide vs a well-written Java application. Rust definitely provides a tangible benefit...Go, node.js, C#, and Python have significant and noticeably worse performance than Java....both in my direct experience, but also in Amazon's own benchmarks. Swift wasn't in the Amazon study, but I'd like to see how it compares.
If Apple opens up their platform and it truly performs as well as they promise, without significant security concerns, I find it very intriguing. However, if they can't outdo rust, I am not sure what the point is.
While I know Java doesn't inherently have to be slow and use excessive resources, I've never seen a significantly complex Java application that utilizes resources as expected. The CPU and memory usage is always a factor of 10X what I'd expect from a C++ application. I don't know the reasons as I'm not a Java developer, but I also don't find Java enticing enough to learn enough to find out.
Java is quite fast and reasonable in memory usage. It is far superior to it's normal competitors, Go (the slowest disappointment I've ever used), Python, JavaScript, and C#. While C# and Go are better languages than Python & JavaScript, IMHO, Java is the king of those 5 when it comes to response time performance.
Now if you're comparing well-written Java to well-written C++...C++ should have a strong and noticeable advantage. Rust is noticeably faster and lighter as well.
Java's strength is speed and scalability....but it's not lightweight.
But this all depends on what you want to use it for. If you're wanting it for a server-side service? It tends to be the best game in town these days. Rust isn't there TMK and C++ has always had severe security issues....TMK, very few run services in C++ for a variety of reasons...it takes a LOT of skill just to write and minor errors lead to major vulnerabilities you just don't see very often in runtime platforms.
I see this having strong sales at first by Xbox fanboys, but then I see it getting absolutely pwned by all the Linux handhelds due to their significantly better performance over Windows, even on the same device and running through Proton.
I imagine the hype train will be massive, but will see diminishing returns outside of soon-to-be disappointed Xbox fans and satisfied hobbyists who think to install Linux on the device.
Keep my prediction in mind.
Steamdeck is cool, but the Ally can play XBox and Windows games, including ones from Steam...so 5-15% framerate increase?...that's the benefit of Linux...but how much do you care? It's a 1080p display. Better battery life is cool as well, but for long flights, I have an outlet or many battery packs.
You and I might be different consumers, but I want to play fun games on Games Pass, beat them, and forget they exist. I think many are like me, especially parents. We'd rather give our kids something simple and reliable, with adequate hardware than anything with exquisite hardware.
I wish the steamdeck nothing but success...competition only helps...but I'm paying a lot more close attention to the XBox Ally
Correct. In most ways the legacy environment is much more capable.
Nice! I wish I had had that luxury.
What's the difference between a computer salesman and a used car salesman? A used car salesman knows when he's lying.