Apple dropping Java for Swift
Content:
Original link: Apple developers reject Java, claim big savings from switch to Swift / DevClass.
They had some classic Java problems:
- pauses due to Java using tracing garbage collection
- high memory footprint and slow startup due to the Java runtime initialization
which could be solved different ways:
- stick with Java but switch to ZGC garbage collector (microsecond pauses instead of millisecond pauses) and use GraalVM AOT compilation (usually by utilizing Quarkus, Micronaut or SpringBoot Native)
- switch to a native language that:
- do user controlled deallocation of memory like C++
- do reference counting garbage collection like Swift
- do low-pause tracing garbage collection like Go (recent version sof Go are also down from milliseconds to microseconds, which is probably easier due to Go GC being relative simple)
My guess is that 50% would choose to keep Java and 50% would choose Go and Apple choose Swift.
I would probably pick Go - the problem (very simple lookup, no advanced business logic, very high volume, CPU intensive encryption work) leans itself well to Go.
Comments: