When Java finally dies, what to do and what will happen to the JPoint
One of the most important questions of the Internet is “When will Java finally die?”
Why is this important to us as Java developers? Obviously, if Java suddenly starts sinking, you need to quickly escape from a sinking ship. And if, on the contrary, it starts to float up - change one's shoes on the go and row with redoubled force. Let's see what's going on there.
Every week when preparing a digest, we systematically analyze a huge amount of news about Java. Constantly there are the results of all kinds of analytics of the popularity of programming languages. Java has never dropped out of the top even among the most stupid, who make these lists or write articles only to show the advantage of the technology they sell.
Can a JUG author write about such ratings? Let us recall the latest story with Yandex.Radar, when Mail.Ru called the rating of sites from Yandex “absurd” and demanded to remove its brands from it. It seems like when you yourself are a player in the market, it is incorrect to keep documents implying maximum objectivity.
People have a kind of subconscious understanding that most likely, the essence of such actions is informational and parasitic. If the advertiser has some kind of top, you need to urgently shove your product into it - no matter if he was honest there or not.
The paradox with Java is that everyone seems to be comfortable with the current state of affairs and its position. There is no point in gag. The debate about choosing a major technology like Java versus C #, C ++, JavaScript or Python among serious developers can only be a joke, because each technology has its own niche and its own way, to win in which with the help of another technology is a titanic task.
Local time machine
It's funny to watch Java go on its way. Most of us are simple developers, and without having access to the internal kitchen of projects like JDK, we can observe progress as chains of new versions of the platform, frameworks and features in them on the daily ribbon on Habré, on the program of conferences and so on.
Take a look at our personal time machine - the history of the Java hub. I do not know how to look at it easier, so I took the line
https://habr.com/hub/java/pageN/
and began to increase N. Somewhere on N = 60 was September of last year, and lany wrote about streams . Java 9 was released in July of the same year, but people were still cutting for using the Eight: this article turned out to be the most populated article last fall (+71, more precisely). Have you penetrated the essence of the streams this year? How often do you use
.parallel()
? :-) For comparison, in the same September, Rust scrambled to the next local maximum of HYIP, and an excellent article “Concurrency Patterns in Rust from Java” was published , which would have collected much more than +33 if readers really understood the essence of what was written. Often, steep posts end life in bookmarks, as they require thoughtful reading. It is also interesting because it refers to “Close contacts of the JMM degree” - the sum of a whole epoch of reports about JVM concurrency.
On N = 115, I suddenly found my article about “Crypt”2016 and now I did not understand a single word in it. Seriously, what is this nonsense? What is characteristic, this objectively monstrously poorly written article over the years of its existence has generated dozens of panicky comments in a personal.
For 2016 there were a lot of articles about the syntax of the language and all sorts of useful things like RxJava. Even then, they started writing about JEP-286 , the very key word
var
that we received this year and which everyone has not tried. Now we can take two features, separated by an abyss of versions between Java 8 and Java 10, and combine together with the help of JEP-323 , which appeared in Java 11 just a couple of months ago. You see, now you can write var inside the parameters of the stream - a trifle, but nice:
var result = jShell.variables()
.filter((@Nullablevar v) -> //var+lambda: Java 11
v.name().equals("result"))
.findAny()
.get();
Global time machine
Let's look forward to the conferences that mark the global flow of events. This spring for the first time on FOSDEM 2018, Mark Reinhold first announced frequent releases and free open versions of JFR, JMC and AppCDS:
I was there and tried to recruit along with ARG89 Mark:
To be honest, for me these six months from the past FOSDEM passed like one long, long day . It seems to be very tired and I want to sleep, but there is too much ahead.
Less than a month ago, on Oracle Code One, there was a new big keyout, "The Future of Java Is Today."
I highly recommend watching this video, even despite the length of an hour and a half. At least for a wonderful moment when Mark Kodit on Emacs demos for Valhalla. If someone asks if you can program on something other than IntelliJ IDEA ... it seems, sometimes you can. At least, if you have the main java-keyout in the world.
In short, what was there:
- Introduction from Georges Saab (vice president of Software Development for the Java Platform Group);
- Matthew McCullough (VP of Field Services at GitHub) talked about how Java will be migrated to GitHub using the Skara project;
- Saab returned to the stage and confidentially announced that Java will adhere to its values: openness, freedom, quality, security, and so on;
- Next came Mark and began to burn on various topics.
Some of the topics are:
- The system of modules (JEP 261) and how it got accustomed in the real world;
- New model of JDK releases and their support;
- Java 12 and its JEP: Switch expressions , Raw string literals , One AArch64 Port, Not Two , Default CDS Archives .
- OpenJDK main projects: Amber , Panama , Valhalla and Loom . Just there was a live coding on emaks and Java 12. If with the first three and before it was all clear, now the fate of Loom is starting to look very good.
Next to the JPoint!
Let's see what topics interest the Russian Java-community today.
For many years, the JUG.ru Group has been doing Java conferences, and we understand something about this. In many ways, they are in no way inferior to major international events such as the Oracle conferences. On the last Joker there were completely brain-bearing things, for example , more than a thousand people, it seems, gathered at the report of Pangin at the same time.
How does this work? The history of Java conferences in Russia is the history of following global trends, the history of contributions to the Java community. The trick is that the program of every really good conference should take into account everything that was, is and will be in the Java world very soon. This is a reflection of reality, and is itself a milestone in the global picture of everything.
The new year is coming , and the time has come to announce that we are making a new JPoint , which will be held on April 5-6, 2019. This is the largest conference that will become a mirror of the events of the Russian and international Java community.
Link to the site leads to the desktop version. There is no mobile version yet, it will appear next week.
So far, the development of the JPoint is at a very early stage, and we would like to share which topics seem to be the most popular.
The short list is:
- JVM / JDK / VM Runtime;
- Reactive programming;
- All sorts of frameworks;
- Java 11. Go or not, or if so, how. Or maybe already in Java 12? :-)
A complete list of topics about which one could talk about - is huge. In a few minutes you can generate countless ideas. But this short list gives an understanding of what is really useful on the threshold of 2019.
In fact, the topics concerning low level and performance are always waiting for someone for purely working reasons, some because of curiosity. Everything else depends on the current situation, state of affairs and events in the Java world.
For example, a huge success has developed Project Reactor and other projects in this direction. If once everyone heard about functionalism at least with the edge of their ears, now the real boom in reactiveness is such as functionalism has never dreamed of. Venkat Subramaniam, one of the most famous java speakers and our speaker, recentlygave an interview exactly on this topic:
“When people ask me if the future belongs to functional programming, I answer - no, it belongs to reactive programming. Because for me, reactive programming is functional programming ++ ”
A great way to somehow influence the composition of the program is to leave us feedback, including writing comments on Habré. We listen not only to the opinion of the Venkat, but also to all who have something to say.
But there is a better way than to just write comments.
Call for Papers
“People often ask me to tell about the future, while all I want is to change it. Even better, build this future. Predicting is very simple, after all. You look at the people around you, on the street where you walk, breathe in the air more deeply - and you predict that in the future everything will be the same, but much more. To hell with "more." I want "better." - Ray Bradbury
The easiest way to change something in the Java world is to take it and improve it yourself.
In terms of conferences, you can come to the new JPoint with your own report. Remember the feedback form, which is filled after the conference? In response to the question “who should I call for a report next time?” Many answer “me.”
Program committees read completely all applications and carefully consider them. Yes, there are many famous personalities in the list of speakers, but it is quite possible to get there. It is necessary, of course, to work well on the content and on the feed, but you will be helped by people who are well versed in this.
There are very specific criteria for the adoption of the report, which can simply be met. There is a specific process that begins with the acceptance of an application and ends with a speech at a conference.
To start your journey as a speaker, you need to follow the link, read everything there carefully and do as it is written. LINK .
Returning to the theme of this habrapost, the theme should be relevant , consistent with today and the passage of time. If you try to talk about the use of applets and portlets in legacy systems, this may seem strange. Yes, such reports are submitted regularly. What is more interesting - portlets or reactive? What would you like to hear? Write in the comments!
Conclusion
We stand on the threshold of a great future.
On the threshold of a big leap in Java technology, which is based on the success of massively used projects like Spring, the rapid release of new versions of JDK, the development of runtimes (including very special ones like GraalVM or Excelsior JET), important trends in them (Valhalla, Panama, Loom), distributed on new hardware platforms (hello, Bellsoft) and much more.
The good news is that Java seems to be very much alive. And we have a hand in this !