will java become the next big language?

Started by
145 comments, last by the_nemesis 22 years, 1 month ago
quote:It''s SLOOOWER! You have the JITTER and the JVM sitting in memory, diluting your cache.

Not necessarily considering that the JIT compilation can optimize better than a static compiler by performing runtime optimizations such as inlining of any method and customization of the compiled code to the specific runtime environment, including the specific cache pipeline architecture.

quote:Hmm, afaik there are 2 major database vendors, Oracle and Microsoft. One uses c#, and one uses java. Seems tied to me.

In 2001 both IBM and Oracle had around 30 - 34% each of the database market and Microsoft was at about 14%. Other database vendors accounted for the remaining 20 - 30%. I would not call it a tie, especially considering that IBM is one of the biggest Java pushers and that many of the other vendors benefit from cross-platform database technologies. Sybase has Java in their database (accounts for about 4% of the market) and IBM recently bought the database ops from Informix, which pushes their market share up by 3-4% or so. Microsoft really needs a new Internet boom to get companies to invest in its .NET server-side technologies.

The source.

quote:But, perhaps the most obvious reason for Java''s future failure to replace C++ will be C#. C# is a sort Java-like C++.

C# is basicly a Java clone and I agree that there is a chance that C# might become popular. Still, I would rather program in C# than C++, even though I do not think it has much to offer me as a Java programmer (but that discussion has been had in other threads).
Advertisement
quote:Our test proved to us that a) Java threads are actually native threads and not emulated by software

I do believe some runtime environments supports both native and ''green'' (emulated) threads and lets you select which mode to run in as a command line switch.
Oluseyi should be here any moment to close this famewar...

but in the meantime:

!!!~~WATER~~!!!
---START GEEK CODE BLOCK---GCS/M/S dpu s:+ a---- C++ UL(+) P(++) L+(+) E--- W++ N+ o K w(--) !O !M !V PS- PE+Y+ PGP+ t 5 X-- R tv+ b+ DI+ D G e* h! r-- !x ---END GEEK CODE BLOCK---
Let me throw in my 2 cents. This is a game programming board right? Therefore this argument, I guess, should be focused on the game programming aspects of these two languages. First of all, I think Java becoming the next standard is monkey crap. It won''t, why not? Speed, sure you people talk about jitting, and this compiler and that, well since there are a million ways to speedup Java code there isn''t a standard and probably wont be for a while. Also, if jitting is used, then the computer running the program just have it running on their computer, which would also be taking up some cpu cycles. There is a speed issue people(or Java programmers) wether you like it or not.

In fact, I went to Namco jobs recently, and they are still in the ASM age. They hate people who say "Why use ASM and a good C++ algorithm can do the same?" Now some people may disagree with that, but Namco''s Ace Combat 4 is some tight ass graphics locked at 60fps and no load time whatsoever on the PS2. That''s speed. Basically, my point is, true we''ve moved from ASM-C-C++, but Java won''t be next for the fact that unless interpreted, there are a hundred different ways(sarcasm) to compile/execute the programs.

About the learning aspects of Java. Of course its easier! What are we doing reducing the standards required to program? My personal opinion, and probably the opinion of many is that if you cant check the bounds of an array, or properly manage your own memory, you shouldn''t be programming on the PC. You shouldn''t be expecting the computer to do something for you, instead, you should be expecting to be able to tell the computer exactly what to do and when to do it. No ands/or/buts about it!

The last reason Java wont become a standard is because of C#. If Java will replace C++ then C# will replace Java even faster. Why? Backed by Microsoft, speedy Windows development, C is in the name(I''m not kidding about this one), and the method of compiling is jitting by default. There aren''t interpreters, static compilers, and whatnot yet. It''s all uniform. Also all Java supporters who say Java will replace C++ should ask themselves, why won''t C# become the next standard? If you can answer that, I bet the same applies for Java, unless its just anti-Microsoft related.

"Ogun''s Laughter Is No Joke!!!" - Ogun Kills On The Right, A Nigerian Poem.
"Ogun's Laughter Is No Joke!!!" - Ogun Kills On The Right, A Nigerian Poem.
Isn''t C# interpreted and *AHEM* just another clone with a few things slapped on just to make you water?

(ie, garbage collection. That SLOWS down shutdown just by a little to ALOT)

