You need to remember that each language has its own area of performance.
A lot of you have said that Java is a 'learning' tool for OOP, this is true in some respects, but I believe you haven't used Java to its full potential.

Sun took all the good things out of C++ and left out the bad design that makes C++ something you sometimes have to fight with.

Java was never going to replace C++ nor was it going to be the best at graphics, what it excelled at, which it still does; is security, threading, multi-platform byte code and size.
The Internet and the needs of the Internet shaped Java into what it is today. It is still a relatively new language compared to the other out there.

You need to look at the languages as 'tools', and then you can choose the best tool for the job. You wouldn't loosen a screw with a hammer; you could, but a screwdriver is the best 'tool' for the job.
Likewise with languages, Java is the best tool for Internet applications, backend processing and applications in a WebPages. But I would never use Java as a Front-end application. For front-end rapid design, you would need something like VB, Delphi or dare I say it OpenROAD.
C++ is a very powerful tool, and with power comes responsibility. I have seen too many programs in C++ written badly, thus performance is awful. You can use C++ as a fairly rapid application tool, I have on many occasions, but it comes into its own when you write graphics/adapters/device drivers.
ASM can be misused a lot, (Zips up the flame suit) something you can do in ASM you can do C++ and have the same if not better performance, that?s why I prefer to use a combination of C++ and ASM, because they compliment each other.

Now if I had a procedure/function in C++ that was being used a lot and it was bottlenecking my application, or I was going to do some serious graphical processing routines, then ASM is the ONLY tool for the job.

This is drawn from my own experience, in my years of being a code monkey; I guess some of you guys are older and wiser and would like to correct me. I always love to learn.
This is my second post on this forum; you don't have to go easy on me. :D
Posted on 2003-09-04 10:54:09 by Beefy

I think JAVA is lame. Though everyone seems to hate MS for it, VB is much simpler, more widely used, and I think just better all around.

Why doesn't someone turn the tables on MS and write vb runtimes for other platforms?

Also, look at the differences between Java and javascript. Then look at the differences between VB and VBscript. While each script engine is stated to be a subset of it's more complete parent language, vb/vbscript looks to be closer to it than java/javascript.

Aside from the platform issue, my choice would be vb for it's simplicity and wide use. Also I have had much better luck contracting for vb than for java, and is really the only reason I use it at all. I would much rather spend my time writing asm code. Yes, it takes longer and you have to write more lines of code, but you end up with much better programs.

I'm sure I'll see some flaming for this, but, oh well....


While vbscript/vba is indeed a subset of fullfledged VB, javascript has nothing to do with java (not even remotely) you can thank netscape inc. for that mix up.

I think MS holds some copyrights over the VB runtimes BTW :tongue: ;)
Posted on 2003-09-04 13:15:10 by Hiroshimator


Java was never going to replace C++ nor was it going to be the best at graphics, what it excelled at, which it still does; is security, threading, multi-platform byte code and size.
The Internet and the needs of the Internet shaped Java into what it is today. It is still a relatively new language compared to the other out there.

You need to look at the languages as 'tools', and then you can choose the best tool for the job. You wouldn't loosen a screw with a hammer; you could, but a screwdriver is the best 'tool' for the job.
Likewise with languages, Java is the best tool for Internet applications, backend processing and applications in a WebPages. But I would never use Java as a Front-end application.


what do you mean with applications in a webpage, Internet applications and back-end processing? :confused:

here's contention: c# > java :tongue:
Posted on 2003-09-04 13:18:11 by Hiroshimator


what do you mean with applications in a webpage, Internet applications and back-end processing? :confused:


Applets, Java Frames and business models on websites.



here's contention: c# > java :tongue:


Yes.. Well C# is even younger than Java. Multi platform, I don't think so.

C# is competition, but the only reason it is still going is because Microsoft is behind it.
.Net is a very good idea, I like the concept and lots of people are/will be using it, it is the way to go, to improve OOP.
Posted on 2003-09-04 15:37:10 by Beefy

Im hoping someone can enlighten me though.
Hmm... I've found one interesting thing - J2ME. You could try it if you have compatible cell phone...


... something you can do in ASM you can do C++ and have the same if not better performance...
I think you're using the latest version of Intel compiler ;)
This should not compile stuff like Delphi compiler is able to do:
xor EDX, EDX

mov [dummy1], EDX
mov [dummy2], 0
mov EDX, [dummy3]
and then you can choose the best tool for the job.
I suppose, this should be better: not "for the job" but "for you"

