wood burning stoves 2.0*
The moose likes Java in General and the fly likes Java Forums - Is JAVA a Language ?? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of OCA/OCP Java SE 7 Programmer I & II Study Guide this week in the OCPJP forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Java Forums - Is JAVA a Language ?? "There are no dumb questions"" Watch "Java Forums - Is JAVA a Language ?? "There are no dumb questions"" New topic
Author

Java Forums - Is JAVA a Language ?? "There are no dumb questions"

Tarun Chandel
Greenhorn

Joined: Oct 14, 2005
Posts: 4
I was having this discussion with one of my friend and he said that JAVA is a specification. and jdk is the implementation of this specification. and together these two makes us achieve the language like experience. I agree to this point that yes with jdk we are able to do whatever wew can do with JAVA.

But my argument is if JAVA is a specification what is C or C++ are those specifications as well?? What is the difference then between JAVA and English ... is English a language or is it also a specification ??

To me JAVA is a language it helps us communicate with the computer JDK is a tool that translates what we say to what computer understands.

But am I right or JAVA is a specification ??? J2EE is called specification is in the same manner JAVA a specification ?

These are confusing thoughts in my mind ... please share your views on this ....

Tarun Chandel
Kenneth Albertson
Ranch Hand

Joined: Sep 18, 2005
Posts: 59
Please read How To Ask Questions On Java Ranch, especially Carefully Choose One Forum. Three forums at once is too many, especially for this question.
Kaj Bjurman
Greenhorn

Joined: Oct 14, 2005
Posts: 3
The question is also cross-posted to on other sites:
http://forum.java.sun.com/thread.jspa?threadID=672801

Kaj
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24187
    
  34

I closed the other two copies. I left this one open not because this is an advanced question, but because it already had two replies.

By way of an answer to this "question": First, it's "Java", not "JAVA". It's not an acronym. Second, Sun likes to call Java a "platform", which includes several components: the Java Language, the Java Virtual Machine, and the Java Standard Edition Platform Libraries. Yes, it's a specification rather than an implementation. Some languages are defined by a single implementation -- these tend to be languages with complex but informally described runtime support like Python, Perl, and Ruby. Most "important" languages are defined instead by a specification or standard: and C, C++, and Java are among these. This means that there can be multiple implementations.

But the question of whether something is a language or a specification actually makes no sense. The Java language is defined by the Java Language Specification. It's like asking whether something that looks like a horse is a horse or a mammal. It's both!


[Jess in Action][AskingGoodQuestions]
Jos AH
Greenhorn

Joined: Aug 15, 2005
Posts: 4
According to Noam Chomski (the guy who started all this), a language has
a grammar and a vocabulary. A language isn't necessarily bound to a computer,
but for a programming language (like C, C++ or Java etc.) it comes in handy.

Natural languages are highly irregular languages and their 'specification'
has to deal with history, dialects etc. Not so for programming languages,
i.e. a programming language can have, and most of the time actually has,
a more or less formal specification.

C and C++ e.g. are fully formally specified by their ANSI/IECCC/ISO definitions. A formal specification defines the grammar of the language
unambiguously, as well as the vocabulary (the character set, the token set
and the keywords), as well as the semantics of it all.

So, while a natural language can have a more or less formal specification,
a programming language always needs a formal specification. The distinction
between the specification of a programming language and the language proper
itself is an artificial one: i.e. both can be used at will indicating the
same thing: Java or C or C++ or whatever.

Implementations of these languages (compilers, libraries and runtime support)
are either 'compliant' or not. When compliant, the implementation 'obeys'
the formal specification in every little gory detail.

The usage of the programming languages is all about programming, algorithm
implementation, use of libraries and/or classes or even entire technologies
implemented in that language.

kind regards,

Jos
Stan James
(instanceof Sidekick)
Ranch Hand

Joined: Jan 29, 2003
Posts: 8791
In Godel, Escher & Bach Hofstadter introduces three languages: BLOOP, FLOOP and GLOOP. There are plenty of example programs but no known implementations. Similarly Mike Cowlishaw and a small bunch of friends wrote hundreds of REXX programs through several versions of the language before he wrote a line of the interpreter. An interesting way to work fer sure.


