"Hallo Welt!" Programm

A "Hallo Welt!" Programm ist im Allgemeinen a Computer Programm Das gibt die Nachricht "Hallo, Welt!" Aus oder zeigt oder zeigt sie an. Ein kleines Stück Code in den meisten allgemeine ProgrammiersprachenDieses Programm wird verwendet, um die Grundlagen einer Sprache zu veranschaulichen Syntax. "Hallo Welt!" Programme sind oft die ersten, die ein Schüler lernt, in eine bestimmte Sprache zu schreiben,[1] und sie können auch als verwendet werden Gesundheitsüberprüfung Um eine Computersoftware zu gewährleisten, die kompiliert oder ausgeführt wird Quellcode ist korrekt installiert und der Bediener versteht, wie man es benutzt.

Geschichte

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

Während seit der Entwicklung von programmierbar kleine Testprogramme existierten Computers, Die Tradition, den Ausdruck "Hallo, Welt!" Als Testnachricht wurde durch ein Beispielprogramm im Buch von 1978 beeinflusst Die C -Programmiersprache,[2] Es gibt jedoch keine Beweise dafür, dass dort „Hallo Welt“ entstanden ist und es sehr wahrscheinlich ist, dass es vorher in BCPL verwendet wurde (wie unten). Das Beispielprogramm in diesem Buch druckt "Hallo Welt", und wurde von 1974 geerbt Glockenlabors Internes Memorandum von Brian Kernighan, Programmierung in C: Ein Tutorial:[3]

hauptsächlich( ) {   printf("Hallo Welt"); } 

Im obigen Beispiel die hauptsächlich( ) Funktion definiert wo das Programm Sollte mit der Ausführung beginnen. Der Funktionskörper besteht aus einem einzigen Aussage, ein Anruf an die printf Funktion, die für "steht"Druck formatiert ". Diese Funktion führt dazu Parameterin diesem Fall die Saite Hallo Welt.

Der C -Sprachversion wurde von Kernighans eigenem 1972 vorangegangen Eine Tutorial -Einführung in die Sprache B,[4] Wo die erste bekannte Version des Programms in einem Beispiel gefunden wird, um externe Variablen zu veranschaulichen:

hauptsächlich( ) {   extern a, b, c;   Putchar(a); Putchar(b); Putchar(c); Putchar('!*n'); }   a 'Hölle'; b 'o, w'; c 'orld'; 

Das Programm druckt auch Hallo Welt! am Terminal, einschließlich a Neue Zeile Charakter. Die Phrase ist in mehrere Variablen unterteilt, da in B eine Zeichenkonstante auf vier begrenzt ist ASCII Figuren. Das vorherige Beispiel im Tutorial gedruckt hallo! auf dem Terminal und der Phrase Hallo Welt! wurde als etwas längerer Gruß eingeführt, der mehrere Charakterkonstanten für seinen Ausdruck erforderte.

Das Jargon -Datei behauptet, dass "Hallo, Welt!" Stattdessen mit BCPL (1967).[5] Diese Behauptung wird angeblich unterstützt[Nach wem?] durch die archivierten Notizen der Erfinder von Cpl, Christopher Strachey und bcpl, Martin Richards bei Cambridge. Der Ausdruck, der über ein Jahrzehnt im Rahmen seiner Berechnung vorliegt; Bereits in den 1950er Jahren war es das Schlagwort von New York Radio Disc Jockey William B. Williams.[6]

Variationen

Eine "Hallo, Welt!" Programm, das auf Sony's läuft PlayStation Portable Als ein konzeptioneller Beweiß

"Hallo Welt!" Die Programme variieren in der Komplexität zwischen verschiedenen Sprachen. Besonders in einigen Sprachen, besonders Skriptsprachen, die "Hallo, Welt!" Programm kann als einzelne Aussage in anderen (insbesondere vielen vielen Sprachen auf niedriger Ebene) Es kann noch viele weitere Aussagen erforderlich sein. Zum Beispiel in Python, um die Zeichenfolge zu drucken Hallo Welt! gefolgt von einer neuen Linie muss man nur schreiben print("Hello, World!"). Im Gegensatz dazu der äquivalente Code in C ++[7] erfordert den Import der Input-Output Softwarebibliothek, die manuelle Erklärung von a Einstiegspunktund die explizite Anweisung, dass die Ausgabebonzeichenfolge an die gesendet werden sollte Standardausgangsstrom. Im Allgemeinen führen Programmiersprachen, die dem Programmierer mehr Kontrolle über die Maschine geben, zu komplexeren "Hallo, Welt" -Programmen.[8]

