Quote:
Oh wow, you guys just want to fight, well okay i'll indulge a little but I am generally a firefighter (anti flame war) so I won't go to far.
It's not a fight. We just don't like when people are
wrong.
Quote:
Quote:
So you think Java has undergone fundamental redesign in 5 years?
YES, The language structure itself hasn't very much but the technology and optimizations in the official runtime environment and the APIs have, there has been major improved in its speed in the last 5 years.
In 2003, IRC java was j2se 1.4, which by current java standards is horrible. Java is normally no longer interpreted, it uses JIT (just-in-time compilation), this is a huge boost from its early days and is compairible in speed to compiled code (becase it was compiled, but only just in time).
As time goes on and things are actively developed such as java, the code execution times get better, while the API increases in size this has very little to due with the speed of execution (unless your using every class) and more to do with memory usage.
Actually I am not going to go any further on that topic, I doupt you really care enough since you have a prejudice against it.
Otherwise you can read more here:
http://en.wikipedia.org/wiki/Java_performance
Give me a break. Java is a clear loser:
Code:
Steven@alcarin ~/GenPrime
$ java -version
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing)
Steven@alcarin ~/GenPrime
$ time nice -n -20 java -jar GenPrime.jar
real 0m29.697s
user 0m0.030s
sys 0m0.015s
Steven@alcarin ~/GenPrime
$ g++ -v
Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs
Configured with: /usr/build/package/orig/test.respin/gcc-3.4.4-3/configure --ver
bose --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libe
xecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-langu
ages=c,ada,c++,d,f77,pascal,java,objc --enable-nls --without-included-gettext --
enable-version-specific-runtime-libs --without-x --enable-libgcj --disable-java-
awt --with-system-zlib --enable-interpreter --disable-libgcj-debug --enable-thre
ads=posix --enable-java-gc=boehm --disable-win32-registry --enable-sjlj-exceptio
ns --enable-hash-synchronization --enable-libstdcxx-debug
Thread model: posix
gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
Steven@alcarin ~/GenPrime
$ g++ -O3 -Wall -std=c++98 -pedantic -o genprime genprime.cpp
Steven@alcarin ~/GenPrime
$ time nice -n -20 ./genprime
real 0m15.452s
user 0m15.358s
sys 0m0.015s
And that was with Cygwin's GCC 3.4.4, which is significantly outdated and runs under the Cygwin POSIX emulation layer. It should have lost, by all means. I could have gone to a machine with GCC 4.x, but it clearly wasn't necessary in order to beat Java's horrendous performance.
I've included
source if you want to try it yourself. Show some numbers instead of meaningless banter.
Quote:
Quote:
Whenever I refer to Java or computer science in general rotting someone's brain, this is pretty much what I'm talking about.
I am not going to try to glorify Java, but it is not a bad language. By being spoiled by Java I refer to its oh so very useful Garbage Collector. I use the GC as it is Java's method of taking care of used resources and properly releasing unused components to be taken care of by the GC is important.
The fact that I haven't programmed C++ in years is the reason I don't program it now, really I left C++ because I didn't have a compiler (~6 years ago). At the time I wasn't as knowledgable on the free alternatives. Therefore I do no remember how to correctly setup and use the alloc or the header files (very important stuff).
I really hate the garbage collection model. It doesn't make sense to me that you allow memory leaks
by design and then whenever they get to be too much, clean them up later. Java applications take a huge amount of RAM to run, and this is one of the multitude of reasons.
As for getting a free C++ compiler, you could use Cygwin if you wanted. Just select 'gcc' when installing. I also recommend adding 'make', 'git', 'ncurses', and a few other useful libraries and applications.
Quote:
Quote:
C# is as bad as Java. In fact, it was Microsoft's answer to Java. Further, it's NOT natively compiled! It's interpreted.
You sir are sadly misinformed. While it is true C# was inspired in part by Java it is not thier answer to Java. So unless you have some secret In-House Microsoft memo, I don't wanna hear anything more about that part.
You don't need an in-house memo to figure this out. It's quite simple. Microsoft had their own Java virtual machine until Sun Microsystems, being the asses they are, decided to sue them. So Microsoft went off and wrote a language that is virtually identical to Java, and performs just as badly. It's simple business politics.
Quote:
Further more it is NOT interpreted, it was never interpreted. C# is compiled, only MSIL code units are compiled just when needed at runtime (via JIT which is not interpretation). See here:
http://en.csharp-online.net/Glossary:De ... st-In-Time
JIT is a method emulation. It's
NOT NATIVE CODE. Try running a C# application or Java application on a machine without a JRE or .NET framework (Mono or the official one, whichever). It CAN'T be done, because the code isn't native. It's bytecode. Yes, it's "compiled on the fly" with JIT, but that's a massive detriment to performance, and it's truly just acting as an emulator for the virtual machine that the bytecode is designed for.
Quote:
Last thing and this one is really really mean for me:
Now please do your homework, before you open your mouth, or you look like a total idiot sometime later.
"really really mean for me"? What the fuck?
And try to explain to any Intel or AMD engineer that Java performs just as well as native code. It's complete and utter bullshit. hardware engineers know this, and you'd be laughed out of the room.