📜 ⬆️ ⬇️

Digest of interesting events from the world of Java, and around it # 3 (05/23/2016 - 06/05/2016)

image

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!
image
Source: plg.uwaterloo.ca/~migod/846/current/projects/09-NakshatriHegdeThandra-report.pdf

The 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+Outreach

This 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-edition

Testing 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

image
Source: classicprogrammerpaintings.com/post/144953638470/github-major-service-outage-georges-seurat

Reason 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?

Issues: Previous - Next

Source: https://habr.com/ru/post/302734/


All Articles