#! – shebang

Until today I only know the term hash-exclam for #!

http://en.wikipedia.org/w/index.php?title=File:Poundexclam.svg&page=1

„In computing, a shebang (also called a sha-bang, hashbang, pound-bang, hash-exclam, or hash-pling) is the character sequence consisting of the characters number sign and exclamation mark (that is, „#!„) when it occurs as the initial two characters on the initial line of a script.

Under Unix-like operating systems, when a script with a shebang is run as a program, the program loader parses the rest of the script’s initial line as an interpreter directive; the specified interpreter program is run instead, passing to it as an argument the path that was initially used when attempting to run the script. For example, if a script is named with the path „path/to/script„, and it starts with the following line:

#!/bin/sh

then the program loader is instructed to run the program „/bin/sh“ instead (usually this is the Bourne shell or a compatible shell), passing „path/to/script“ as the first argument.

The shebang line is usually ignored by the interpreter because the „#“ character is a comment marker in many scripting languages; some language interpreters that do not use the hash mark to begin comments (such as Scheme) still may ignore the shebang line in recognition of its purpose.“

http://en.wikipedia.org/wiki/Shebang_%28Unix%29

Shebang (auch Magic Line) bezeichnet bei unixoiden Betriebssystemen die Zeichenkombination #! am Anfang eines Skriptprogramms. Die Markierung mit Doppelkreuz und Ausrufezeichen führt dazu, dass das folgende Kommando mitsamt allen angegebenen Argumenten beim Aufruf des Programms ausgeführt wird. Der Dateiname wird dann als weiteres Argument übergeben. Andere Betriebssysteme – beispielsweise Microsoft Windows – nutzen die Technik nicht. Nur bei speziellen Umgebungen, wie dem Common Gateway Interface im Apache HTTP Server, spielt die Shebang-Konstruktion auf diesen Systemen eine Rolle.“

http://de.wikipedia.org/wiki/Shebang

Remember today 2 – halting problem

In memoriam to Alan Turing (http://de.wikipedia.org/wiki/Alan_Turing)

„In computability theory, the halting problem can be stated as follows: Given a description of an arbitrary computer program, decide whether the program finishes running or continues to run forever. This is equivalent to the problem of deciding, given a program and an input, whether the program will eventually halt when run with that input, or will run forever.

Alan Turing proved in 1936 that a general algorithm to solve the halting problem for all possible program-input pairs cannot exist. A key part of the proof was a mathematical definition of a computer and program, what became known as a Turing machine; the halting problem is undecidable over Turing machines. It is one of the first examples of a decision problem.“

http://en.wikipedia.org/wiki/Halting_problem

 

Remember today – Recursive Set

In memoriam to Alan Turing (http://de.wikipedia.org/wiki/Alan_Turing)

„A subset S of the natural numbers is called recursive if there exists a total computable function f such that

f(x) = 1 if xS and f(x) = 0 if xS .

In other words, the set S is recursive if and only if the indicator function 1S is computable.“

http://en.wikipedia.org/wiki/Recursive_set

simple, isn’t it !?!

In german language:

„Entscheidbarkeit einer mathematischen Eigenschaft

In der theoretischen Informatik heißt eine Eigenschaft auf einer Menge entscheidbar (auch: rekursiv, rekursiv ableitbar), wenn es ein Entscheidungsverfahren für sie gibt. Ein Entscheidungsverfahren ist ein Algorithmus, der für jedes Element der Menge beantworten kann, ob es die Eigenschaft hat oder nicht. Wenn es ein solches Entscheidungsverfahren nicht gibt, dann nennt man die Eigenschaft unentscheidbar. Als Entscheidungsproblem bezeichnet man die Frage, ob und wie für eine gegebene Eigenschaft ein Entscheidungsverfahren formuliert werden kann.

Während die wichtigsten syntaktischen Eigenschaften von Programmen entscheidbar sind, sind nach dem Satz von Rice alle (nichttrivialen) semantischen Eigenschaften von Programmen unentscheidbar, zum Beispiel die Terminierung eines Programmes auf einer Eingabe (Halteproblem) oder die Funktionsgleichheit zweier Programme (Äquivalenzproblem).

Ursprünglich speziell für die Gültigkeit von Formeln gemeint, wird der Begriff inzwischen für beliebige Eigenschaften auf abzählbaren Mengen verwendet. Der Begriff des Algorithmus setzt ein Berechnungsmodell voraus; wenn nichts Abweichendes gesagt wird, sind die Turingmaschinen oder ein gleichwertiges Modell gemeint.“

http://de.wikipedia.org/wiki/Entscheidbar



Hamburger Akademie für Fernstudien

Backus-Nour-Form

Keep in mind today:

“ In computer science, BNF (Backus Normal Form or Backus–Naur Form) is one of the two [1] main notation techniques for context-free grammars, often used to describe the syntax of languages used in computing, such as computer programming languages, document formats, instruction sets and communication protocol; the other main technique for writing context-free grammars is the van Wijngaarden form. They are applied wherever exact descriptions of languages are needed: for instance, in official language specifications, in manuals, and in textbooks on programming language theory.

Many extensions and variants of the original Backus–Naur notation are used; some are exactly defined, including Extended Backus–Naur Form (EBNF) and Augmented Backus–Naur Form (ABNF).

A BNF specification is a set of derivation rules, written as

<symbol> ::= __expression__where <symbol> is a nonterminal, and the __expression__ consists of one or more sequences of symbols; more sequences are separated by the vertical bar, '|', indicating a choice, the whole being a possible substitution for the symbol on the left. Symbols that never appear on a left side are terminals. On the other hand, symbols that appear on a left side are non-terminals and are always enclosed between the pair <>.

The ‚::=‘ means that the symbol on the left must be replaced with the expression on the right“

http://en.wikipedia.org/wiki/Backus%E2%80%93Naur_Form