AAx AAx Software & Programming Glossary

A Reference of Terms used in Programming



Home
Home

News
News

Topic
Topics

AAx
AAx

Programming

Programming is the art (or science) of writing instructions for a computer. These instructions are written in a "language". There are several levels of language, but all languages must be boiled down to machine code for the machine to understand them.
  • machine code - written entirely in 0s and 1s which represent "off" and "on". Machine code programs are refered to as "binaries".
  • assembly - A system of memnonics (like MOV, NOP, JMP) each representing a small chunk of machine code which does something specific. Assembly is read and converted to machine code by a program called an assembler. The smallest and most efficient programs are written by ace assembly programmers.
  • higher level programming languages, including:
    • Third Generation - languages reasonably readable by a human with a programming background, but still rather detailed. Examples are Pascal, C, Fortran, BASIC, COBOL. These are converted to machine code in advance by a program called a compiler (Pascal, C, Fortran, etc.), or while the program is being run by an interpreter (some BASICs). Compiled languages are more demanding to program, but run many times as fast.
    • Structured Languages - a variety of third generation languages that encourage orderly, modular, maintainable programs (Pascal, Modula, C) versus "spagehetti code" (BASIC) by adhering to the three holy control structures (IF,THEN,ELSE; WHILE DO; DO UNTIL) + CASE or SWITCH or something, and by making it a terrible moral offense to use the GOTO statement.
    • Fourth Generation - database languages, where very complex operations are represented by relatively simple statements. Since these complex operations must be generalized for many uses, the resulting programs are larger and slower than third generation programs but are much easier to write. They are converted into machine code by compilers, interpreters, or often a combination of both.
    • Fifth Generation - an advanced proramming language project by Japanese industry which was to show once and for all that Japanese can be innovators, not just copiers. It faded quickly into oblivion, not for lack of innovation, but because each company that participated in the project, as soon as they saw something profitable, grabbed it and ran - until there were no participants left.
    • Object Oriented - the current "latest & greatest" programming method. Structured programming taken to another level. The object of object oriented programming is to program well tested "objects" that can be used over and over in different programs without further testing. Legend has it someone, somewhere succeeded in this at least partially at least once. Examples of Object Oriented languages are SmallTalk, C++ (properly pronounced "C incremented"), Java and Eifel. Object oriented programming is useful to keep large programming projects reasonably organized.
Hacker
Popular: One who breaks into computer systems, produces viri, etc.; a computer criminal.
Hackerspeak: A programming wizz. A clever piece of code may be called "a good hack".
Use the popular definition and you will be flamed by hackers and reminded that the proper term for guys who break into computer systems is "cracker". They may even paste reminders all over your Web pages. Those persons describe by hackers as "crackers" refer to themselves as "hackers".

Stack - A block of memory used by programs for temporary storage of variables. It is a LIFO (Last In First Out) buffer and is not randomly addressed. Variables are "Pushed" onto the stack and "Poped" back from the stack.

API - Application Programming Interface - a defined and published format by which a programmer can access services of an operating system or other service without knowing its internal workings. The most well known APIs are Microsoft's Windows APIs.

Security

PGP - Pretty Good Privacy - A method of sending encrypted messages using Public Key cryptography. The developer of PGP has released it as "free software".

©:Andrew Grygus - Automation Access
Velocity Networks: Network Consulting Service - Internet Service Provider - Web Page Design and Hosting
All trademarks and trade names are recognized as property of their owners