General Programming Terminology
1GL
1st Generation Languages. Low-level languages that are basically machine code. That is, they're just strings of 0s and 1s.
2GL
2nd Generation Languages Assembly Language. Still a low-level language but less cumbersome than machine code in that it uses mnemonics to represent clusters of machine code.
3GL
3rd Generation Languages High-level languages. They are machine independent. In addition they're much more convenient for the developer given that the syntax is closer to spoken English.
4GL
4th Generation Languages Languages that are even closer to human language than 3GLs.
5GL
5th Generation Languages Visual programming with human language syntax. The highest level of programming.
Compiler
A program that translates a high-level language program into machine code. It is system software.
Linker
A program used in conjunction with a compiler or assembler to join library and object files together to produce an executable program.
Bytecode
A special type of machine code that java programs are compiled into. Unlike regular machine code, bytecode does not need to be recompiled as it will work with any JVM.
Scripting Language
A type of programming that isn't compiled, but interpreted as needed automatically. Generally simpler in structure than standard languages such as C++.
Linker
After the source code is compiled the linker compiles all the object code together to form an executable program.
Carbon
An older Mac OSX API
API
Application Programming Interface A set of routines, protocols, and tools for building software applications. APIs allow programmers easier entry into another company's program or service. EX: Cocoa is the API for Mac OSX
Source Code
Basically another name for your code. What composes your program. The file extension indicates the programming language it was written in.
Object Code
Code that is outputted from the compiler or assembler and has not been linked into a complete program yet.
Translating an algorithm into a program is called _____?
Coding
IDE
Integrated Development Environment Basically a glorified code-editing tool. It's a compiler with additions that assist in writing executable code.
Loader
Responsible for loading libraries and programs into main memory for execution.
SDK
Software development Kit A programming package containing a series of developer tools for making applications on a specific platform.
Open Source (OSS)
Source code that is made available to the public for editing and compilation. They are always free.
Executable Code
The output code of the Linker after it processes the object file (possibly also combined with library files). This is the code that allows the computer to actually perform a process.
What is an interpreter?
Unlike a compiler, it executes the program directly from the source code. It reads the code line by line and because of this it is usually very slow.
Debugger
Used to locate errors that may have unexpectedly crept into the program via human error.
Text Editor
Used to write the source code for your program and save it in a file.