BTW, I prefer Victorinox SwissTool to loosen _any_ screw :)
any way screw loosen with a hammer is better than nail hammered with a screwdriver :tongue:
Posted on 2003-09-04 19:08:46 by S.T.A.S.
the most reason I think you 2 fast 2 furious guy hate Java is the slow of Java.
Well , in order to meet platform-independent. , Java and others ( Python, Ruby , Perl ) must interpreted.
And it slow when you run GUI program.
But nobody ban you when you write a native - compiler for Java . Of course , doing it will lost some benefits from platform -independent but your program run fast .
Let's check GCJ , Excelsior Jet or Tower J .....
Or you can try to use JNI to write GUI ( example : wx4j (use wxWindows ) or JWindows ( use MFC) ) . With GUI separate from your model , I don't think your program will be slow . It will run at an acceptable speed .
In Mac , JVM running just a little slower than C++ program. And in Pathfinder , I don't think it slow because they put Pathfinder on Mar :) ....
:tongue:
Posted on 2003-09-04 21:38:08 by dreamweaver
But I would never use Java as a Front-end application.



Not much true, also i dont know much about this, i only read the article days a go, but aparentry is a good option :D maybe sun can suport directly some like this.

http://www-106.ibm.com/developerworks/java/library/j-nativegui/?Open&t=grl,l=805,p=cgui

I take the link from this page: http://rootprompt.org/prog.php3


Yes java is slow, but have some like the justintime that up the sped of the program after the first run (like precached?).

Java is like interpreted.. or is, also run in a virtual-machine and have the 'un' or 'much' famous bytecodes->opcodes_in_the_vm that you can code asm for it (you see in a anterior post), respect this, i dont know but if you skeep the phase of 'interpretation' you can g more fast, this is develop procesors that suport natively java, then the set of opcodes will be the bytecodes, also i dont know if sun have some micros that suport natively is set of instruction, my suposition is that they have.

Then by this way, then can run more fast, and not much trouble about C....... or C++ :D.


Java have a lot of suport from start on.... for example, when you start whit C or C++ you have the functions for the ANSI C and the STL for C++, but you can use the ANCI C to, i dont know how many functions have now suport on the ANSI, but the true is that the GUI is not a part, ok, but when you start from java, you have a complete set of.... things objects... to start with, that cover internet, RMI, security, encriptation, calendars, the GUI (this is a little not fast), threads, sound, and others things, vectors and more in the direct package, and you can start writing more nearly to the direct problem of the solution, based on thing in the solution like objects, but that is only another level of abstraction, personally I think that asm have to a personal level of abstraction, if not you can not solve problems with it... ;).


Is a tool, yes, is the best, i dunno, but work for the things that you use, also i am remembering one thing... i dont remember who say it, maybe some of you.. or you listened some time in you life, (some time is a function that depend of t, t is evaluated in the interval froms start of life to end...)... ok.. that was not the thing that i listen, the quote is this:


"If you think that you can, you are right,
If you think that you cant, you are right"


( The next 2 additions are of mine, is only for show the power of the maind)
"If you think that this is stupid, you are right,
If you think that i am laugin a lot, you are right"

See what you think... "what you think become your words, your word become in your actions and your actions become in your thinking". I dont remember if was that the cicle also I dont know if they are completely aplicable... mmmmm is not nice that we dont have some like aplicable(s,y,e) for see fast if is aplicable..... if the result is inside of the realWorld(PersonalPointOfView);


Nice day.
Posted on 2003-09-04 23:43:52 by rea
hgb that's not an argument to make. with c++ you can have lots of code ready made to support your application. wether or not it's part of some standard library is pretty irrelevant.

java is pretty slow and swing is a horror, both to code and to look at IMO. I have done only a bit of java but it's such an ugly language that it always turns me away.
Posted on 2003-09-05 05:12:02 by Hiroshimator
Yes, that is true, I only way that you dont get by part hitself of the language and then maybe they are not free for cross your app over the OS.


Is good that some things are standar but not all, C have his standar that let you write plataform independant, the true is that they do a specific function with the same name for each OS and then can be called by the same way, then the functions are plataform dependant, but the name is cross ;). I like qt is easy to understand and is crossplataform is oop and is not only a GUI, is a complete API, by this way you can have C++ or in case C with a little of C++ crossplataform apps. Is there the OGL I dont remember the other names of the librarys.


The look can be changed to look near to a win app (is a change of the skin).

Remember that i stop a little dont by the language itself, I say that they have bad examples at the page, aparently miss how a applet work, i dunno in anteriors java's was the way that work, but now are others runtimes that show a miss of design.:rolleyes:


But see that java is winning some things... like the look of the cells (only GUI part, of all the things inside, like communication, keystrokes???), Pathfinder??? what part of it?, at less it was stoped some hours?? not? :D was for the 'hardware or software'?

Respect if is pretty or not, I dont know but when I am reading on the past, i read that other languages have a more clean concept, if i am not wrong was ADA, Eiffel,tcl or some like that, some of this days I will look at some of this and see for what they say that have a more clean concept. All this are for OOP, they are only a tool for design in this way, also i remember that some say that OOP is a state of the mind/or_was_design, like I understand he can write OOP in C.

Nice day.
Posted on 2003-09-05 10:12:52 by rea