You are confusing Java "the language" and platforms that use Java.

There are in fact serveral platforms where Java is used - J2ME, Servlets, Java Beans (and more). These platforms have one thing in common - applications are written in Java "the language". But other than that, they have little on common, and a J2ME application will not run inside WebSphere (for example). Each of these platforms defines its own framework and its own runtime environment.

Android applications are written in Java "the language", Android provides an implementation of basic Java library, but beyond that - it's a platform just like the platforms mentioned above. It has its own Java framework, and its own runtime environment.

The framework doesn't include parts of Java platform that don't make sense for a phone app - like AWT or Swing. But the same is true for a Web Servlet container.

Since application source is Java, Android team was able to leverage work already done by other people: Eclipse, the Java compiler, keytool, etc.

Dalvik and .apk / .dex bytecode format is completely irrelevant - you don't create applications by entering bytecodes directly on the phone.

From a purist point of view, even Sun's own Java VM with JIT can be considered "not Java" since it doesn't directly execute Java bytecodes - but that would be really absurd.

Finally, here is James Gosling's own take on preprocessing in Java:

http://java.sun.com/docs/white/langenv/Simple.doc2.html#4078

-- Kostya

01.08.2010 14:55, sblantipodi пишет:
I'm sorry, I don't want to irritate no one, but I have different
thinking on the topic.

To say that something is Java or Java Powered you need to pay and pass
intensive test.
Google hasn't payed nothing to Sun, nor Oracle and neither passed any
JCP test so
you can't call it java.

Why Google folks use this statement?
"Android applications are written in the Java programming language.".
How Dalvik is supposed to be considered Java? It has a different
bytecode, it uses different package systems, its API does not even
reflect tha actual Java API's, it doesn't have any compatibility with
CLDC or CDC ...
How they can call Android "Java"?

Calling Android "Java" is like saying Microsoft J++ is Java,
this is only my opinion, you can disagree, don't irritate it's not my
intention and please sorry
if I made you irritating.

Regards,
Davide.



On Aug 1, 10:29 am, Mark Murphy<mmur...@commonsware.com>  wrote:
On Sun, Aug 1, 2010 at 4:05 AM, sblantipodi

<perini.dav...@dpsoftware.org>  wrote:
Android ISN'T Java, it has no rights to be called java and if you not
agree with it
you should learn some basic java guidelines and understand what is
java.
Android uses Java source code and Java build tools (notably javac,
keytool, and jarsigner) as part of creating Android applications that
run on the Dalvik VM. For shorthand, many people involved in Android
will say that "Android runs Java" or "Android Java applications" or
the like.

You are welcome to disagree with the shorthand, but the more you
irritate people providing assistance on groups like this, the less
likely it is you will get assistance on your questions. Therefore, you
need to decide whether your oft-repeated "Android ISN'T Java"
statements are in your best interests.

Anyway Android is the ONLY programming language that doesn't support
preprocessor on mobile phones,
Java (J2ME, Blackberry, Android) does not have a native preprocessor.
Neither does Javascript for WebOS/HTML5 applications, nor Actionscript
for Flash/Flex/AIR applications. Neither do some languages drifting
into the mobile space (e.g., Ruby, and Perl AFAICT) for Android,
Meego, and Symbian.

It is probably more accurate to say that C and its derivatives (e.g.,
C++, Objective-C, C#) and .NET languages (VB, C#) have an integrated
preprocessor, and that those languages are widespread in mobile
platforms today.

--
Mark Murphy (a Commons 
Guy)http://commonsware.com|http://github.com/commonsguyhttp://commonsware.com/blog|http://twitter.com/commonsguy

Android 2.2 Programming Books:http://commonsware.com/books


--
Kostya Vasilev -- WiFi Manager + pretty widget -- http://kmansoft.wordpress.com

--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to