View Single Post
Posts: 1,341 | Thanked: 708 times | Joined on Feb 2010
#175
Originally Posted by attila77 View Post
Because it has no HW level access and only knows whatever the kernel tells it to. It's been a problem even for native apps...
JVM and most (all) of the VMs are native apps. It is a lousy OS if it doesn't let applications know information which benefits the user. Linux for example lets apps know (/proc/cpuinfo)

This was the promise 10 years ago when I was heavily involved with Java, however those super-HW-optimized JVMs have never materialized.
True. Not yet. I think it was waiting for multi core platforms as profiling from one thread other threads executing needs to be smooth and not increase latency.

What has materialized were various JSRs which are mostly hated very passionately as they managed to make Java one of the (if not THE) most fragmented mobile platform.
Easier to read ? Maybe some templates or non-Qt stdlib code, but other than that... I for one don't miss Java's verbosity. Plus C++ is most of the time faster even without JIT, exists on far more platforms and hasn't got the problem of a megacorp deciding it's (and its developers) fate.
The above is somewhat true, and reasons why Google has Dalvik nowadays. It is a shame if Oracle+IBM+Google can't eventually get their stuff together and give Java the improvements it needs especially in those political issues.

All what has been said about JVM goes also for Python VM, if just dynamic types could be somehow guessed or forced to static types somehow (Psyco, Python 3). Dynamic types makes optimizations difficult, but are not so big obstacle as pointers are.

Actually that's one of the shortcomings of Java - people seem to be using threads by the boatload (mostly inertia as AIUI it's not necessary since Java 5), and threads make those optimizations nigh impossible. And we know that, as Alan Cox said, threads are for people for don't know how to program state-machines
Threads work and are useful when you have multiple Turing machines running at the same time. Sure, you can simulate them in this one Turing machine but that is not for example how nature does it because it would be too slow.

But anyway, we're running in circles for some time now. You say it will be better - I say, whatever floats your boat, but reality can be really uncooperative when it comes to these academic explorations. Over and out.

Yes it is still abit academic. But I don't think we were running circles because there were these recent issues with Qpointers which as shown are not as effective solution either to the heap memory fragmentation problem.
But I hope many have learned new ways of thinking things and remember fully compiled code is not necessary the fastest in all use cases of programming (OOP).

And I wonder, if Nokia would had got Meego phone ready in the last year already if it would had used Python (+Qt) to develop UX and not C++ (Qt+QML). C++ is known to have poor productivity especially in group work and very especially when using offshore outsourcing.