Programming terms

From Juneday education
Jump to: navigation, search

About

Here, we've collected a number of programming terms.

ascii

ASCII (American Standard Code for Information Interchange) is a standard for encoding charcaters. When we store the letter "a" in a file it's quite useful if a program reading the file also treats the stored data as an "a". To make sure we store/read data the same was we use an encoding standard.

Note: there are other standards, e g UTF-8

See also our term page for ASCII Table

API

Application programming interface. See: Term page for API.

binary file

A file consisting of all possible characters. Examples of binary files are: ogg and mp3 audio, mp4 video, java bytecode, object file

byte code

Machine code is a format that the computer's CPU can understand directly. Bytecode (byte code) on the other hand is designed to be executed by an interpreter who reads the bytecode and transforms it into instructions that it executes on the CPU. Examples of bytecode are: Java bytecode.

Bytecode, also known as p-code (portable code), is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (normally numeric addresses) that encode the result of parsing and semantic analysis of things like type, scope, and nesting depths of program objects. They therefore allow much better performance than direct interpretation of source code. - Wikipedia on bytecode

CLI - Command-line Interface

A command-line interface or command language interpreter (CLI), also known as command-line user interface, console user interface[1] and character user interface (CUI), is a means of interacting with a computer program where the user (or client) issues commands to the program in the form of successive lines of text (command lines). A program which handles the interface is called a command language interpreter or shell. -Command-line_interface (wikipedia)

compiler

A program that transform software written in one programming language to another programming language. Examples are Java Compiler and C Compiler

default (value)

Java

An instance variable (in Java) gets a default value. Default value is a value that is preset. In the following code:

public class Member {
  String name;
  // ....
}

each Member object created has a name (instance) variable which gets assigned to null, since null is the default value for reference variables in Java.

Read more at wikipedia: Default (computer_science)

EOF - End Of File

A code saying that there is no more input. This is useful when reading data from an input source (e g network or file).

GUI - Graphical User Interface

The graphical user interface, is a type of user interface that allows users to interact with electronic devices through graphical icons and visual indicators such as secondary notation, instead of text-based user interfaces, typed command labels or text navigation. GUIs were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs), which require commands to be typed on a computer keyboard. - Graphical_user_interface (wikipedia)

HOME directory

Each, or at least most, normal user in a multi-user operating system has a specific directory which is their own. In this directory the user can store personal files like documents, media, video, photos etc.

A home directory is a file system directory on a multi-user operating system containing files for a given user of the system. - Wikipedia link

initialize

This is a common word in programming and refers to the first assignment of a variable.

Example of an assignment of an int (primitive type) in Java:

   int count = 0;  // declaration and (first) assignment, i e we initialize count to 0
   count = 13;     // assignment, so this is not an initialization

Example of an assignment of a Person object in Java:

   Person p = new Person("Ross", "Nobles");  // declaration and (first) assignment, i e we initialize p 
   Person q;                                 // declaration of q, a reference variable of type Person 
   q = new Person("Rich", "Fulcher");        // (first) assignment, i e we initialize q to a value

More info at wikipedia: Initialization (programming)

interactive program

An interactive program is a program which starts and waits for user input or actions.

Interpreter

A program that reads files with software written not directly compiled for the computer's CPU. The files read can be text files (e.g shell script) or bytecode compiled files. The interpreter also directly executes the software on the computer's CPU.

Examples of interpreters are: Java Virtual Machine, bash, python.


Java

Java is both a programming language and a software platform. Read more.

Log / Logging

Recording data/events to a log file, rather than printing messages to stdout, is as an example done to make it possible to analyse a program after it has been executed. This is useful to find bugs or to improve performance. A log file can also be a recorded session, i e a chat session.

Example printout from the Apache web server running this site:

129.16.219.142 - - [22/Oct/2017:15:44:25 +0200] "GET /mediawiki/load.php?debug=false&lang=en&modules=startup&only=scripts&skin=vector HTTP/1.1" 304 - "http://wiki.juneday.se/mediawiki/index.php/Main_Page" "Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.84 Safari/537.36"
90.229.156.209 - - [22/Oct/2017:15:44:31 +0200] "GET /mediawiki/index.php/Expressions_and_operators HTTP/1.1" 200 35807 "http://wiki.juneday.se/mediawiki/index.php?search=parameter&title=Special%3ASearch&go=Go" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"

Read more at wikipedia: Log file

machine code

Machine code is the language that the computer's CPU understands and can execute. The machine code (language) is a set of instructions. The instructions differs from one CPU brand to another so software compiled for one CPU will most likely not be possible to execute on another machine.

