3 ms·
Having been in development for a long time, no. Frankly, it just takes some motivated senior devs and the tantalizing ability to put out the OP blog post and y
by cogman10 1y ago
Having been in development for a long time, no.
Frankly, it just takes some motivated senior devs and the tantalizing ability to put out the OP blog post and you've got something management will sign off on. Bonus points you get to talk about how amazing it was to use Apple tech to get the job done.
I don't think they seriously approached this because the article only mentioned tuning G1GC. The fact is, they should have been talking about ZGC, AppCDS, and probably Graal if pause times and startup times were really that big a problem for them. Heck, even CRaC should have been mentioned.
It is not hard to get a JVM to startup in sub second time. Here's one framework where that's literally the glossy print on the front page. [1]
[1] https://quarkus.io/ https://quarkus.io/
- jamesfinlayson 1y agoYep, resume-driven development. I remember at a previous company a small group of people pushed a Go rewrite to speed everything up. The serious speed improvements came from re-architecting (elimination of a heavy custom framework, using a message queue instead of handling requests synchronously etc). They would have been better off fixing the original system so that everything could benefit from the improvements, not just the tiny bits that they carved off. Then the next annual report talked about improved scalability because of this amazing technology from Google.
- geodel 1y agoResume driven development would be using some random ass Java framework to pad on resume. Apple using Apple technologies seems rather like corporate mandate.
- geodel 1y agoIf Apple does not dogfood their own technology for production systems what chance do they have to tell 3rd party users that Swift is ready for prime time. Delving into Java arcana instead of getting first hand experience in developing in Swift would've been great opportunity wasted to improve Swift.
- cogman10 1y agoI agree if this was a brand new system. However, they chose to replace an existing system with swift. The "arcana" I mentioned is start up options easily found and safe to apply. It's about as magical as "-O2" is to C++. Sure, this may have been the right choice if the reason was to exercise swift. However, that shouldn't pretend like there was nothing to do to make Java better. The steps I described are like 1 or 2 days worth of dev work. How much time do you think a rewrite took?
- MBCook 1y agoApple has explicitly stating that they want to try and move as much of their stuff to Swift as possible. I’m sure you’re right, there must’ve been ways to improve the job of deployment. But if they wanted to reduce resource usage and doing it in Swift aligned with some other company goal it would make sense they might just go straight to this.
- geodel 1y agoOnce Amazon CEO was asked about new competitors trying to create cloud infrastructure fast. His reply was "You cannot compress experience" Saving few weeks or months by learning 3rd party technology instead of applying and improving first party technology would be amateurish. > However, that shouldn't pretend like there was nothing to do to make Java better. This seems like constant refrain that Apple or anyone choosing their own tech over someone else's owe absolute fair shot to stuff they didn't choose. This is simply not the way world works. Yes, there are endless stories companies spending enormous resources to optimize Java stack even up to working with Core Java team at Oracle to improve on JVM innards. But those companies are just (although heavy) user of core technology rather than developer of competing one. Apple is not one of those users, they are developers.
- pjmlp 1y agoI remember the days when Apple developed their own JVM, ported WebObjects from Objective-C to Java, and even had it as the main application language for a little while, uncertain if the Object Pascal/C++ educated developers on their ecosystem would ever bother to learn Objective-C when transitioning to OS X.