That is where a JIT enters the picture, ideally a JIT can re-optimize to an ideal state.
While this is suboptimal when doing one shot execution, when an application is long lived, mostly desktop or server workloads, this work pays off versus the overall application.
For example, Dalvik had a pretty lame JIT, thus it was faster calling into C for math functions, eventually with ART this was no longer needed, JIT could outperform the cost of calling into C.
Once we did a major rewrite from Perl/C++/CORBA into Java, during the glory days of Java application servers, three years development that eventually went nowhere, or maybe it did, who knows now.
In hindsight, cleaning up that Perl and C++ code, even where both languages stand today, would have been a much better outcome, than everything else that was produced out of that rewrite.
But hey, we all got to improve our CVs during that rewrite and got assigned better roles at the end, so who cares. /s
IntelliJ has supported this for over a decade also, and having used Eclipse for PHP a decade ago, I think it's very generous to say that that was actually supporting non-Java languages as an IDE, rather than just a very slow and heavyweight text editor. I'd say Eclipse's weakness for Python, PHP, etc. at that time led to how long IDE-skepticism has been a thing.
Just use Eclipse or Netbeans instead, I never liked InteliJ for Java development due to its continuous indexing, errors have to be explicilty asked for, and the ten finger combos for shortcuts.
VSCode is anyway running either Netbeans or Eclipse headless for its Java support, better use the real deal.
Back in the day you would have used .NET plugin for browsers, which got replaced by Silverlight plugin, nowadays it is WebAssembly, really nothing new per se.
More like return of Applets, Flash, Silverlight, ActiveX.
And that is great, thanks to it is all turtles to the way down, I can have my plugins back, now running on WebAssembly, that is the only thing I care about it.
While this is suboptimal when doing one shot execution, when an application is long lived, mostly desktop or server workloads, this work pays off versus the overall application.
For example, Dalvik had a pretty lame JIT, thus it was faster calling into C for math functions, eventually with ART this was no longer needed, JIT could outperform the cost of calling into C.
https://developer.android.com/reference/android/util/FloatMa...
reply