Why Java is Technology?
Hello everyone,
I m very new to java, i m still learning java. At the beginning itself i got a doubt that why everyone calls java as a technology not language. Please let me know why is Java is called as technology not Programming language.
It is a programming language. Lots of people call it that.
What's the problem? How does changing the name alter your understanding?
Yes, it's a programming language. Now go and learn how to program with it.
%
> Please let me know why is Java is called as technology not
> Programming language.
Java is more than just a programming language; it's a platform. The Java virtual machine specification and Java runtime environment are not programming languages, and other languages can be used to write programs on the Java platform.
~
Your answer is better than mine, Steve. Thanks.
%
> > Please let me know why is Java is called as
> technology not
> > Programming language.
>
> Java is more than just a programming language; it's a
> platform. The Java virtual machine specification and
> Java runtime environment are not programming
> languages, and other languages can be used to write
> programs on the Java platform.
>
> ~
Well said
All that is true, but the word "technology" gets overused.
For example, on the page "Update: An Introduction to the Java EE 5 Platform"
http://java.sun.com/developer/technicalArticles/J2EE/intro_ee5/
I searched and found these uses of the word technology. How many uses
actually add meaning to the sentences in which they appear?
The sections on web service support and JavaServer Faces technology have been greatly expanded
Mapping Java technology classes to XML
Mapping Java technology classes to databases
Web applications that use JavaServer Pages (JSP) technology only
Example 1A shows the Java technology code for a hypothetical session bean using EJB 2.1 software.
In fact, this API can also be used outside the Java EE platform in plain Java technology programs
Because entity beans are simple Java technology classes, they can be packaged virtually anywhere in a Java EE application
Now it's as easy as placing the @WebService annotation on a Java technology class.
When starting from Java technology classes, JAXB 2.0 can generate XML Schema documents that are automatically embedded inside a Web Services Description Language (WSDL) document
Example 6 shows how the mapping of Java technology classes and methods to web services
As the standard API used to bind XML documents to Java technology objects,
The number and size of the Java technology classes generated from a given Schema has been greatly reduced.
Example 9 shows a Java technology class annotated for use with JAXB 2.0.
A common issue in developing some Java technology classes first and defining their mapping to Schema later is that some common Java technology types do not have a standard representation in XML Schema.
The JavaServer Faces technology establishes standards for component design and as a result has created a new market for third-party JavaServer Faces technology components.
One or more JSP technology pages
Duke, the Java technology mascot [oy!]
Technology 1. Human innovation in action that involves the generation of knowledge and processes to develop systems that solve problems and extend human capabilities; 2. The innovation, change, or modification of the natural environment to satisfy perceived human needs and wants.
Java can solve problems that humans have, therefore it is a technology. Sun does overuse the term, but some people might think "Java? You can download coffee nowadays?".
" . . . and other languages can be used to write programs on the Java platform.
I was under the impression the JVM reads "bytecode".
Are you saying other languages can be compiled into Java bytecode?
Without going into details, how does that work?
Thanx.
> All that is true, but the word "technology" gets
> overused.
>
I agree.
> Are you saying other languages can be compiled into Java bytecode?
Yes (Groovy, for example).
> Without going into details, how does that work?
Pretty much the same way Java source code is compiled to bytecode. The compiler parses the source file and generates the appropriate bytecodes in accordance with the VM spec.
~
JYthon also compiles to bytecodes, same for JRuby. The JVM does not know anything about the Java langauge (technology :)) only of the class file format which leaves it open for other languages to be hosted on it.
> JYthon also compiles to bytecodes, same for JRuby.
LISP, too, via Kawa.
~
> > JYthon also compiles to bytecodes, same for
> JRuby.
>
> LISP, too, via Kawa.
>
> ~
I suppose c/c++ (or any language compiled to compliant native code) should be included as it can be called through JNI.
jbisha at 2007-7-28 19:13:17 >

> I suppose c/c++ (or any language compiled to
> compliant native code) should be included as it can
> be called through JNI.
No, native code called via JNI is not compiled to byte code!
('though one might trick gcc into compiling c++ into bytecode with some evil hacks ... but that's another subject for people who use multiple exclamation marks)
> I was under the impression the JVM reads "bytecode".
> Are you saying other languages can be compiled into
> Java bytecode?
> Without going into details, how does that work?
>
> Thanx.
The same way C, C++, FORTRAN, COBOL, BASIC, etc. can be compiled into machine code.
[side note]
I once built a language of my own that compiled into java ByteCode... I called it ShitPuff. It had one command: "print" - and all it would print was, "Hello. This is ShitPuff."
[/side note] <-- Thought I'd share that.
> > I suppose c/c++ (or any language compiled to
> > compliant native code) should be included as it can
> > be called through JNI.
>
> No, native code called via JNI is not compiled to
> byte code!
Byte code does not define the Java language.
There are a number of products that create executables from java code.
I think that there is at least one direct compiler as well.
Hi, I'm new, forgive me if this is something just about everybody knows the answer to.
Is there anything that can compile / convert bytecode to machine code? i.e. make an executable .exe from a .jar or .class ?
Be interesting to know.
Regards, Darryl