Slashdot Mirror


User: primaldk

primaldk's activity in the archive.

Stories
0
Comments
1
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 1

  1. Point-in-case on Professors Slam Java As "Damaging" To Students · · Score: 1

    Have a look at Clean (http://clean.cs.ru.nl/) for a use of pointers (internally) that makes for efficient execution. An interesting read concerning the subject is found here:

    http://clean.cs.ru.nl/contents/Addison__Wesley_book/addison__wesley_book.html

    Actual benchmarks to show the efficiency can be examined here (note the comparison is with C-versions of the same algorithms compiled on gcc):

    http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=clean&lang2=gcc

    Here's Java 6 (server version) for comparison:

    http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=java&lang2=gcc

    You'll notice that differences are mainly in the memory footprint, already known to be attributable to the large number of libraries (classes) loaded into the vm at start-up, something the Clean runtime isn't quite as encumbered with:

    (Java) http://java.sun.com/docs/books/performance/1st_edition/html/JPRAMFootprint.fm.html

    So, the difference in speed is often-times negligible, and it's been shown that the memory footprint can be reduced to a size where you can run an embedded jvm in a mobile phone (really!), and rumour has it that someone even wrote an operating system in Java, but the memory footprint still seems the biggest culprit:

    http://www.jnode.org/node/573

    In other words, it's not Java - the language, but Java - the massive OO-framework, and JVM - the specific implementation, that's the problem. Even C++ or C with an OO-framework can be made into a large memory footprint, if you can believe it:

    http://www.microsoft.com/windows/products/windowsvista/editions/systemrequirements.mspx

    Then, of course, memory is cheap:

    http://www.simmtester.com/page/memory/memprice.asp

    But, the over-use of which, sometimes stays with us as itching bugs for too long:

    http://blog.wired.com/monkeybites/2007/11/firefox-3-add-o.html

    If memory serves me right (http://www.google.com), there's something to be said of the virtues of garbage-collection applied to systems programming:

    http://www.digitalmars.com/d/

    and the actual (memory and) time efficiency of such an attempt:

    http://shootout.alioth.debian.org/gp4/d.php

    But I could be wrong. After all, no-one in their right mind would ever attempt to write an operating system in something like, say, Lisp:

    http://cbbrowne.com/info/lisposes.html

    - let alone design an actual computer around it:

    http://en.wikipedia.org/wiki/Lisp_machine

    It simply wouldn't run. No, the skills of an engineer depend solely on the language he/she speaks, not on the abstract concepts he/she masters, applied to whatever tool he/she chooses to use/create.

    That is why I propose we all forget about abstraction all-together, and revert to coding like this:

    010101100001111010110101101101111101111...

    But wait, that is itself an abstraction - Turing must have suffered from premature abstraculation. No, let's hear it for using copperwires instead of silicon, so we can attach some large, hand-