The Benefits Of The Java Virtual Machine (JVM) | The Most Powerful Programming Platform?

preview_player
Показать описание
Is the Java Virtual Machine (JVM) the most powerful programming platform we have? Trisha Gee & Dave Farley talk about the JVM & java, their benefits and it's evolution over time.

-

🗣️ THE ENGINEERING ROOM PODCAST:

-

🙏The Engineering Room series is SPONSORED BY EQUAL EXPERTS

-

#softwareengineer #developer
Рекомендации по теме
Комментарии
Автор

I Like the monitoring tools for the JVM. You can watch live what each thread does, provided you make life easier by naming threads appropriately. You can watch the memory footprint of your application. You have profiling tools to see which code parts are invoked how frequently. Etc.

As a side note. You have good decompilers today that translates bytecode back. Just in case you have to look something up in a 3rd party library and you don't have the source code.

gammalgris
Автор

I don't fancy Java (more of a .NET user myself and so far F# and C# provide all I need), but I can't argue with this. Facts.

PaulSebastianM
Автор

14:52 I would google it too. And for the same reason. The most important thing about software is that it meets the changing needs of its intended purpose. So software needs to be well written, easy to validate, and easy to change.

brnto
Автор

Back in the early days of Java as a member of the orginally 3 person and eventually 4 person Symantec JIT compiler team, a big part of my role was optimizing JVM monitors and garbage collection to shame Sun into improving their PC x86 implementation. The interpreter worked fine on Solaris so why bother with how it runs on PCs? Symantec had pivoted their IDE from C++ to Java and needed the performance to get people on board with Java. C++ was made impossible by Microsoft making it a moving target with library releases. The huge improvement the JVM promised for us was not only write once run on any but also eliminating Microsoft from the picture. The JIT compiler became the standard for the Classic JVM. The eventual 4th member of the JIT team is now Director of SW Development at Oracle.

brownhorsesoftware
Автор

Java is a marvellous technology. Without Java and the JVM there would be no C# and .NET. As Dave said, the hours put into Java was many. And when you do something new you perhaps recognize in hindsight that stuff were not so good. That is innovation. It is taking risks. I started out with .NET but in my recent position, I had to learn about Java and its Java ecosystem. It might not be as unified and clear as .NET, but it is not bad. The culture is just different, coming from Microsoft as its steward, and that has created a slightly different ecosystem.

marna_li
Автор

That is why I go with Kotlin, full support to Java eco system, as much as you don't like Java you cannot deny the amount of enterprise level libraries/frameworks available

I have been using Java and it's frameworks since 2015 for my rural Telco billing system, tried to migrate to other languages but remained to this day in JDK using Kotlin

FYI I also work in other languages PowerBuilder / Ruby / Python but sensible to use JDK in projects like billing system

rommellagera
Автор

OMG! Thank you for the podcast! I have been looking for exactly this!

harrypehkonen
Автор

Not a popular opion but I love the JVM with Groovy It allows me to write simpler code and get stuff done. Plus I can take advantage of any good JVM libraries. Groovy staticly compiled + Micronaut + Micronaut Data(using native queries where apropriate) + DBs and other complimenting cloud technologies are my current jam. I do miss the convention over configuration that Grails had but I'm getting use to all the anotations, and its nice to have a service that starts in seconds from a clean, rather than 8 to 12 minutes for a mega monolith.

groovy_duke
Автор

Improving the user experience to me is way more important than knowing every technical detail. It's great to hear that in a podcast!

zour
Автор

What happened to that Scala craze of a few years ago?

richman
Автор

For microservices deployed in docker what advantages does the write once run anywhere jvm give? Surely GO and docker are better? Its OO and framework support that java lives or dies by now?

personofearth
Автор

“one of my nephews said he was interested in learning how to code, so I helped him a little bit…”
😅 Imagine you’re just getting interested in coding and it turns out your uncle is Dave Farley.

That’s like “Hey I think I might like to start learning about cars”
“Oh ask your uncle Ferrari. He knows about that.”

RickGladwin
Автор

I think its misconception that some ppl hate “Java the language” or “JVM the technology”.

I personally hate “Java the culture” - language is fine, JVM is amazong, but culture is broken beyond repair.

zeffass
Автор

The problem is that's it's become fashionable to hate on Java. I can name quite a few front-end devs and their youtube channels.Many of these people last used it when Java 5 was latest!

KangoV
Автор

The Job of a developer is to understand and solve problems with algorithms.

TheBadFred
Автор

Isn't Common Language Runtime basically like JVM?

googleaccount
Автор

my biggest complain with the JVM, build systems and too damn memory usage. I love kotlin because it has great DX but i would trade it everytime for go compilation speed, once you taste that sweetness of speed compilation, it's hard to use these languages

oumardicko
Автор

Good: choice of GCs and compilers (Azul! GraalVM!), well defined enough for stuff like the LMAX Disruptor to perform exceptionally well, VisualVM and heap viewer are better debugging aids than htop and coredumps.
Less good: too much C++, lots of legacy (type parameter erasure, badly integrated Async APIs, strange strings in the bytecode for e.g. casts and signatures), classfile API versioning is not forward compatible (one number rather than semver), being 8 times the size of a python dist with less real functionality.
Bad: capability violations like 'new URL()' starting network activity and 'Class.forName' enabling serialisation escape. Not everyone worries about these, but I sure do.

capability-snob
Автор

Java appears to be the only VM still standing. How much Smalltalk stuff is still actively being developed? It doesn't have that kind of critical mass. Heaven knows p-System is long-gone. Even Flash has faded in popularity.

My prior employer had a variety of x86-based servers but also had a metric boatload of POWER hardware. I wrote Java code which ran on both, as there's a solid, reasonably-current JVM for POWER. Not needing to use a legacy language, like RPG or COBOL, was nice.

I'd much rather be coding in Clojure or one of the other languages but the JVM is very useful.

"There's a lot to be said for boring technology." The reason it's boring is because it's predictable. The last thing any developer / engineer wants is unpredictable.

Meower
Автор

I prefer Kotlin, it is much sleeker than Java code, and therefore more readable. Also I prefer Kotlin Coroutines over Java Threads. In a nutshell: Kotlin is more fun() than function(). What do you think about GraalVM?

TheBadFred