I was never good at languages. I can’t even claim to be particularly good at English, the language I was born into. But programmers, be they from the U.S., Norway, or Japan, can communicate-not in, say, Japanese, but if they’re both Java programmers they can communicate just fine with if loops and thrown exceptions. Now, you’re probably wondering how I can throw out terms like if loops and exceptions when I claim not to be a programmer. I’m a parrot. After soaking in software programming jargon for years, I’ve picked up some terms but am unsure what they actually mean. So, for my own personal edification, and also for all you others who are constantly immersed in programmer technical terms and slang, lets see what some of those terms and acronyms actually mean. We’ll start with a smattering here, and as I collect other terms I’ll post them.
Brief disclaimer: my husband is not into Microsoft or Mac products or languages, so I won’t be able to give my personal spin on those terms. The definitions below are taken from a variety of sources.
software: a collection of instructions enabling a computer to solve one or several tasks (www.salvagedata.com/hard-drive-recovery-terms/); operating instructions for specific task based applications. These instructions are carried out by the computer’s processors. These include all packaged for use like image editing, word processing, databases, CAD, CAM, games, and so on. Software has to be written for a specific Computer OS (www.photographyreview.com/digitalglossarycrx.aspx). Of course, things go all to hell when the instructions fail, are wrong, or don’t do what you think they’re going to do. This is when mice (of the hardware kind) start to fly around the office at high speeds accompanied by horrendous language and desk abuse.
operating system (OS): think name brands like Linux, Windows, Unix, and Mac OS X. An OS is software controlling the overall operation of a multipurpose computer system, including such tasks as memory allocation, input and output distribution, interrupt processing, and job scheduling (www.satech.com/glosofmemter.html).
Linux: a free reimplementation of the POSIX specification, with SYSV and BSD extensions (yak, like those acronyms clear up the confusion) developed primarily by Linus Torvalds. Linux follows the open development model-all new versions will be released to the public, whether or not they are considered production quality (www.cs-net.gr/linux/history.html). The official mascot is a plump penguin named Tux. Since this is my husband’s favorite OS, I’ve latched onto the penguin theme and bring home all sorts of penguin figurines and penguin decorated clothing. On the other hand, I have refused to allow any child of ours to be named Tux or Linux.
Mac OS X: proprietary, graphical operating systems developed, marketed, and sold by Apple Inc. (en.wikipedia.org/wiki/Operating_system).
Windows: proprietary OS sold and developed by Microsoft.
Unix: worldwide Single UNIX Specification integrating X/Open Company’s XPG4, IEEE’s POSIX Standards and ISO C (www.unix.org/what_is_unix.html). So I haven’t got the faintest idea what any of this means, but the collection of acronyms above is the official definition.
open source: open source is a development method for software that harnesses the power of distributed peer review and transparency of process. The promise of open source is better quality, higher reliability, more flexibility, lower cost, and an end to predatory vendor lock-in (www.opensource.org/). I think of open source as akin to a political movement. Open source is the opposite of proprietary. Linux is an open source OS.
programming language: computer tool that allows a programmer to write commands in a format that is more easily understood or remembered by a person (this is so up to debate, but I’ll shut up in the middle of the definition), and in such a way that they can be translated into codes that the computer can understand and execute (platon.lacitec.on.ca/~jlemoe/Cobol/Materiel/Cobol/Manuel/apg/apg.htm). Programming languages I hear about over beers: C++, Fortran, Haskell, Java, Perl, PHP, Python, and Ruby. Want to see a big list, check out this site: home.nvg.org/~sk/lang/lang.html.
scripting language: computer languages designed for ease of writing. Scripting languages are often used to process text files or run external programs (www-xray.ast.cam.ac.uk/~jss/lecture/computing/notes/out/glossary/). Some scripting languages are: Perl, Python, tcl and awk. You’ll notice that some of these languages fall in the programming language list, too. There are heated debates (usually over more beer) between programmers over whether certain languages are just scripting languages or real programming languages. But this is a discussion for another post.
That’s enough for now. I could make this list a two hundred page book and have a feeling I’m only clouding my mind with more technical mysteries.