Der Satz "Hallo Welt!" hat verschiedene Abweichungen in Interpunktion und Gehäuse gesehen H und W. Einige Geräte beschränken das Format auf bestimmte Variationen, wie z. Esoterische Programmiersprachen Möglicherweise müssen eine leicht modifizierte Zeichenfolge drucken. Zum Beispiel der erste nicht-triviale Malbolge Programm gedruckt "Hello World", das entschlossen war, es zu sein gut genug.[9] Andere menschliche Sprachen wurden als Ausgabe verwendet; Zum Beispiel ein Tutorial für die Gehen Sie Programmiersprache gab sowohl englische als auch chinesische oder japanische Charaktere aus und demonstrierte die integrierte Programmiersprache Unicode Unterstützung.[10]

Eine "Hallo, Welt!" Meldung wird durch Langzeitversuche angezeigt Lichtmalerei mit einem sich bewegenden Streifen von LEDs

Einige Sprachen verändern die Funktionalität der "Hallo, Welt!" Programm, während Sie den Geist beibehalten, ein einfaches Beispiel zu demonstrieren. Funktionelle Programmierung Sprachen wie z. Lispeln, Ml, und Haskell, neigen dazu, a zu ersetzen Fakultät Programm für "Hello, World!" Als funktionale Programmierung betont rekursiv Nebenwirkungen. Sprachen ansonsten fähig zu drucken "Hallo, Welt!" (Montage, c, VHDL) kann auch in verwendet werden eingebettete Systeme, wo die Textausgabe entweder schwierig ist (was zusätzliche Komponenten oder Kommunikation mit einem anderen Computer erfordert) oder nicht vorhanden ist. Für Geräte wie z. Mikrocontroller, Feldprogrammierbare Gate-Arrays, und CPLDs, "Hallo Welt!" kann daher durch ein Blinken ersetzt werden LED, was das Timing und die Interaktion zwischen Komponenten zeigt.[11][12][13][14][15]

Das Debian und Ubuntu Linux -Verteilungen Bieten Sie die "Hallo, Welt!" Programm durch ihre Softwarepaketmanager Systeme, die mit dem Befehl aufgerufen werden können hallo. Es dient als Gesundheitsüberprüfung und ein einfaches Beispiel für die Installation eines Softwarepakets. Für Entwickler bietet es ein Beispiel für das Erstellen von a .Deb Paket entweder traditionell oder verwenden Debhelperund die Version von hallo Gebraucht, Gnu Hallo, dient als Beispiel für das Schreiben a GNU Programm.[16]

Variationen der "Hallo, Welt!" programmieren, die a produzieren a Grafische Ausgabe (im Gegensatz zur Textausgabe) wurden ebenfalls gezeigt. Sonne zeigte eine "Hallo, Welt!" Programm in Java bezogen auf Skalierbare Vektorgrafiken,[17] und die Xl Die Programmiersprache enthält eine drehende Erde "Hallo, Welt!" Verwendung 3D -Computergrafik.[18] Mark Guzdial und Elliot Soloway haben vorgeschlagen, dass die Testnachricht "Hello, World" jetzt veraltet ist, da Grafiken und Klang so einfach so leicht manipuliert werden können wie Text.[19]

Zeit für Hello World

"Time to Hello World" (TTHW) ist die Zeit, die es braucht, um eine "Hallo, Welt!" Programm in einer bestimmten Programmiersprache. Dies ist ein Maß für die Benutzerfreundlichkeit einer Programmiersprache. Da das Programm als Einführung für Menschen gedacht ist, die mit der Sprache nicht vertraut sind, ist eine komplexere "Hallo, Welt!" Das Programm kann darauf hinweisen, dass die Programmiersprache weniger zugänglich ist.[8] Das Konzept wurde über die Programmiersprachen hinaus erweitert Apis, als Maß dafür, wie einfach es ist, dass ein neuer Entwickler ein grundlegendes Beispiel funktioniert; Eine kürzere Zeit zeigt eine leichtere API an, die Entwickler übernehmen können.[20][21]

Beispiele

Ada

mit Ada.text_io; verwenden Ada.text_io; Verfahren Hallo ist Start  Put_line ("Hallo Welt!"); Ende Hallo; 

Algol 60

START ANZEIGE("HALLO WELT!") ENDE. 

Algol 68

Start   printf (($ gl $, "Hallo, Welt!"))Ende 

