Java is well suited to very large projects only because developers are "commodity." With the modern language updates, the core java collections library is really broken for modern multi-paradigm programming. There are no true immutable collections in the core lib which makes Java really show its age with the newer language features compared to other more modern languages such as scala. Functions are bolted on as "Sin…
Java at Alibaba [pdf]
31–40 of 44 posts
Re: Java at Alibaba [pdf]
#32Java is well suited to very large projects only because developers are "commodity." With the modern language updates, the core java collections library is really broken for modern multi-paradigm programming. There are no true immutable collections in the core lib which makes Java really show its age with the newer language features compared to other more modern languages such as scala. Functions are bolted on as "Sin…
What kind of applications are you building that really require immutable collections and functional programming? In my opinion, Java is best suited for running web servers (and thus microservices), where the work doesn't really require any functional programming at all.
Re: Java at Alibaba [pdf]
#33Earlier quoted context omitted.
What kind of applications are you building that really require immutable collections and functional programming? In my opinion, Java is best suited for running web servers (and thus microservices), where the work doesn't really require any functional programming at all.
Web servers' performance benefit from concurrent programming models. Concurrent programming is certainly possible in Java, but Java/JVM is not particularly well suited for it compared to other languages/VMs, e.g. Erlang.
Re: Java at Alibaba [pdf]
#34Impressive stuff. They have basically forked their entire backend stack, starting from the OS and moving upwards. I am particularly interested in how much AliOS deviates from mainline Linux.
> They have basically forked their entire backend stack, starting from the OS and moving upwards. Isn't this pretty common at the $XXX billion dollar tech companies like Google, Facebook, etc?
Re: Java at Alibaba [pdf]
#35Re: Java at Alibaba [pdf]
#36Java is well suited to very large projects only because developers are "commodity." With the modern language updates, the core java collections library is really broken for modern multi-paradigm programming. There are no true immutable collections in the core lib which makes Java really show its age with the newer language features compared to other more modern languages such as scala. Functions are bolted on as "Sin…
Re: Java at Alibaba [pdf]
#37Impressive stuff. They have basically forked their entire backend stack, starting from the OS and moving upwards. I am particularly interested in how much AliOS deviates from mainline Linux.
What could be the benefits of not using the mainline Linux for a stack like that?
Re: Java at Alibaba [pdf]
#38Impressive stuff. They have basically forked their entire backend stack, starting from the OS and moving upwards. I am particularly interested in how much AliOS deviates from mainline Linux.
> I am particularly interested in how much AliOS deviates from mainline Linux. What could be the benefits of not using the mainline Linux for a stack like that?
Remember, Linux is designed to run on as many machine configurations and support as many workloads as possible. To achieve this, kernel devs sometimes cannot adopt the most optimized implementation because it may lead to unforeseen corner cases.
On the other hand, a company like Alibaba knows exactly what kind of machines and workloads they are dealing with, which means that they can make those optimizations and gain a slight performance boost relative to mainline Linux.
Re: Java at Alibaba [pdf]
#39Either I'm being very dense, or something doesn't quite make sense about these numbers. The slides say that on the busiest day of the year, they were serving around 175,000 transactions per second (126k of which, or maybe additionally, were payments). On the next slide it says they have 'millions of JVMs' running an 'insurmountable number' of requests. Is each JVM really taking 10s+ per transaction? Even assuming tho…