http://qs321.pair.com?node_id=1195533


in reply to Re^3: Can Perl do anything Java can do?
in thread Can Perl do anything Java can do?

This seems like a really poor analogy, it's all anecdotal. On top of that, Android isn't really a pillar of JVM accomplishment. It's well know that it's bloated and a nightmare to work with on the dev side, which inevitably percolates up to the user experience.

What kind of Java code are you looking at that's "bloated"? Java has improved tremendously in the past 5-10 years in all aspects. There are plenty of things people can bitch about but overall, it's a clean, solid platform to develop on.

Three thousand years of beautiful tradition, from Moses to Sandy Koufax, you're god damn right I'm living in the fucking past

Replies are listed 'Best First'.
Re^5: Can Perl do anything Java can do?
by shmem (Chancellor) on Jul 21, 2017 at 10:46 UTC
    This seems like a really poor analogy, it's all anecdotal.

    It is no analogy, and even if it's all anecdotal, it is first class experience, the sort of used to build science. What's wrong with that? The hard facts are

    • my old workstation was a dime against a quarter compared to that pizza box
    • my phone could replace at least 10 of them (let's round that down)
    • it was 10 times as responsive as the phone

    which, doing the math, means that my perl application of the old days is 250 times faster. That might be a particularity of the Android platform, and yes the dev side is a nightmare - but why?

    Because of bloat. If I set up a tiny Java devel environment today (think eclipse only), I spend at least about 400MB of disk space; perl5.25.10 on my platform is 105MB, add a full-fledged vim (30MB) and you have 135 MB. I suspect that if perl was used to build eclipse, it would take only a fraction of disk space, and of exercised code, maybe a dime against a dollar.

    I call bloat also not using things a platform already provides, but blowing up your own souffé. Perl took the approach to use libs and tools a platform already has, whilst Java likes to cook its own soup.

    Java has improved tremendously in the past 5-10 years in all aspects. There are plenty of things people can bitch about but overall, it's a clean, solid platform to develop on.

    That might well be, and I am not saying Java isn't clean and solid - but it ain't the fastest thing since sliced bread, not in learning curve, not in development time, not in code execution, and don't let us talk about memory usage and garbage collection. I've seen spikes of loads of 1000 on an e10k Sun because the garbage collector kicked in... anyways - this is now an analogy: I am using the good ol' olvwm OpenLook window manager based on xview as my debian desktop, and it nicely handles all things KDE, Gnome and whatever other desktop window manager can handle. And it does it with a memory footprint of 4MB, even being bloated, too...

    BTW, if Java were implemented in forth, that would give a different picture - but only because C is also bloated in comparison to forth ;-)

    perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'

      I can appreciate most of this. I would disagree somewhat with development speed, but initial development speed, yea. It's not rails, or even perl frameworks the last time I used them.

      You definitely can't compare it to things like Go nowadays, but it would take a lot to convince me you couldn't tune it to perform extremely well. I think things like Jersey really help cut down on code bloat, in comparison to things like Spring. Lots of companies (including mine) latch on to the "...and the kitchen sink" mantra and go with Spring when Jersey can do the job with half the code and dependencies.

      I can't necessarily speak to garbage collection because my understanding is while it's improved in 8, it is still extremely ass compared to C# (which, we wouldn't be having this conversation if it had a better battle tested runtime on linux), but there are supposed to be good things coming in 9.

      Anyway, I guess my main point with all this is that Java isn't this bloated beast everyone often thinks it is, and is at least very good middle ground for a solid, sturdy language choice that isn't going to have a lot of issues unless you make some really stupid architecture and development decisions.

      Three thousand years of beautiful tradition, from Moses to Sandy Koufax, you're god damn right I'm living in the fucking past