The car comes to a stop and the driver gets out and asks if I'm okay. I may have some bumps and bruises, but I'm good.
Since this is autonomous vehicle, do not worry about the driver. Maybe it is empty car just heading to pick up passenger. So there you are - in the middle of the street, nobody around - just you glued to the car. Hopefuly they will have loud enough loudspeakers, so the Google Assistant can keep apologizing until someone comes to the rescue:)
How many devices on those list are 7+ inch? That's the point. There are few devices that are marginally higher DPI than few years old iPhone screen. But we are still speaking about mobile phones, not tablets. Reading PDFs on high-dpi 4 inch phone doesn't really improve anything, it's meaningless. 10 inch screen with similar DPI as iPad 3 is very fine for reading usual documentation. So, we're still waiting for decent competition in this area.
Unfortunatelly, you are the one that got it backwards. Problem was NOT that MS added win32 specific things - the same was done by others, for examle Apple and there were no lawsuits. Problem is that MS DID NOT implement RMI and JNI as it is in specification for Java 1.1, and also altered classes in the java.* package. It would be ok, if MS did this in com.ms.* package, but altering core libraries not to match specification is just plain wrong. I tried to find some article about the subject, this may be a good one: http://www.javaworld.com/javaworld/jw-10-1997/jw-10-lawsuit.html
I agree with you, but after so much simplification (and I am not 100% sure if correct simplification - he is in fact comparing data transfer object design pattern with straight jdbc in servlet), it's pretty meaningless to work with any numbers and comparing results. Good point of that article is to show that advantages (such as clustering, failover, participation in transactions) does not come without a cost. That is true. But as a developer, you should always consider if you need technology like EJB. EJB and plain JDBC both have their place, problem is that they can (as any technology) be misused.
For non-developers, there is page www.java.com - as I was told some time ago, it's purpose was to make it simple for users to download & install JRE (since that's all they need). Maybe the problem is with marketing this page...
Anyone interested, please check the source code. If I understand it correctly, in his benchmark, he is not using any EJBs, he simply "simulate" this by adding serialization+deserialization to the code. It's quite optimistic to call this benchmark at all. Is it really that surprising that when I order computer to do X and then do X + something more, that it will be slower than the first case?
Adding layers to architecture is not primarily done to increase performance, but to create clean and easy to maintain design. If the implementation is not performing as required, it should be profiled and only then critical parts should be optimized for performance. If somebody in my team would dare to write code similar to this "streaming architecture" (read: plain old servlet with database access and model object polluted with html tags) it would be his last contribution to the project.
I think GCJ provides functionality that is not present in standard JDK or JRE, so it still has some sense. Classpath will probably make not much sense, but project Harmony's goal to implement Java libraries under Apache Licence is still valid.
On the other side, I would not expect any radical changes to Java. Specification is still done via JCP, so the difference feature-wise will be small, at least for now.
From what I have read, it seems that Java will be dual-licenced, so anyone that do not feel good about GPL can use commercial licence. It seems like a win-win situation to me...
It's not very good to compare arrays with ArrayLists etc. I am sure programmers in other languages than Java also uses dynamic structures like List or Map. array[] Array and ArrayList are three different things and they are there for purpose. I think it is great that I have ready-made ArrayList, HashMap, and even more complex dynamic structures, so I do not have to "homebrew" them. Don't you?
If you have iphone around, then yes, it can.
Artists get their share from total income and free tier income is much lower (only advertisement). Free tier then push down price per stream, see https://thetrichordist.com/2015/09/03/spotify-per-stream-rates-continue-to-drop-00408-more-free-users-less-money-per-stream/. But in general, if there is free tier, it is sufficient for many users and they have little need for paid tier. It is hard to compete with free, especially when Spotify will get their 30% no matter what. http://www.spotifyartists.com/spotify-explained/#how-we-pay-royalties-overview
Apple music do not have free tier.
The car comes to a stop and the driver gets out and asks if I'm okay. I may have some bumps and bruises, but I'm good.
Since this is autonomous vehicle, do not worry about the driver. Maybe it is empty car just heading to pick up passenger. So there you are - in the middle of the street, nobody around - just you glued to the car. Hopefuly they will have loud enough loudspeakers, so the Google Assistant can keep apologizing until someone comes to the rescue :)
How many devices on those list are 7+ inch? That's the point. There are few devices that are marginally higher DPI than few years old iPhone screen. But we are still speaking about mobile phones, not tablets. Reading PDFs on high-dpi 4 inch phone doesn't really improve anything, it's meaningless. 10 inch screen with similar DPI as iPad 3 is very fine for reading usual documentation. So, we're still waiting for decent competition in this area.
Unfortunatelly, you are the one that got it backwards. Problem was NOT that MS added win32 specific things - the same was done by others, for examle Apple and there were no lawsuits. Problem is that MS DID NOT implement RMI and JNI as it is in specification for Java 1.1, and also altered classes in the java.* package. It would be ok, if MS did this in com.ms.* package, but altering core libraries not to match specification is just plain wrong. I tried to find some article about the subject, this may be a good one: http://www.javaworld.com/javaworld/jw-10-1997/jw-10-lawsuit.html
I agree with you, but after so much simplification (and I am not 100% sure if correct simplification - he is in fact comparing data transfer object design pattern with straight jdbc in servlet), it's pretty meaningless to work with any numbers and comparing results. Good point of that article is to show that advantages (such as clustering, failover, participation in transactions) does not come without a cost. That is true.
But as a developer, you should always consider if you need technology like EJB. EJB and plain JDBC both have their place, problem is that they can (as any technology) be misused.
For non-developers, there is page www.java.com - as I was told some time ago, it's purpose was to make it simple for users to download & install JRE (since that's all they need). Maybe the problem is with marketing this page...
Anyone interested, please check the source code. If I understand it correctly, in his benchmark, he is not using any EJBs, he simply "simulate" this by adding serialization+deserialization to the code. It's quite optimistic to call this benchmark at all. Is it really that surprising that when I order computer to do X and then do X + something more, that it will be slower than the first case?
Adding layers to architecture is not primarily done to increase performance, but to create clean and easy to maintain design. If the implementation is not performing as required, it should be profiled and only then critical parts should be optimized for performance. If somebody in my team would dare to write code similar to this "streaming architecture" (read: plain old servlet with database access and model object polluted with html tags) it would be his last contribution to the project.
I think GCJ provides functionality that is not present in standard JDK or JRE, so it still has some sense. Classpath will probably make not much sense, but project Harmony's goal to implement Java libraries under Apache Licence is still valid. On the other side, I would not expect any radical changes to Java. Specification is still done via JCP, so the difference feature-wise will be small, at least for now.
From what I have read, it seems that Java will be dual-licenced, so anyone that do not feel good about GPL can use commercial licence. It seems like a win-win situation to me...
It's not very good to compare arrays with ArrayLists etc. I am sure programmers in other languages than Java also uses dynamic structures like List or Map. array[] Array and ArrayList are three different things and they are there for purpose. I think it is great that I have ready-made ArrayList, HashMap, and even more complex dynamic structures, so I do not have to "homebrew" them. Don't you?