
In this issue
- In the battle of
Google vs Oracle put bold semicolon
- Throw:
checked exceptions are not needed, proven!
- Learn to write in assembler in Java code
… and much more
1. News
1.1. Oracle vs Google
As it became
known , the San Francisco Federal Court denied
Oracle a lawsuit against
Google for illegally using the Java API. Fairly significant event. A brief plot for those who did not follow this story:
Google: We wrote our virtual machine with which you can work through the Java API, which is familiar to millions of developers!
Oracle: So it is impossible, you owe us $ 9,000,000,000.
Google: No, you can!
Oracle: No, it is impossible!
In fact, the situation is twofold. On the one hand, writing the API is hard and ungrateful work. Make the product user-friendly can not immediately. This is often a long and iterative process. Therefore, the requirement of Oracle to respect this work is quite understandable.
On the other hand, a victory for Oracle would create a dangerous precedent when you can throw a huge amount of APIs, patent them, and start trolling technology companies. By its decision, the court showed that the public API can be used without any licensing restrictions, which certainly is a plus for the IT industry as a whole.
')
1.2. Checked exception? No, I have not heard
And by the way about the API. Social networks actively repost entertaining
research . Guys from the
University of Waterloo collected statistics on
checked exceptions in Java. It turned out that in most cases, the developers either ignore them, or log them, or wrap them in
unchecked . This is so unexpected!

Source:
plg.uwaterloo.ca/~migod/846/current/projects/09-NakshatriHegdeThandra-report.pdfThe situation when users use the API incorrectly in large quantities can be viewed from two sides. You can say: "Users are not the ones!". And you can: "API is not the same!". In this case, I tend to support the second option. People correctly
note that “heck exceptions did not cope with their task. Their main advantage — determination at the level of the method signature — is their main disadvantage. We do not want any
SQLException to be spread over all application components. Instead, we isolate it at the level of working with data. Most often, just wrapping in an unchecked exception. Failure to check exceptions has long been traced to many popular frameworks. Perhaps it's time to face the truth, and
uncheck checked exceptions. What do you think?
1.3. Twitter opened another framework with a strange name.
Heron . Just
Heron . No more, no less. This is a framework for stream processing. Positioned as a replacement for
Apache Storm . The story of its creation is curious - this is the very case when the guys said “Let's rewrite everything from scratch!” And rewrote it. We, too, periodically want to throw everything out and create anew. But due to limited resources, this idea almost always turns out to be unpromising. But Twitter has a lot of resources, so they can. As the saying goes, "what's allowed to Jupiter ...".
2. Read
2.1. Moving to Java 9
Link :
https://wiki.openjdk.java.net/display/Adoption/JDK+9+OutreachThis is a list of major innovations in Java 9. It is useful to keep in mind, in order to understand how much of your application will break down when upgrading to a new version.
2.2. Simple words about JIT
Link :
https://advancedweb.hu/2016/05/27/jvm_jit_optimization_techniques/A good introduction to JIT in Java. Inline, dead code elimination, "biomorphs", etc ...
2.3. Writing assembler inserts in Java
Link :
http://serce.me/posts/01-06-2016-wild-panama/Have you heard of
Project Panama yet? The author of the article touched with his hands a new feature - inserting the assembler directly into the Java code. Now we are not afraid of
cutting out
sun.misc.Unsafe :-)
2.4. QA process in Plumbr
Link :
https://plumbr.eu/blog/programming/how-it-is-made-plumbr-editionTesting a product for different platforms and environments is not an easy task. In the article, Plumbr engineers tell how they built the process of testing their product without a dedicated QA department.
3. Wisdom
3.1. About Junior and Senior
3.2. About self confidence
3.3. Falling nudge
3.4. Double thought about algorithms
4. Humor
4.1. Foo in Spring
Be careful with the names of the bins in Spring. Otherwise, you risk running into a conflict:
Also, the name “John Doe” is not recommended for use. In fairness, the "bug" has already been
fixed .
4.2. When GitHub breaks

Source:
classicprogrammerpaintings.com/post/144953638470/github-major-service-outage-georges-seuratReason to think how much we are dependent on Internet services.
4.3. Microsoft's brazen lies
Does anyone know what is happening in Windows at this moment really?