also, as we are on it, C# is in the future, and well, I wont bash it for te sake of the *nix communities. But while we are on it, Java is a language that is here to stay. It IS a big thing. Ask anybody:

"Do you knw what java for computers is?"

Theyll say _YES_. Ask the the same thing, but with c or c++, theyll say "Whats C?". Of course this applies to the average person.
---START GEEK CODE BLOCK---GCS/M/S dpu s:+ a---- C++ UL(+) P(++) L+(+) E--- W++ N+ o K w(--) !O !M !V PS- PE+Y+ PGP+ t 5 X-- R tv+ b+ DI+ D G e* h! r-- !x ---END GEEK CODE BLOCK---
"Giving you a code example won''t do, I was talking about the time it takes to implement the algorithm, not the time it takes to execute it."

yes actually giving me some code would work. If I see a piece of code that is three lines long and uses commonly used features libaries of the language I can safely assume that it was easy to write. If I see a sprawling mess then I can assume that it was hard to write.

You see, the thing with C++ is that it has a reasonable number of features and a solid standard library. I don''t recall if you were the guy who said he wasn''t familiar with the STL but if so then you have no buisiness even discussing C++, none at all. C++ comes with a standard library that is simply amazing. Generic programming is very powerful. I just took a look at the API pages for java (which are very nice, I wish C++ had the same thing, SGI''s are ok I guess) and I see that they have some weak attempt to get iterators and so forth, but when it comes down to it they can''t be implemented right without templates (which I hear java will be getting, but we are discussing java as it is now) the multitude of interfaces and abuse of casting just doesn''t cut it.

Also I noticed that there doesn''t seem to be a java equivilent to the algorithm header. They''ve got some collections but that''s all I see in java.util. Without algorithms and the facility to write more what is even the point? Ok you''ve got sort but there is so much more. Let me explain it this way. I can write a function or make a functor (an object that can be used as a function) that takes an object and returns a bool. Such a function or functor or whatever is called a predicate. There is an algorithm called remove_if that takes two iterators (the start and end of a range) and a predicate. Because of implementation and compatability reasons it actually moves the removed item to the end of the container, and then the result of the remove_if is an iterator to the end of the non removed portion. Then you can use that as the new end (which works quite well) or copy from the beginning to the new end to clean things up nicely.

Now here''s the thing: it works for all containers and all types (containers that hold ints for example). No interfaces to implement, no tedious and unsafe casting, none of the labor intensive stuff java programmers have to do. It goes even farther. You know how C has those very simple array types? All the standard algorithms work with them too. If I want to sort an array "a" I just do this: sort(a,a+aLength); That''s pretty amazing. Of course you say its no big deal because you don''t have to use C style arrays. What I''m trying to get across is that the whole thing is extremely modular. We also have stream_iterators which let you treat files just like containers. That''s why we can read in a file, sort it and write it out in two lines without the code getting ugly (I recall it being possible to do it in one but kind of confusing). By getting the algorithms outside of the classes you can abstract them better, and that leads to reuse.

Anyway back to your argument, show that programming in java is easier. Toss up a problem and solution for both java and C++ (or maybe leave the C++ version to us) and show us how much easier it was to write the java solution.

As for speed, well I don''t think it is the big issue. I mean from practical experience C++ is faster. Sure maybe optimized java is the same speed but most users have setups that are far from optimized and you can''t count on anyone having JIT and other stuff like that. Anyway the real issue is that java lacks features and essential libraries (not for a lack of effort, the STL simply can''t be written without templates, operator overloading helps too). The way I see it C++ has about 80% of the language features I want and java has around 30%, I feel like I''m missing an arm or something.
quote:Original post by Andrew Nguyen
Oluseyi should be here any moment to close this famewar...

Been ignoring this for a long time.

Will Java become the next big language?
Gee, I don''t know. Will "the next language after Java" be "the next big thing"?

I don''t know why you all bother with such broad and meaningless classifications. Is Java useful? Yes. Is Java relevant? Absolutely! Is Java a panacea - an answer to all programming problems? Fuck no! People still use FORTRAN for certain applications (for better or worse).

That''s all you need to know. Thread closed!

[ GDNet Start Here | GDNet Search Tool | GDNet FAQ | MS RTFM [MSDN] | SGI STL Docs | Google! ]
Thanks to Kylotan for the idea!

This topic is closed to new replies.

Advertisement