Apfelkript

AppleScript ist in dem eine Hauptausgabemodus ungewöhnlich nach Audionachricht unter Verwendung einer synthetisierten Stimme:

sagen "Hallo Welt!" 

Alternativ kann ein Alarmfenster mit einer "OK" -Taste angezeigt werden:

Alarm anzeigen "Hallo Welt!" 

BASIC

10 DRUCKEN "Hallo Welt!" 

Stapeldatei

@Echo ausEcho Hallo Welt!

Unix Shell

Echo "Hallo Welt!" 

C

#enthalten  int hauptsächlich() {   printf("Hallo Welt!\n"); } 

C ++

#enthalten  int hauptsächlich() {   std::Cout << "Hallo Welt!\n";   Rückkehr 0; } 

C#

Verwendung System; Klasse Hallo Welt  {  statisch Leere Hauptsächlich()   {  Konsole.Schreiben("Hallo Welt");  } } 

Clojure

(println "Hallo Welt!") 

Cobol

IDENTIFIKATION AUFTEILUNG. Programm-ID. HALLO WELT. VERFAHREN AUFTEILUNG.  ANZEIGE 'Hallo Welt!'.  PAUSE LAUF. 

D

importieren std.stdio; Leere hauptsächlich() {  Writeln("Hallo Welt!"); } 

Pfeil

Leere hauptsächlich() {  drucken('Hallo Welt!'); } 

Elixier

Io.stellt("Hallo Welt!") 

Ezhil

பதிப்பி "உலகே வணக்கம்" பதிப்பி "Hallo Welt!" Ausfahrt() 

F#

printfn "Hallo Welt!" 

Weiter

. " Hallo Welt!" Cr 

Forran

Programm Hallo  drucken *, "Hallo Welt!" Endprogramm Hallo 

gehen

Paket hauptsächlich importieren "fmt" Func hauptsächlich() {  fmt.Println("Hallo Welt!") } 

Groovig

println "Hallo Welt!" 

Haskell

hauptsächlich :: Io () hauptsächlich = putstrln "Hallo Welt!" 

Java

Öffentlichkeit Klasse Hauptsächlich {  Öffentlichkeit statisch Leere hauptsächlich(Saite[] Args) {  System.aus.println("Hallo Welt!");  } } 

JavaScript

Für die Browserkonsole:

Konsole.Protokoll("Hallo Welt!"); 

Für HTML -Dokument:

dokumentieren.schreiben("Hallo Welt!"); 

oder

Alarm("Hallo, Welt \ n"); 

Julia

println("Hallo Welt!") 

Kotlin

Spaß hauptsächlich() {                         println("Hallo Welt!")         } 

Lispeln

(drucken "Hallo Welt!") 

Drucken [Hallo, Welt!]

Lolcode

Hai 1.2 kann Stdio haben? Sichtbar "Hallo Welt!" Kthxbye

Lua

drucken("Hallo Welt!") 

Ziel c

#import <stdio.h> int hauptsächlich() {   printf("Hallo Welt!\n"); } 

oder verwenden Nächster Schritt Frameworks,

#import <foundation/foundation.h> int hauptsächlich(int argc, Const verkohlen * argv[]) {   @Autoreleaspool {   Nslog(@"Hallo Welt!");   }   Rückkehr 0; } 

Ocaml

print_endline "Hallo Welt!" 

Pascal

Programm Hallo; Start  Writeln ('Hallo Welt!'); Ende. 

Perl

drucken "Hallo Welt! \ N"; 

Php

  Echo 'Hallo Welt!'; ?> 

Power Shell

'Hallo Welt!' 

Prolog

hauptsächlich() :- schreiben("Hallo Welt!"), nl. 

Python

drucken("Hallo Welt!") 

R

drucken("Hallo Welt!") 

Schläger

#lang Schläger (displayln "Hallo Welt!") 

Rubin

stellt "Hallo Welt!" 

Rost

fn hauptsächlich() {   println!("Hallo Welt!"); } 

Simula

Start  Outtext ("Hallo Welt!"); Outimage;Ende;

Smalltalk

Transkript Show: 'Hallo Welt!'. 

Standard ml

drucken "Hallo Welt!\n" 

Schnell

drucken("Hallo Welt!") 

Tcl

stellt "Hallo Welt!" 

Ti-basic

:Disp "HALLO WELT!" 

Vbscript

Wscript.Echo "Hallo Welt!" 

WebAssembly -Textformat

