I'm not going to pull any numbers as to why I say that most people
think java sucks, maybe it's just some. I've gathered this from
workplaces, forum/irc chats, etc. A lot of java applications are
hated upon due to being slow (Eclipse, Azureus, Tomcat?). Java browser
apps are generally slower than their javascript or even flash
counterparts. (They're also regarded as outdated)
Actually, I don't agree with your use of "slow" with the apps you
mentioned. Eclipse is very snappy... I've not seen any difference in it
over any other native IDE. Netbeans on the other hand I have found
sluggish at times, but is usually snappy. Azureus is built on the same
underpinnings that Eclipse is built on, which if you don't know, IBM
built their own GUI toolkit because they felt Swing/AWT was too slow.
Those are good examples of perhaps the two most popular Java client
applications out there, and both are very solid. I've seen many native
apps more sluggish and crash than either of those apps, so they weren't
good examples. Tomcat.. it's a server app.. I am not sure what it slow
about it?
There are no doubt MANY slow java apps, and yes, for the most part you
have to know how to develop a smooth running GUI app (Swing in this
case). The truth is, the majority of developers that are tasked with
such apps have no clue what they are doing and learn while doing..
usually releasing a not so great application. I will admit, I was one of
those... I was learning Swing while working on an application. I didn't
know a lot about the Swing event thread, threads in general, and it
could be seen in my app. I eventually adopted a plugin model that I
built from the ground up and got things working a lot smoother, but it
took a while to really learn the "tricks" of Swing, class loading, and
threading within a Swing app.
As for server side... well, I dare say that Java is more performant than
any other language/platform out there. I think most people know this, or
I would guess that by now, the majority of major corporations would have
long since switched to .net or something else. I would also say that the
majority of java developers fall into the JEE camp of development. I had
hopes for Swing.. I still feel that there is no GUI kit on any platform
as good.. overall. By that I mean, the ability to literally develop a
full GUI app that runs on every platform out there with little.. and in
most cases, no changes, is amazing. I had my app running on windows (all
flavors), Mac, Linux, Unix, and a few others, with no changes. If you've
ever tried to do a cross platform application in any other language,
especially one with a GUI where each platform's native GUI toolkit is
different than others, well.. I'd say that most developers would be
willing to forgo the sometimes slowness over the incredible flexibility
and time savings, let alone an app that looks/feels/works the same on
every platform.
I am not so sure about Java FX tho. It seemed like a good idea.. but I
still haven't seen where it's catching on in a big way yet. I am
learning about JSF and such now and it's a pretty nice technology stack
for doing web development with.
This is why google had to make its own vm to optimize it, plus you
have to go through some pains to avoid the GC where as in regular Java
apps objects are allocated all the time. This causes them to lag
badly when objects are constantly being allocated and freed.
In a server app this really isn't a problem, and the JVM is pretty
good to work with. (ie with scala, groovy, etc)
I don't believe this is why google made their own VM. From what I
understood, they made it to reduce the footprint and Jave ME wasn't good
enough. A little fact.. until Froyo... Android OS was slower than Jave
ME on older hardware. It's only with Froyo and the JIT they include with
it that apps are really starting to become speedy. That's not to say
Android 2.0/2.1 wasn't good... for a phone, or even a tablet, most apps
are plenty fast enough without a JIT. I think the JIT will help in some
genres, especially games that aren't completely done in the NDK.
Java is very popular for day to day and general programming, because
it's the main language at most universities. However, I haven't seen
any truly innovative snappy or fast performing apps either client or
server side. (Maybe even the corporate there's a lot of reliable and
fast code.) There is a taboo, where it's regarded that programmers who
only know java aren't very good.
I think programmers that only know java are far less than those that
learned Java from another language, usually C/C++ or VBasic.. I myself
came over from Delphi which was more like Java than Pascal in my
opinion. As for it being as popular because it's taught at
universities.. don't agree at all. Pascal and C were taught for a lot
longer than Java has been, and Java has far surpassed it in choice in
the industry right now. Android is only going to add to the popularity
of Java, and thanks to Apple's ridiculous requirements and rules, it's
also helping many developers leave Apple and come to Android. I don't
believe in taboos... if I have to I can pick up other languages as
needed. Thus far, there hasn't been anything I can't do with Java. I
don't write native/platform games, or system drivers, most other apps I
can use Java for.
I mean, who thinks of java as the future? If it wasn't for people
innovating it, like google and groovy and scala are, it'd be dying a
slow death. (or like perl, living nicely in the corporate world, but
be in danger into falling into a niche language in the next
generation)
I don't know how you can say that. Maybe not the future.. next 10+
years, for sure, 50 years.. who knows. Cobol and Fortran are still used
50 years later, not nearly as much of course, and C is ever strong in
the market for those areas that Java doesn't fill. I be in danger of
falling/dying.. come on.. it's been huge for at least the last 10 years
now. While I would guess there is more C code out there in the world
than Java, Java is 2nd by a large margin and probably catching up sooner
or later to the amount of code converted to Java or used in the field. I
wouldn't think all these JEE companies would be still using Java if they
didn't see a future in it. That's just too naive of a thought for me. I
guess I would be labeled a java fanboy.. I can accept that. But I am not
against .NET.. I know it's a great set of languages and platform for
many things, and yet I would love to go back to plain old C... something
I am hoping to get back into with some NDK programming soon as Google
steps up the NDK capabilities for native audio/video access to the
devices it runs on.
On Thu, Aug 12, 2010 at 10:04 PM, Kevin Duffey<[email protected]> wrote:
Interesting point of view Miguel... most developers think the language
sucks? Do you back this up in some way? Java is a very good language. I am
curious what you find so bad, what languages you think are vastly superior?
I think all languages have their faults, but given the overwhelming
popularity of Java in many facets of software development, it's got a looong
life ahead of it. I have found that most people that say this about Java,
know very little about the language and usually fall into the camp of those
that "hate java" until you ask them why and the usual response is "because
it sucks". Anyway.. I am not opposed to other languages.. NDK.. as soon as
it allows for direct audio and video access.. will be the language of choice
for most of android development anyway (aka.. C).
On 8/12/2010 9:52 PM, Miguel Morales wrote:
Well I think this has to be because of the use of Java in Android.
If this is the case, I'd say that Oracle should be grateful that
Android chose Java when there are better options out there. I
personally wouldn't have touched the language if it wasn't for
Android. Most developers think it sucks.
It might also be because you can use 3rd party java libraries in
android. In either case, java was given a breath of life by google,
Oracle should be kissing their butt.
On Thu, Aug 12, 2010 at 8:07 PM, Shane Isbell<[email protected]>
wrote:
If there were no lawsuits, then I would worry. This is an encouraging
sign
that Android is starting to rattle more cages due to its expected
profitability and competitiveness.
On Thu, Aug 12, 2010 at 7:27 PM, Dianne Hackborn<[email protected]>
wrote:
Oh gee, another patent lawsuit. :p
I certainly wouldn't lose any sleep over this as a third party
developer.
:}
On Thu, Aug 12, 2010 at 5:52 PM, Frank Weiss<[email protected]> wrote:
It hit the press today. Rumored that Google refused to settle. I have
no idea where this is headed, but I'll continue to develop for
Android.
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to
[email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--
Dianne Hackborn
Android framework engineer
[email protected]
Note: please don't send private questions to me, as I don't have time to
provide private support, and so won't reply to such e-mails. All such
questions should be posted on public forums, where I and others can see
and
answer them.
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--
Shane Isbell (Founder of ZappMarket)
http://apps.facebook.com/zappmarket/
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en