If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

I hope Java 7 and Java 8 are nicer.
I only used Java 6, and I think C# / .NET are much nicer than Java.

It is too bad that Android development is stuck on Java 6 and cant use more modern Java 7.

What is actually too bad is that we can't use plain C (or C++) to get rid of the bloat. And don't talk me about native activities because they still run on top of Dalvik. I own an Android phone with 512MB of RAM and a 1Ghz processor and it is slow as hell with Android 4.0. And I guess C# wouldn't be much better in this regard.

What is actually too bad is that we can't use plain C (or C++) to get rid of the bloat.

There is nothing inherently wrong with Java as a language. You can write bloated crap in any language, not just Java. It doesn't matter which you use, be it Java, C, C++, C#, or Perl, if you write an algorithm that runs in O(n^2) time that could run in O(nlogn) instead, your program is going to be slower than it should be.

There is nothing inherently wrong with Java as a language. You can write bloated crap in any language, not just Java. It doesn't matter which you use, be it Java, C, C++, C#, or Perl, if you write an algorithm that runs in O(n^2) time that could run in O(nlogn) instead, your program is going to be slower than it should be.

Java isn't bad language, but memory usage of Java applications running with 64-bit Oracle JVM is ridiculous.
Simple C++ Qt application takes less than 5 MB of private memory, but usage of similar Java application can grow up to 150 MB of private memory.
150 MB isn't too much on machine with 4 GB or more RAM, but 10 such Java applications will use 1500 MB of private memory which is ridiculous compared to 50 MB with 10 C++ applications.

Java isn't bad language, but memory usage of Java applications running with 64-bit Oracle JVM is ridiculous.
Simple C++ Qt application takes less than 5 MB of private memory, but usage of similar Java application can grow up to 150 MB of private memory.
150 MB isn't too much on machine with 4 GB or more RAM, but 10 such Java applications will use 1500 MB of private memory which is ridiculous compared to 50 MB with 10 C++ applications.

*shrug* Maybe 8 will be better. There's an open-source reference implementation for version 8 which is the official reference implementation. It's feasible that people could find ways to optimize the implementation given that the code is open.

Maybe it's a placebo effect (OOH, Shiny!), but I recently upgraded from JDK 6 to JDK 7 for a project at work, and it seems to at least start/stop the web application server much faster on my machine.... (JBoss AS 6, Core i7-2600k, 8GB DDR3, Ubuntu 13.04 64-bit).

And there's a bunch of new warnings thrown by the compiler that I have to go and fix now...

Java isn't bad language, but memory usage of Java applications running with 64-bit Oracle JVM is ridiculous.
Simple C++ Qt application takes less than 5 MB of private memory, but usage of similar Java application can grow up to 150 MB of private memory.
150 MB isn't too much on machine with 4 GB or more RAM, but 10 such Java applications will use 1500 MB of private memory which is ridiculous compared to 50 MB with 10 C++ applications.

I thought they fixed this years ago like around v1.4 or v1.5? (I'm referring to sharing common JVM libraries and classes between ten Java applications.)

Anyway, there are ways to get around that if the programmer needs to. After all, JVMs were created even for small embedded devices where RAM is a premium.

There is nothing inherently wrong with Java as a language. You can write bloated crap in any language, not just Java. It doesn't matter which you use, be it Java, C, C++, C#, or Perl, if you write an algorithm that runs in O(n^2) time that could run in O(nlogn) instead, your program is going to be slower than it should be.

Sure, but the same O(n) algorithm in Java is slower than in C. Even Micro$oft is realizing managed languages suck and that's why after all these years they are pushing C++ again.

Sure, but the same O(n) algorithm in Java is slower than in C. Even Micro$oft is realizing managed languages suck and that's why after all these years they are pushing C++ again.

At small time scales like O(n) and assuming equally optimal compilation of the code, I agree that you will see a small differences in runtime due to different overhead in the two languages. Although, I doubt that the additional overhead in Java would even be noticed by most users.

The problem with C is that it won't do anything for you. With C, you need to worry about things like allocating and deallocating memory, things that Java just does for you. Given how error prone memory management can be in C (tools like valgrind help), a managed language like Java makes more sense for most applications. Java's compile once, run anywhere model also makes it much easier to manage a cross-platform application. Low level compiled languages like C and Fortran have their place, but to rule out Java because it is "bloated" is just being silly.

ps: I'll start respecting Microsoft's opinions when they support modern standards (no C99 support 14 years later is beyond ridiculous).