(Modul  (importieren "Konsole" "Protokoll" (Func $ log (Param i32) (Param i32)))  (importieren "JS" "Mem" (Erinnerung 1))     (Daten (I32.Const 0) "Hallo Welt") ;; Zeichenfolge, die in den globalen Speicher geschrieben wurde  (Func (Export "Hallo Welt")  I32.Const 0  I32.Const 11  Anruf $ log  ) ) 

x86 Montage

SEKTION .Daten Nachricht: db "Hallo Welt!", 10 Len: gleich $-Nachricht global _Anfang _Anfang:  MOV eax,4  MOV ebx,1  MOV ECX,Nachricht  MOV EDX,Len  int 80h  MOV eax,1  MOV ebx,0  int 80h 

Siehe auch

Verweise

  1. ^ James A Langbridge (3. Dezember 2013). Professionelle Eingebettsarmentwicklung. ISBN 9781118887820.
  2. ^ Kernighan, Brian W.; Ritchie, Dennis M. (1978). Die C -Programmiersprache (1. Aufl.). Englewood Cliffs, NJ: Prentice Hall. ISBN 0-13-110163-3.
  3. ^ Kernighan, Brian (1974). "Programmierung in C: Ein Tutorial" (PDF). Bell Labs. Abgerufen 9. Januar 2019.
  4. ^ "Die Programmiersprache B". Bell Labs.
  5. ^ "BCPL". Jargon -Datei.
  6. ^ "William B. Williams, Radio -Persönlichkeit, stirbt". Die New York Times. 4. August 1986.
  7. ^ "C ++ - Programmierung/Beispiele/Hallo Welt". Wikibooks. Abgerufen 16. März 2022.
  8. ^ a b O'Dwyer, Arthur (September 2017). Beherrschen der C ++ 17 STL: Nutzen Sie die Standardbibliothekskomponenten in C ++ 17 voll aus. Packt Publishing Ltd. p. 251. ISBN 978-1-78728-823-2. Abgerufen 4. Dezember 2019.
  9. ^ "Malbolge". Esolang. Esolangs-wiki. Abgerufen 28. Oktober 2016.
  10. ^ Ein Tutorial für die Go -Programmiersprache. Archiviert 26. Juli 2010 bei der Wayback -Maschine Die Go -Programmiersprache. Abgerufen am 26. Juli 2011.
  11. ^ Silva, Mike (11. September 2013). "Einführung in Mikrocontroller - Hallo Welt". Embeddedrelated.com. Abgerufen 19. Mai 2015.
  12. ^ George, Ligo (8. Mai 2013). "Blinking LED mit ATMEGA32 Microcontroller und Atmel Studio". Elektroom. Abgerufen 19. Mai 2015.
  13. ^ PT, Ranjeeth. "2. AVR -Mikrocontroller in Linux Howto". Das Linux -Dokumentationsprojekt. Abgerufen 19. Mai 2015.
  14. ^ Andersson, Sven-Åke (2. April 2012). "3.2 Das erste Altera FPGA -Design". Raidió Teilifís Éireann. Archiviert von das Original am 21. Mai 2015. Abgerufen 19. Mai 2015.
  15. ^ Fabio, Adam (6. April 2014). "CPLD -Tutorial: Programmierbare Logik auf einfache Weise lernen". Hackaday. Abgerufen 19. Mai 2015.
  16. ^ "Hallo - GNU -Projekt - kostenlose Software -Stiftung". gnu.org. GNU -Projekt. Archiviert von das Original am 29. Mai 2014. Abgerufen 7. Juli 2017.
  17. ^ Jolif, Christophe (Januar 2003). "SVG -Strom für Java -Anwendungen bringen". Sun Developer Network.
  18. ^ de Dinechin, Christophe (24. Juli 2010). "Hallo Welt!". Grenouille Bouillie.
  19. ^ "Die Nintendo -Generation zum Programmieren unterrichten" (PDF). bfoit.org. Archiviert von das Original (PDF) am 5. Mai 2016. Abgerufen 27. Dezember 2015.
  20. ^ Wiegers, Harold (28. Juni 2018). "Die Wichtigkeit von" Zeit für die erste Hallo, Welt! "Ein effizientes API -Programm".
  21. ^ Jin, Brenda; Sahni, Saurabh; Shevat, Amir (29. August 2018). Entwerfen von Web -APIs: Erstellen von APIs, die Entwickler lieben. O'Reilly Media. ISBN 9781492026877. Abgerufen 19. Februar 2020.

Externe Links