Machine code or machine language is a set of instructions executed directly by a computer's central processing unit (CPU). Each instruction performs a very specific task, such as a load, a jump, or an ALU operation on a unit of data in a CPU register or memory. Every program directly executed by a CPU is made up of a series of such instructions. - Wikipedia on machine code.

method

In Java, a method is a named block of code. This is sometimes (mostly in other languages) called a function, a procedure or a subroutine. In Java, there are basically two types of methods; instance methods (which is the default type) which can only be called on an object (via some reference to the object) and static methods (sometimes called class methods) which can be called without any objects. Static methods are declared using the keyword static and can be said to belong to the class and not any instances of the class. Static methods cannot use any instance methods, because they don't have any reference to any specific instance of the class they belong to.

method signature

In Java, the signature of a method consists of the name of the method and the arguments list. The signature is used by Java to resolve which method to run when a method is invoked by some code. Methods can be overloaded which means that methods can be declared with the same name but with different argument lists.

It is not allowed in Java to define two methods with the same name and arguments list but different return type, because it would be impossible for Java to resolve which method is being called. This is one of the reasons why return type is not part of the method signature.

newline

A special character used to signify that the text shall continue at the next line. Programs such as editors automatically inserts a newline when you press enter. In the ascii table newline has number 18 (decimal system). If you want to print a newline using printf in a programming language you normally write "\n".

null

null (or NULL or nil) is a value to indicate that the reference (Java) or pointer (C) does not refer to a valid object (Java) or variable (C).

Read more at wikipedia: Null pointer

path

Specifies the unique location of a file or directory on the file system.

  • Example on a Unix system:
    start-java is the name of a file
    /home/adam/bin/ is the directory where the file is stored.
    /home/adam/bin/start-java is the complete path to the file
  • Example on a Windows system:
    start-java.bat is the name of a file
    C:\Program Files\bin\ is the directory where the file is stored.
    C:\Program Files\bin\start-java is the complete path to the file

See also: Term page on Absolute and Relative Paths

PATH variable

PATH is an environment variable. PATH is used to help the shell find programs on the computer. If you start a program, e.g firefox, without specifying the complete path to the program the shell does not know where to find the program. By adding addresses to the PATH variable the shell will search for the program, e .g firefox, in each of the directories in the PATH variable. If the shell finds the program in any of the directories it starts the program.

On Unix systems (GNU/Linux and MacOS) the directories in the PATH variable are separated by ":". Windows uses ";" to separate directories.

Example content of PATH variable in Windows: C:\Program Files;C:\java\

Example content of PATH variable in Unix: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin


shell script

A text file with instructions to be performed by a shell (e.g bash). Instructions can be:

  • programs which are executed by bash. Programs include: shell scripts, java, system programs (e.g ls, dir, pwd)
  • bash built in functions (e.g cd)

Shell scripts are used a lot in the industry, most often for smaller tasks such as:

  • backup - copying and storing files and directories
  • startup script - setting up environment (PATH and other environment variables) and then start a program
  • setup - changing the settings of either software or hardware

source code

Writing software is about writing instructions for a computer to execute. Writing instructions in the computer's own language is hard for us normal humans to do so we have created software programming languages with instructions easier for us humans to understand. We write source code in text format.

In computing, source code is any collection of computer instructions (possibly with comments) written using some human-readable computer language, usually as text. Wikipedia on Source code.

TUI - Text-based user interface

Text-based user interface (TUI), also called textual user interface or terminal user interface,[clarification needed] is a retronym coined sometime after the invention of graphical user interfaces. TUIs display computer graphics in text mode. An advanced TUI may, like GUIs, use the entire screen area and accept mouse and other inputs. - Text-based_user_interface

text file

A file consisting of only text characters. Example of text files are: HTML, JSON, Java, C

UTF-8

With the ascii character encoding we could store some control charcters (e g newline)). With the increased use of computers the need for storing characters of non latin character sets urged for a new standard. A standard capable of encoding "all" possible characters we needed, and enter UTF-8. With UTF-8 we can store charcters in all possible character sets. UTF-8 is the de facto-standard on the internet today.

varargs

A function (or method) accepting an arbitary number of arguments is called a variadic function. An example from C is printf, which you cann call likes this:

printf("%s\n", str);
printf("String: %s   Value:%d\n", str, value);

Note that the number of arguments differed.

Variadic function (wikipedia link)

Java: (Oracle.com on arguments)