A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
Tarun Chandel
Greenhorn

Joined: Oct 14, 2005
Posts: 4
Hi

Kym Thompson, sorry it was my first post here so was not sure where to go and where to post .... will surely keep in mind for next time. ...

Kaj Bjurman, I have posted it on many sites..... so ??? is it written somewhere that I cant .... i have posted it at various sites so as to get different opinions of different people .... you try to show your various forum knowledge ... if have some answer than contribute ... otherwise dont waste your and others time .....

Ernest Friedman-Hill, sorry will post the quetion at one place from next time .... but the whole intention of postin it at 3 different places was to get answer from various people .... the guys at advance forum may not go to beginers and beginers wont go to advance ... so I thought that this question can be and should be answered by all who are associated with Java in any manner. And you would also agree that this question can be answered by all level of people and every one will give their level of answer ..... I think you need to think about your policy of only one place to post .... for such questions .....
As for "JAVA" being Java ..... who said its Java, I may write it the way i like it .... i may wrtie java or JAva or JAVa .... will it change the language in any manner ..... NO !
But anyways thanx for trying to answer my question ....

Jos AH, thanx for such an elaborative answer its really good. I think you should put that up on your blog as well ..... and dont forget to send me the link of your blog....

Stan James, thanx for your help and I appreciate your effort.

Tarun Chandel
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Tarun Chandel:
Kaj Bjurman, I have posted it on many sites..... so ??? is it written somewhere that I cant


No, it's ok to do so. Still, for someone who visiting more than one of those sites, it's a dilemma, and when you find out after you have answered at one of the sites, it even can be annoying. It might be a good idea to indicate that the question is crossposted to other sites.

if have some answer than contribute ... otherwise dont waste your and others time .....


Think again about what you wrote here: there is someone having a problem with your question, but letting you know is wasting your time. I'd respectfully suggest that in fact it is valuable feedback about how your question is perceived by your fellow ranchers, and that talking about it will strengthen our community. That's actually what we strive to be: not a forum for fast and hard answers, but a community with friendly, respectful and interesting discussions.

Ernest Friedman-Hill, sorry will post the quetion at one place from next time .... but the whole intention of postin it at 3 different places was to get answer from various people .... the guys at advance forum may not go to beginers and beginers wont go to advance ... so I thought that this question can be and should be answered by all who are associated with Java in any manner. And you would also agree that this question can be answered by all level of people and every one will give their level of answer ..... I think you need to think about your policy of only one place to post .... for such questions .....


The problem with discussing something at more than one place is that effort gets wasted by repeating things etc. See http://faq.javaranch.com/view?CarefullyChooseOneForum

In this case, it could have been a good idea to start a discussion in one forum, and post a short notice with a link to it in the other two.


As for "JAVA" being Java ..... who said its Java


That's simple: Sun. It's a name choosen by Sun, a trademark even, if I remember correctly. So it's probably Suns marketing people who decided how to write it.


The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Rick O'Shay
Ranch Hand

Joined: Sep 19, 2004
Posts: 531
>> I was having this discussion with one of my friend and he said that JAVA is a specification.

No, Java HAS-A specification like every other computer language. Java IS-A computer language. Java is accompanied by a rich set of standard libraries, written in Java. Java is usually executed on a Java virtual machine. All of the above have specifications, as does my mobile phone, even the sandwich I ate for lunch.

So, Java has a virtual machine, a language, a trademark, a coffee mug and a tee-shirt. They all have specifications. Is a Java tee-shirt a specification? No. If you want to discuss the language unambiguously then just say the Java language.
Vishnu Prakash
Ranch Hand

Joined: Nov 15, 2004
Posts: 1026

Java HAS-A specification like every other computer language. Java IS-A computer language.


WOW OOPs

SO COOL


Servlet Spec 2.4/ Jsp Spec 2.0/ JSTL Spec 1.1 - JSTL Tag Documentation
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Java Forums - Is JAVA a Language ?? "There are no dumb questions"