"Hallo Welt!" Programm -"Hello, World!" program

Ein "Hallo Welt!" Programm ist im Allgemeinen ein Computerprogramm , das die Meldung "Hello, World!" ausgibt oder anzeigt. Ein solches Programm ist in den meisten Programmiersprachen sehr einfach und wird oft verwendet, um die grundlegende Syntax einer Programmiersprache zu veranschaulichen . Es ist oft das erste Programm, das von Leuten geschrieben wurde, die das Programmieren lernen. Es kann auch als Integritätstest verwendet werden , um sicherzustellen, dass Computersoftware, die zum Kompilieren oder Ausführen von Quellcode bestimmt ist, korrekt installiert ist und der Bediener versteht, wie sie zu verwenden ist.

Geschichte

"Hallo Welt!" Programm von Brian Kernighan (1978)

Während es seit der Entwicklung programmierbarer Computer kleine Testprogramme gibt , ist die Tradition der Verwendung des Satzes "Hello, World!" als Testnachricht wurde von einem Beispielprogramm in dem bahnbrechenden Buch The C Programming Language von 1978 beeinflusst . Das Beispielprogramm in diesem Buch druckt "Hallo Welt“, und wurde von einem internen Memorandum der Bell Laboratories von 1974 von Brian Kernighan , Programming in C: A Tutorial , geerbt :

main( ) {
        printf("hello, world\n");
}

Im obigen Beispiel ist die hauptsächlich( ) Funktion definiert, wo das Programm mit der Ausführung beginnen soll . Der Funktionsrumpf besteht aus einer einzelnen Anweisung , einem Aufruf desdruckenfFunktion, die für " print formated" steht. Diese Funktion bewirkt, dass das Programm alles ausgibt, was ihm als Parameter übergeben wird , in diesem Fall die Zeichenfolge Hallo Welt, gefolgt von einem Newline- Zeichen.

Der C-Sprachversion ging Kernighans eigenes 1972 A Tutorial Introduction to the Language B voraus , in dem die erste bekannte Version des Programms in einem Beispiel zur Veranschaulichung externer Variablen zu finden ist:

main( ) {
    extern a, b, c;
    putchar(a); putchar(b); putchar(c); putchar('!*n');
}
 
a 'hell';
b 'o, w';
c 'orld';

Das Programm druckt auch Hallo Welt!auf dem Terminal, einschließlich eines Newline- Zeichens. Die Phrase ist in mehrere Variablen unterteilt, da in B eine Zeichenkonstante auf vier ASCII- Zeichen beschränkt ist. Das vorherige Beispiel im Tutorial gedrucktHi! auf dem Terminal und der Satz Hallo Welt! wurde als etwas längerer Gruß eingeführt, für dessen Ausdruck mehrere Zeichenkonstanten erforderlich waren.

Die Jargon-Datei behauptet, dass "Hello, World!" entstand stattdessen mit BCPL (1967). Diese Behauptung wird angeblich durch die archivierten Notizen der Erfinder von BCPL, Brian Kernighan in Princeton und Martin Richards in Cambridge, gestützt . Der Begriff ging über ein Jahrzehnt vor seiner Verwendung in der Computertechnik zurück; Bereits in den 1950er Jahren war es das Schlagwort des Radio-Discjockeys William B. Williams .

Variationen

Ein "Hallo Welt!" Programm läuft auf Sonys PlayStation Portable als Proof of Concept

"Hallo Welt!" Programme variieren in der Komplexität zwischen verschiedenen Sprachen. In einigen Sprachen, insbesondere Skriptsprachen , wird das "Hello, World!" Programm kann als einzelne Anweisung geschrieben werden, während in anderen (insbesondere vielen Low-Level-Sprachen ) viel mehr Anweisungen erforderlich sein können. In Python zum Beispiel, um die Zeichenfolge auszugebenHallo Welt!gefolgt von einem Zeilenumbruch, man braucht nur zu schreiben . Im Gegensatz dazu erfordert der äquivalente Code in C++ [1] den Import der Ein-/Ausgabe- Softwarebibliothek , die manuelle Deklaration eines Einstiegspunkts und die explizite Anweisung, dass der Ausgabestring an den Standardausgabestrom gesendet werden soll . Im Allgemeinen führen Programmiersprachen, die dem Programmierer mehr Kontrolle über die Maschine geben, zu komplexeren "Hallo Welt"-Programmen. print("Hello, World!")

Der Satz "Hallo Welt!" hat verschiedene Abweichungen in Satzzeichen und Groß-/Kleinschreibung festgestellt, wie das Vorhandensein von Komma und Ausrufezeichen und die Großschreibung der führenden H und W . Einige Geräte beschränken das Format auf bestimmte Variationen, wie zum Beispiel Versionen mit Großbuchstaben auf Systemen, die nur Großbuchstaben unterstützen, während einige esoterische Programmiersprachen möglicherweise eine leicht modifizierte Zeichenfolge drucken müssen. Zum Beispiel druckte das erste nicht-triviale Malbolge- Programm "Hello world", das als gut genug eingestuft wurde . Als Ausgabe wurden andere menschliche Sprachen verwendet; Beispielsweise gab ein Tutorial für die Programmiersprache Go sowohl englische als auch chinesische oder japanische Zeichen aus und demonstrierte die integrierte Unicode- Unterstützung der Programmiersprache .

