Buzzwords

Our society has adopted the heavy usage of buzzwords and acronyms. Often usage of such terms is employed to make the speaker appear better educated and intelligent. In my opinion this really only shows laziness and failure to clearly express thoughts. This is a derivation from the value of having specific vocabularies for efficient communication between specialists. Doctors have numerous medical terms. Scientists of various fields have terms unique to their fields. Unfortunately in the computer science field the value of a specialized vocabulary has been completely hijacked to become the "buzzword syndrome", no longer providing efficiency but used as a tool to sound impressive. The information technology community has failed to learn a technique widely used in the medical world. In medical texts each cryptic buzzword or acronym is defined the first time it is used in any publication, thus allowing a wider audience to read technical publications and not require memorization of numerous acronyms or extensive usage of a specialized dictionary.

Here is a list of commonly used buzzwords (typically associated with Java software development) and some plain English non-technical definitions. Detailed descriptions of most of these terms can be found at sites like http://en.wikipedia.org/wiki/Main_Page

AJAX - Asynchronous JavaScript And XML - a technique to partially update a webpage to make it appear more responsive to the user rather than a full page refresh. One of the drawbacks of AJAX is breaking the expected behavior of the browser's "back" button.

AWT - Abstract Windows Toolkit - Java's GUI API.

Axis -

BASIC - an interpreted programming language popular in the 1980s

BPEL - Business Process Execution Language - addresses the concept of long running business processes. The simple example would be managing a purchase on a website. Such a transaction requires several processes (such as inputting shipping addresses, payment methods, etc), BPEL controls the flow of these processes. BPEL uses WSDL to describe incoming and outgoing messages.

C and C++ - a programming language popular in the late 1980s and 1990s

C # - A Microsoft proprietary alternative to Java.

CDC (numerous meanings) - Clock Domain Crossing

CLDC - Connected Limited Device Configuration - Java ME framework for limited resource devices like pagers.

Cobol - a programming language popular in the 1960s

COM - Component Object Model (Microsoft) - A language neutral way for processes to communicate.

CORBA - Common Object Request Broker Architecture

DCOM - Distributed Component Object Model (Microsoft proprietary) - An extension of COM to communicate across networks. DCOM is a competitor of CORBA

Delphi - Pascal - Modula 2 - an evolution of programming languages emphasizing and enforcing reliable software development

EJB

Fortran - a programming language popular in the 1970s

Groovy - a programming language similar to Perl that compiles to Java bytecodes (runs on the Java virtual machine).

JavaScript - a scripting language for usage in webpages - has no real relationship to Java

Java - a programming language currently popular (first released in 1996). Java is something of a melding of C and Pascal.

J2EE - Java 2 Enterprise Edition - Essentially an extension of Java (J2SE = Standard Edition) focussed on server deployed/hosted applications.

J2SE - Java 2 Standard Edition - this is the core Java language

JAAS - Java Authentication and Authorization Service

JAX - Java API for XML

JBoss - a Java EE server

JNDI - Java Naming and Directory Interface (J2SE javax.naming)

JSF - Java Server Faces - a framework to simplify J2EE user interfaces

JSP - Java Server Pages

JSTL - JavaServer pages Standard Tag Library

log4j -

MIDP - Mobile Information Device Profile - part of Java ME to specify usage of Java on a PDA.

MVC - Model View Controller - A term used for software design that conforms to "Model = data"; "View = User Interface" and "Controller = actions the user has taken which manipulate the data". It's a fancy way of saying "a computer program". Or in other words:

Perl - an interpreted (scripting) language

PHP - an interpreted (scripting) language primary used to dynamically create webpages.

Ruby -

SAS - Statistical Analysis System - software released by SAS Institute for data management.

Servlets - Servlets are part of JSP (J2EE) and are used to provide dynamic web pages.

SOA - has multiple (computing) meanings. Service Oriented Architecture or Search Oriented Architecture. Search Oriented Architecture is just an information system that is search engine based (either as a replacement or supplement to a database management system).

SOAP - Simple Object Access Protocol - A protocol for exchanging XML messages using HTTP (or SMTP).

Spring

SQL - Structured Query Language - this is now essentially synonymous with "database". Numerous professionals no longer even know what a database is, they just store their data in a SQL server.

Struts - a framework for developing J2EE applications

Swing - Java's "lightweight" GUI API

SWT -

TCP/IP - Transmission Control Protocol / Internet Protocol - essentially the data packet design upon which the Internet is built (see also UDP). TCP communication establishes a connection between two machines and includes functionality to make sure data packets are not lost and arrive in the correct order.

Tomcat - (Apache) a J2EE application server

UDDI - Universal Description, Discovery and Integration

UDP - User Datagram Protocol - Internet communication packets that don't require a "connection". UDP packets are just broadcast and listened for, there is no guarantee of delivery.

Velocity -

WebLogic - a J2EE application server

WebSphere

WSDL - Web Services Description Language - an XML description of web services. A client program can read the XML to discover what functions are available from the server. Usually used in combination with SOAP.

XML - Extensible Markup Language - a text file that uses descriptor tags to organize data (which may consist of instructions - like NetBean's usage of XML to run ANT build scripts)

XSLT - XML Stylesheet Language for Transformation (J2SE javax.xml.transform)