[java] I am sick and tired of prejudism!

Started by
31 comments, last by felonius 23 years, 10 months ago
When I talk with people about gaming they often laugh when I tell I use Java. I am sick an tired of it and are now trying to educate people a little. I have therefore written this article, which I will post more places later. First, though, I would like to know any of you here have any comments and corrections that can be made to the subject. The article is here: http://www.marner.dk/articles/WhyJavaCanBeUsedForGames/index.htm Jacob Marner Edited by - felonius on 6/25/00 8:27:19 AM
Jacob Marner, M.Sc.Console Programmer, Deadline Games
Advertisement
I usually just smile inwardly and stop talking to people like that.

In a passing note, I''ve started doing stuff with enhydra app server (www.enhydra.org), and it seems to be the _fastest_ thing for web applications i''ve seen to date (faster than cold fusion, asp 2 & 3, php4). I''m going to do more concrete benchmarks this saturday.
YOU feel terrible! YOU feel terrible??? You should read my posts. When I even hint that I don''t use C++ people start telling me how freeking great C++ is. I wish I could tell them to stick that C++ up their a$$. Well sorry for that complaint, but you''re not alone.

------------------------
Captured Reality.
Well, I use C++, and I can tell you, all other languages suck!
In case you couldn''t tell, I''m being sarcastic. Although it is true that I use C++, there are definitely advantages to using any language(well, ok, *most* languages), and, as I always say, to each their own.
well...I am not saying this to start a flame war or anything but... C and C++ quite simply is a better language. By saying that though I do not mean to imply that Java is not a good language..It has some really good qualities to it that C/C++ does not have..once again though C/C++ has some good qualities that Java does not..It really depends on what your current project requires..but most people do not like Java because it is inheritantly slower..because of that C/C++ will be the language that most people choose for quite awhile.. I prefer C/C++ because it is faster, and more suitable for games..
When someone says something bad about you using Java..they are not taking into account what reasons you may have for using Java..and they are in a sense choosing to be ignorant..
In my short excistence on this planet I luckily have gotten use to ignorance and stupidity..if I were you, I would adapt..

-Lucas
-dieraxx@iname.com
-Lucas
This thread inspires the thought "oh, for Goodness'' sake, GROW UP (and study some basic CompSci theory)!" Java, C++, (Visual) Basic, COBOL, LISP, FORTRAN, Python, Pascal, Ada, and almost any other language out there has merits and demerits for a particular application. There IS no right answer when it comes to choosing a language - and there will continue to be no right answer, as new and improved languages are arriving all the time. [Tim Sweeny wrote a really good article on a similar topic a while ago, I think it was on Gamespy].
To Syntax,
Did you actually read the article or are you just posting out your usual opinions?

To Bracket,
I think we all here know that you are right. Every language has its advantages. I am myself a great fan of both ML and Oberon-2, but the issue here is whether a certain language is useful in game development of professional class games.
Here C++ is the standard everything is mesaured by and when starting out a new project the choice of language is quite an important design decision to make. Afterall, no matter how I do it I cannot use ML for games. The only real alternative to C++ at the moment is Java - and that is why the issue is discussed.
The people that I talk about that dislikes Java often like it as for web applications but not games. That is what I trying to change.

Jacob Marner

Note: I edited the article to correct a few typos and make it clear that it is not about language flaming.
Jacob Marner, M.Sc.Console Programmer, Deadline Games
Well, if somebody despises me when I tell I''m using Java, I ask them what they have done with their Super hyper coooooooooooooooooooooooooooooooooooooooooooool language. They show me something crappy like tetris, but when I bring my Isometric engine made from simple polygons(noone knows that) they usualle get very amazed. They probably thought that I''m pummeling with crappy applets while they are trying to instal Direct X. Those who usually doubt Java are somewhat newbie programmers without much experience, because usually better programmers know that every language has it''s pros and cons.

Time comes, time goes and I only am.
I know C/C++, JAVA, BASIC, PASCAL, OO PAscal (in delphi) ....
And I can tell that I prefer JAVA for the OO things, but I prefer C for speed... and euh... well c++ is really bad, even if I use it.

In fact if I use it it''s by lack of better language, a faster JAVA for example.



-* Sounds, music and story makes the difference between good and great games *-
-* So many things to do, so little time to spend. *-
I have extensively used both Java and C++. I do agree with you that a decent game can, and probably has been written in Java. Although I think that a fast graphic intensive game would require some JNI. So the only real advantages I see in using Java for a game is its cross-platform capabilities, and possibly faster development.

C++ can be more that 10% faster than Java. It depends how you use C++. I personally use it to somewhat break the rules. Most of this comes from using pointers in whatever way I feel like using them. For example all those get and set functions actually take CPU time! In C++ protected and private only stop beginners. Then there are some examples that I have found that can''t be easily translated into Java.

1.Casting. Java does not let me cast an array of primitives into an array of a different kind of primitives. There is no security flaw involved in it. I know that big endian and little endian would represent it differently, but I could have used a switch to make up for it. So what do I have to do in Java to emulate this? Loads of shifting and oring.

2.Good string manipulation. I am fairly sure that Java''s string class like most others actually copies the data when I want a substring. Again a little pointer arthmetic, and in this case sometimes saving the string length is what I would do in C. And why both with having 2 seperate string classes?

3.Seccurity restrictions, and exceptions. I get sick of having everything I do get check with system to see if its all right. Especially with those out of bounds exceptions. They are incredibly slow. They are good for debugging, but eventually I know that I''m not going to go out of bounds.

I do agree that in all of those instances JNI does solve the problem. Then your code isn''t platform independant; there goes one of the main reasons to use Java. And of course if you are making an applet you can''t even use JNI.

I also agree that most programmers using C++ can easily mess it up, and they should be using Java. But for advanced programmers who program closer to the CPU''s architechture, C++ is much better. When I tell Java programmers to grow up and use a real language, I mean get out of the sandbox and break some rules!
For a good time hit Alt-F4! Go ahead try it, all the cool people are doing it.

This topic is closed to new replies.

Advertisement