Ein "Hallo Welt!" Nachricht, die angezeigt durch lange Belichtungslichtmalerei mit einer sich bewegenden Streifen von LEDs

Einige Sprachen ändern die Funktionalität des "Hello, World!" Programm unter Beibehaltung des Geistes, ein einfaches Beispiel zu demonstrieren. Funktionale Programmierung Sprachen wie Lisp , ML und Haskell , neigen dazu , eine ersetzen faktorielles Programm für „Hallo, Welt!“, Als funktionale Programmierung rekursive Techniken betont, während die ursprünglichen Beispiele betonen I / O, die den Geist der reinen funktionellen verletzt Programmierung durch das Erzeugen von Nebenwirkungen . Sprachen, die ansonsten in der Lage sind, "Hello, World!" (Assembly, C, VHDL ) kann auch in eingebetteten Systemen verwendet werden , wo die Textausgabe entweder schwierig ist (zusätzliche Komponenten oder Kommunikation mit einem anderen Computer erfordert) oder nicht vorhanden ist. Für Geräte wie Mikrocontroller , feldprogrammierbare Gate-Arrays und CPLDs , "Hello, World!" kann daher durch eine blinkende LED ersetzt werden , die das Timing und die Interaktion zwischen den Komponenten demonstriert.

Die Debian- und Ubuntu- Linux-Distributionen bieten das "Hello, World!" Programm über ihre Softwarepaket-Manager- Systeme, die mit dem Befehl aufgerufen werden könnenHallo. Es dient als Gesundheitsprüfung und als einfaches Beispiel für die Installation eines Softwarepakets. Für Entwickler bietet es ein Beispiel für die Erstellung eines .deb- Pakets, entweder traditionell oder mit debhelper , und die Version vonHalloverwendet, GNU Hello , dient als Beispiel für das Schreiben eines GNU- Programms.

Variationen des "Hallo, Welt!" Programme, die eine grafische Ausgabe (im Gegensatz zur Textausgabe) erzeugen, wurden ebenfalls gezeigt. Sun demonstrierte ein "Hallo, Welt!" Programm in Java, das auf skalierbaren Vektorgrafiken basiert , und die XL- Programmiersprache bietet eine sich drehende Erde "Hello, World!" mit 3D-Computergrafik . Mark Guzdial und Elliot Soloway haben vorgeschlagen, dass die Testnachricht "Hallo, Welt" veraltet sein könnte, da Grafiken und Sound so einfach wie Text manipuliert werden können.

Zeit für Hallo Welt

"Time to hello world" (TTHW) ist die Zeit, die es braucht, um ein "Hello, World!" Programm in einer bestimmten Programmiersprache. Dies ist ein Maß für die Benutzerfreundlichkeit einer Programmiersprache; da das Programm als Einführung für sprachfremde Personen gedacht ist, wird ein komplexeres "Hello, World!" Programm kann darauf hinweisen, dass die Programmiersprache weniger zugänglich ist. Das Konzept wurde über Programmiersprachen hinaus auf APIs ausgedehnt , um zu zeigen, wie einfach es für einen neuen Entwickler ist, ein grundlegendes Beispiel zum Laufen zu bringen; eine kürzere Zeit weist auf eine einfachere API für Entwickler hin.

Beispiele

BASIC

10 PRINT "Hello, World!"
20 END

Charge

@echo off
echo Hello World!

Bash

echo "Hello World!"

C

#include <stdio.h>

int main(void) {
  printf("Hello World!");
}

C++

#include <iostream>

int main() 
{
  std::cout << "Hello World!" << std::endl;
}

C#

using System;
class App
{
  static void Main()
  {
    Console.WriteLine("Hello World!");
  }
}

Clojure

(println "Hello world!")

Pfeil

void main() {
  print('Hello, World!');
}

Fortran

program Hello
  print *, "Hello World!"
end program Hello

gehen

package main
import "fmt"

func main() {
    fmt.Println("Hello World!")
}

Haskell

main :: IO ()
main = putStrLn "Hello World!"

Java

class Main {
 public static void main(String[] args) {
    System.out.println("Hello World!");
  }
}

JavaScript

console.log("Hello World!");

Ziel c

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @mylak {
        NSLog(@"Hello World!");
    }
    return 0;
}

Pascal

program Hello;
begin
  writeln ('Hello World!')
end.

Perl

print "Hello World!\n";

PHP

<?php
echo "Hello World!";
?>

Power Shell

Write-Host 'Hello World!'

Python

print("Hello World!")

Rubin

puts"Hello World!"

Rost

fn main() {
    println!("Hello World!");
}

Schnell

print("Hello, World!")

Lua

print("Hello, World!")

Siehe auch

Verweise

Externe Links