3 ms·
I'd say rust is the new Java, not Go. Complete with rewriting everything in the trendy memory safe quasi-portable language that is faster than (poorly written)
by Chu4eeno 3mo ago
I'd say rust is the new Java, not Go.
Complete with rewriting everything in the trendy memory safe quasi-portable language that is faster than (poorly written) C in your personal microbenchmarks.
- rf15 3mo agoI work in enterprise, and java still reigns supreme. You see some (very limited) cracks coming from other jvm languages, but that's all. Nobody talks about Rust, rarely about C.
- bee_rider 3mo agoWhich enterprise? All the job postings I see are for C++ (Annoyingly. Fortran is better). Or Python obviously.
- rf15 3mo agocan confirm, some do C++ (more than C, I meant C as a language family in my original post) Enterprise I've seen, all europe, deliberately vague: Banking, Telecoms, Trains, Insurance
- onesandofgrain 3mo agoIsn't .NET kinda on quite a rise in enterprise?
- pjmlp 3mo agoNot really, going open seems to only helped Microsoft shops to migrate to Linux for deployments, thus saving on server licences. I work in a polyglot agency, and the RFPs asking for .NET have gone down, even key enterprise products like Sitecore, have moved away from .NET.
- onesandofgrain 3mo agoWithout answering anything privately. Are you in Asia, Americas or Europe or Oceania?
- pjmlp 3mo agoGermany. Sitecore example you can easily check, Sitecore XP/XM is still .NET Framework, all new products usually use other programming stacks as extension SDK, mainly Next.js or plain JS/TS.
- LoganDark 3mo agoHuh? Rust is nothing like Java. Java is a dynamic type-erased garbage-collected managed abomination with FizzBuzzEnterpriseEdition standard library.
- slopinthebag 3mo agoPeople have been rewriting software in better languages ever since there was more than one programming language. Eventually people will be rewriting Rust programs in GoombaLang or whatever. Isn't this what we want?
- uecker 3mo agoI don't think this is what we want. We want people to maintain and incrementally improve existing software and tooling and not rewrite and change things all the time.
- slopinthebag 3mo agoA rewrite doesn't need to actually change the public API or experience using the software. But by rewriting software, even in the same language we can learn from past mistakes and experiences and create better and more maintainable software.
- uecker 3mo agoSorry, I think the idea that rewrites are good way to achieve more maintenable software is basically always based on a delusion. It is a very common and well understood delusion for programmers who always see the existing code as crap and imagine a beautiful world when they could only rewrite it. A well understood mistake: https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/ https://www.joelonsoftware.com/2000/04/06/things-you-should-... In the context of free software it is usually also a method to be able to sideline part of the existing user or developer community, which you can not easily justify when making changes the existing project but can be achieved with a rewrite. But the former leads to a honest view of the trade-offs and consequences where the rewrite is a toxic power move.
- slopinthebag 3mo agoThe issue with not rewriting or rebuilding things is that you miss out on the opportunity for conceptual changes and new approaches to solve problems in more robust and elegant ways. For example, Unreal Engine 6 will depreciate and eventually remove it's existing Actor based scenegraph with an entity component system. This is essentially a rewrite of the core of the engine, and it's a massive conceptual change away from the old style of inheritance-based OOP game programming to something which is much simpler to reason about and provides optimisations which are not possible with Actors. They aren't doing this out of delusion, it's that there are fundamental limitations to their current approach which are not solved by simply refactoring - it requires an entirely different conceptual approach which turns out to be simpler and better in pretty much every way. The problem with never rewriting is that you miss the chance to discover better ways of doing things. No system is ever built perfectly, if all you ever do is iterate on a bad foundation you're limited by that. Approaching a problem in a different way is only possible when creating something new. Of course you shouldn't rewrite something just to do it the same way, and you shouldn't rewrite something just because you don't understand it, but I also don't understand the perspective that you should never build something new when there is an existing solution, because it's often only through building out one or more bad solutions that you arrive at a good one. And if you follow such a strict rule, you never end up building anything good. In Unreal's case, they built the Actor system and have used it for almost two decades. In that time we have discovered better ways of doing things, and it would be a shame to be stuck with an inferior design because Joel said to never rewrite things almost three decades ago...
- deleted 3mo ago[deleted]
- pjmlp 3mo agoNone of them are nowhere near the Java tooling and ecosystem. We only touch Go due to containers tooling, and Rust only due to the RIR stuff from Python and JavaScript. Enterprise consulting is staying with Java, .NET, JavaScript/Typescript, Python, Powershell, SQL, and co. Naturally Swift and Kotlin if doing mobile without Cordova, React Native and friends. C or C++ for native libraries, as those are what SDKs support out of the box without additional tooling. Boring technology for the most part, and usually a few versions behind stuck in some LTS.