# Java (programming language)

Java is a general-purpose, class-based, object-oriented computer programming language that is specifically designed to have as few implementation dependencies as possible.
    CONTENT : A - F , G - L , M - R , S - Z , See also , External links

## Quotes

    Quotes are arranged alphabetically by author

### A - F

* I always knew that one day Smalltalk would replace Java. I just didn't know it would be called Ruby.
** Kent Beck As cited in: Giles Bowkett (2007) "Smalltalk, Outside The Ivory Tower?". at Giles Bowkett.blogspot.com July 15, 2007
* Today, we're at the beginning stages of the next level. Executable UML is the next logical, and perhaps inevitable, evolutionary step in the ever-rising level of abstraction at which programmers express software solutions. Rather than elaborate an analysis product into a design product and then write code, application developers of the future will use tools to translate abstract application constructs into executable entities. Someday soon, the idea of writing an application in Java or C++ will seem as absurd as writing an application in assembler does today.
** Grady Booch (2002) "The Limits of Software". Lecture September 2002
* Archetypes, color, and components will forever change how you build Java models. We build Java models with teams of developers. In our day-to-day mentoring, we develop and try out new ideas and innovations that will help those developers excel at modeling.
** Peter Coad, Jeff de Luca, and Eric Lefebvre. (1999) Java Modeling Color with Uml: Enterprise Components and Process with Cdrom. Prentice Hall PTR.
* Java is, in many ways, C++--.
** Michael B. Feldman, Professor Emeritus Department of Computer Science The George Washington University; cited in Magnus Lie Hetland (2002) Practical Python. p. xix

### G - L

* Java is C++ without the guns, knives, and clubs.
** James Gosling, co-inventor of Java; Cited in: David Parsons (2001) Object Oriented Programming with C++. p. 19
* Java was, as Gosling says in the first Java white paper, designed for average programmers. It's a perfectly legitimate goal to design a language for average programmers. (Or for that matter for small children, like Logo.) But it is also a legitimate, and very different, goal to design a language for good programmers.
** Paul Graham (2001) "Arc: An Unfinished Dialect of Lisp." paulgraham.com, November 2001
* Sun Microsystems had the right people to make Java into a first-class language, and I believe it was the Sun marketing people who rushed the thing out before it should have gotten out.
** Alan Kay ACM Queue A Conversation with Alan Kay Vol. 2, No. 9 - Dec/Jan 2004-2005
* If the pros at Sun had had a chance to fix Java, the world would be a much more pleasant place. This is not secret knowledge. It’s just secret to this pop culture.
** Alan Kay ACM Queue A Conversation with Alan Kay Vol. 2, No. 9 - Dec/Jan 2004-2005
* I fear —as far as I can tell— that most undergraduate degrees in computer science these days are basically Java vocational training. I’ve heard complaints from even mighty Stanford University with its illustrious faculty that basically the undergraduate computer science program is little more than Java certification.
** Alan Kay ACM Queue A Conversation with Alan Kay Vol. 2, No. 9 - Dec/Jan 2004-2005

### M - R

* In 30 years Lisp will likely be ahead of C++/Java (but behind something else)
** Peter Norvig (October 11, 1999). Lisp: Where Do We Come From? What Are We? Where Are We Going?. Retrieved on 2010-05-29. Slide 9 in presentation to Lisp Users Group.

### S - Z

* DOLIST is similar to Perl's foreach or Python's for. Java added a similar kind of loop construct with the "enhanced" for loop in Java 1.5, as part of JSR-201. Notice what a difference macros make. A Lisp programmer who notices a common pattern in their code can write a macro to give themselves a source-level abstraction of that pattern. A Java programmer who notices the same pattern has to convince Sun that this particular abstraction is worth adding to the language. Then Sun has to publish a JSR and convene an industry-wide "expert group" to hash everything out. That process--according to Sun--takes an average of 18 months. After that, the compiler writers all have to go upgrade their compilers to support the new feature. And even once the Java programmer's favorite compiler supports the new version of Java, they probably still can't use the new feature until they're allowed to break source compatibility with older versions of Java. So an annoyance that Common Lisp programmers can resolve for themselves within five minutes plagues Java programmers for years.
** Peter Seibel (2005) Practical Common Lisp.

## See also

* Programming languages