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
AWT - Abstract Windows Toolkit - Java's GUI API.
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
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).
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
- JAXP - Java API for XML Processing (J2SE javax.xml)
- JAX-WS - Java API for XML Web Services (J2EE javax.ws)
- JAXB - Java API for XML Binding (J2EE javax.bind)
- JAXR - Java API for XML Registries (J2EE javax.registry)
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
- Core: http://java.sun.com/jsp/jstl/core
- XML: http://java.sun.com/jsp/jstl/xml
- Internationalization: http://java.sun.com/jsp/jstl/fmt
- SQL: http://java.sun.com/jsp/jstl/sql
- Functions: http://java.sun.com/jsp/jstl/functions
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:
- The model is the data
- The view is the user interface displaying some data
- The controller is the response to the user interacting (clicking a button) with the view
Perl - an interpreted (scripting) language
PHP - an interpreted (scripting) language primary used to dynamically create webpages.
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).
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
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.
WebLogic - a J2EE application server
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)