My Definitions for...

<< Back to tech index

API This stands for Application Programming Interface. It means "the way you communicate with something." Think of a touch-screen kiosk: the screen is how you communicate with the computer inside the kiosk. Usually, API refers to a programming language that lets you communicate with an application or a database. For example, when you read that an application has a "Java API", that means that you can communicate with it using Java. Click here for a real definition of API from the Web Developer's Virtual Library.
Constructor A type of function that is automatically called by the compiler when an object is created. It's used to ensure that the object is properly initialized. Its opposite is a destructor, and neither returns a value. (I gleaned this from Bruce Eckel's Thinking in C++, 2nd Ed .) For example, if light were an object, the speed of light (e=mc^2) is an initial condition that should be in the constructor, since it has to be set for the light object to work properly. So when the command, "Let there be light!" is issued, there's no need to specify the speed of light because it's automatically defined by the constructor.
IDE Integrated Development Environment. A fancy name for the software you use to do programming. To qualify as an IDE, the software has to have a lot of features and typically streamlines complicated programming tasks. Here is a list of some IDEs for Java.
IDL Interface Definition Language. I've seen it preceded by "Java," "OMG" (Object Management Group), and used in the DOM Level 1 specification. I'm going to take a wild guess and say that it's a language which defines an interface.
Language Binding Like a Japanese-English dictionary, a language binding is a specification that describes how terms in one language can be expressed in another. But more than that, it's how one language can access data written in another. For example, the DOM-ECMAScript language binding .
PI Processing Instructions. I saw this term tossed around a lot on . An XML-related example would be <?xml-stylesheet type="text/xsl" href="test.xsl"?>, which gives instructions to the rendering agent to process the XML document containing this bit o' code using the stylesheet test.xsl.
Subroutine I think this is a term left over from the days of FORTRAN and COBOL. If you've ever used JavaScript before, the best way to describe a subroutine is that it is analagous to a method. E.g. document.write(), where write()is a method of the document object. WDVL defines a method as "a group of statements that perform activities in a class" * , so just think of this definition when you see the word "subroutine."

(More terms will be added as I come across them.)

Don't see it listed here? Look it up at Webopedia .

About this list

I came into my present career in a roundabout way. I've been using computers since about 1984, when I learned to program in Basic on our family's Commodore 64. Between then and now, I've mostly worked on Macs and picked up gems of knowledge here and there by working one summer for a software company and hanging out with hard-core geeks . I studied Multimedia at the Art Institute of Atlanta and learned more about the front-end than I knew about the back. I got a part-time QA job that eventually became a full-time multimedia programming job and learned more about the foibles of MPEG playback than I ever wanted to know. I improved my HTML by helping out the web developers in between projects, and here I am.

So now as I try to expand my programming skills, especially to learn more about XML, I encounter a lot of cryptic terminology. These are the sort of things people with B.S.'s in Computer Science learned while getting their degrees that I just never encountered while studying Religion, Spanish, and Design. But when I ask application engineers and software architects what these terms mean, I have a hard time comprehending their answers. I look for answers online and find definitions written only to make sense to people who already understand the terms. So, I am writing my own list of definitions of obtuse programming terms, written to make sense to me. If you find them useful (or totally wrong), please let me know .

send feedback or problems to Valid CSS!