"Hello, World!" program: Difference between revisions
Tag: repeating characters |
m undo revision 4B6F21FF by 2605:B100:112A:4D0F:6595:79:F49A:3A81 (talk): please join the discussion, cmp. revision 4AF0A854 |
||
Line 1: | Line 1: | ||
{{Short description|Traditional first example of a computer programming language}} |
|||
{{Redirect|Hello World|the 2009 compilation album by [[Michael Jackson]]|Hello World: The Motown Solo Collection|the song by Lady Antebellum|Hello World (song)}} |
|||
{{Redirect-multi|2|Hello, World|Helloworld|other uses|Hello World (disambiguation)}} |
|||
{{stack| |
|||
{{Use dmy dates|date=March 2022}} |
|||
[[Image:Hello World Perl GTk2.png|thumb|right|A [[Graphical user interface|GUI]] "Hello World" program, written in [[Perl]]]] |
|||
A '''"Hello, World!" program''' is usually a simple [[computer program]] that emits (or displays) to the screen (often the [[Console application|console]]) a message similar to "Hello, World!". A small piece of code in most [[general-purpose programming language]]s, this program is used to illustrate a language's basic [[Syntax (programming languages)|syntax]]. Such program is often the first written by a student of a new programming language,<ref>{{cite book |last1=Langbridge |first1=James A. |url=https://books.google.com/books?id=y51NAgAAQBAJ&pg=PA74 |title=Professional Embedded ARM Development |date=3 December 2013 |publisher=John Wiley & Sons |isbn=9781118887820}}</ref> but such a program can also be used as a [[sanity check]] to ensure that the [[computer software]] intended to [[Compiler|compile]] or run [[source code]] is correctly installed, and that its operator understands how to use it. |
|||
[[Image:PSP-Homebrew.jpeg|thumb|right|Hackers can execute unsigned code on Sony's [[PlayStation Portable homebrew|PlayStation Portable]].]] |
|||
[[Image:UT HelloWorld.jpg|thumb|right|A light-programmable [[biofilm]] displaying the Hello World message]] |
|||
[[Image:CNC Hello World.jpg|thumb|right|[[CNC]] machining test in [[Perspex]]]] |
|||
}} |
|||
==History== |
|||
A '''"Hello world" program''' is a [[computer program]] that prints out "Hello world" on a [[display device]]. It is typically one of the simplest programs possible in most [[programming language]]s. Therefore, by [[tradition]], it is often used to verify a language or system is operating correctly. It is also used to illustrate the most basic syntax of a programming language. Most of these programs are very simple, especially those that rely on a [[command-line interpreter]] ([[Shell (computing)|shell]]) to perform the actual output. However, they can be surprisingly complex, especially when writing the program for [[graphical user interface]]. When programming an [[embedded system]], the text may be sent to a [[liquid crystal display]]. In a device that does not display text, a simple program to produce a signal, such as turning on an [[light-emitting diode|LED]], may be substituted for "Hello world" as the introductory program. |
|||
[[File:Hello World Brian Kernighan 1974.jpg|thumb|"Hello, World!" program handwritten in the [[C (programming language)|C language]] and signed by [[Brian Kernighan]] (1978)]] |
|||
While small test programs have existed since the development of programmable [[computer]]s, the tradition of using the phrase "Hello, World!" as a test message was influenced by an example program in the 1978 book ''[[The C Programming Language]]'',<ref>{{cite book |last1=Kernighan |first1=Brian W. |author1-link=Brian Kernighan |last2=Ritchie |first2=Dennis M. |author2-link=Dennis Ritchie |date=1978 |title=The C Programming Language |edition=1st |publisher=[[Prentice Hall]] |location=[[Englewood Cliffs, New Jersey]] |isbn=0-13-110163-3 |url-access=registration |url=https://archive.org/details/cprogramminglang00kern}}</ref> with likely earlier use in [[BCPL]]. The example program from the book prints {{samp|"hello, world"}}, and was inherited from a 1974 [[Bell Labs|Bell Laboratories]] internal memorandum by [[Brian Kernighan]], ''Programming in C: A Tutorial'':<ref name="ctut">{{cite web |url=https://www.bell-labs.com/usr/dmr/www/ctut.pdf |title=Programming in C: A Tutorial |last1=Kernighan |first1=Brian |author1-link=Brian Kernighan |year=1974 |publisher=Bell Labs |url-status=live |archive-url=https://web.archive.org/web/20220322215231/https://www.bell-labs.com/usr/dmr/www/ctut.pdf |archive-date=22 March 2022 |access-date=9 January 2019}}</ref> |
|||
==Purpose== |
|||
<!-- |
|||
A "hello world" program has become the traditional first program that many people learn. In general, it is simple enough that people who have no previous experience with computer programming can easily understand it, especially with the guidance of a teacher or a written guide. Using this simple program as a basis, [[computer science]] principles or elements of a specific [[programming language]] can be explained to novice programmers. Experienced programmers learning new languages can also gain a lot of information about a given language's syntax and structure from a hello world program. |
|||
********** |
|||
Editor's Note: We do not need to have an example for every programming language ever created. Wikipedia is an encyclopedia. Please refrain from adding examples just because we can. If you think a particular example adds something unique and valuable to the article, petition on the talk page, first. Thanks. (User: DragonHawk) |
|||
Addendum: there are large repositories of Hello, World! programs all over the net, in every conceivable language. No need exists to list them all here. In fact, there is now a very comprehensive Wikibooks link: if you want to add a version for your language, do so there (you'll likely find it already exists). HERE IS NOT THE PLACE. The C version (which is not even correct in modern C) is here because it is the first in a non-obscure language, and the B example because it is the first known. There is no reason to have many others here. ADD NO MORE! |
|||
In addition, hello world can be a useful [[sanity test]] to make sure that a language's [[compiler]], [[development environment]], and [[run-time environment]] are correctly installed. Configuring a complete programming [[toolchain]] from scratch to the point where even trivial programs can be compiled and run can involve substantial amounts of work. For this reason, a simple program is used first when testing a new tool chain. |
|||
********** |
|||
--> |
|||
<!-- ADD NO NEWLINE, HEADER FILE, OR INT DATA TYPE TO THIS CODE. THE ORIGINAL IN 1974 DIDN'T HAVE THEM, THANKS --> |
|||
<!-- See https://www.bell-labs.com/usr/dmr/www/ctut.pdf for original. --> |
|||
<syntaxhighlight lang="c"> |
|||
main( ) { |
|||
printf("hello, world"); |
|||
} |
|||
</syntaxhighlight> |
|||
In the above example, the {{samp|main( )}} [[subroutine|function]] defines where the program [[Entry point|should start executing]]. The function body consists of a single [[Statement (computer science)|statement]], a call to the {{samp|printf()}} function, which stands for "''print f''ormatted"; it outputs to the [[Console application|console]] whatever is passed to it as the [[Parameter (computer programming)|parameter]], in this case the [[String (computer science)|string]] {{samp|"hello, world"}}. |
|||
"Hello world" is also used by computer hackers as a [[proof of concept]] that arbitrary code can be executed through an [[Exploit (computer security)|exploit]] where the system designers did not intend code to be executed—for example, on Sony's [[PlayStation Portable]]. This is the first step in using homemade content ("[[Homebrew (video games)|home brew]]") on such a device. |
|||
The C-language version was preceded by Kernighan's own 1972 ''A Tutorial Introduction to the Language [[B (programming language)|B]]'',<ref name="langb">{{cite book |last1=Johnson |first1=S. C. |last2=Kernighan |first2=B. W. |author2-link=Brian Kernighan |url=https://www.bell-labs.com/usr/dmr/www/bintro.html |title=The Programming Language B |publisher=Bell Labs |url-status=live |archive-url=https://web.archive.org/web/20150611114355/https://www.bell-labs.com/usr/dmr/www/bintro.html |archive-date=11 June 2015 |access-date=8 August 2024}}</ref> where the first known version of the program is found in an example used to illustrate external variables: |
|||
==History== |
|||
While small test programs existed since the development of programmable [[computer]]s, the tradition of using the phrase "Hello world!" as a test message was influenced by an example program in the seminal book ''[[The C Programming Language (book)|The C Programming Language]]''. The example program from that book prints "<code>hello, world</code>" (without capital letters or exclamation mark), and was inherited from a 1974 [[Bell Labs|Bell Laboratories]] internal memorandum by [[Brian Kernighan]], ''Programming in C: A Tutorial'', which contains the first known version:pppppppppppppppppppppppppppppppppppppp |
|||
<!-- |
|||
<syntaxhighlight lang="text"> |
|||
************************************** |
|||
main( ) { |
|||
extrn a, b, c; |
|||
putchar(a); putchar(b); putchar(c); putchar('!*n'); |
|||
} |
|||
a 'hell'; |
|||
b 'o, w'; |
|||
c 'orld'; |
|||
</syntaxhighlight> |
|||
The program above prints ''{{samp|hello, world!}}'' on the terminal, including a [[newline]] character. The phrase is divided into multiple variables because in B a character constant is limited to four [[ASCII]] characters. The previous example in the tutorial printed ''{{samp|hi!}}'' on the terminal, and the phrase ''{{samp|hello, world!}}'' was introduced as a slightly longer greeting that required several character constants for its expression. |
|||
Editor's Note: We do not need to have an example for every programming language ever created. Wikipedia is an encyclopedia. Please refrain from adding examples just because we can. If you think a particular example adds something unique and valuable to the article, bring it up on the talk page, first. Thanks. (User:DragonHawk) |
|||
The [[Jargon File]] reports that "hello, world" instead originated in 1967 with the language [[BCPL]].<ref>{{cite web |url=http://www.catb.org/jargon/html/B/BCPL.html |title=BCPL |work=[[Jargon File]] |access-date=21 April 2013 |archive-date=3 April 2018 |archive-url=https://web.archive.org/web/20180403000549/http://www.catb.org/jargon/html/B/BCPL.html |url-status=live}}</ref> Outside computing, use of the exact phrase began over a decade prior; it was the [[catchphrase]] of New York radio disc jockey [[William B. Williams (DJ)|William B. Williams]] beginning in the 1950s.<ref name=nytobit>{{cite web |url=https://select.nytimes.com/search/restricted/article?res=F50714FF3E5B0C778CDDA10894DE484D81| title=William B. Williams, Radio Personality, Dies |work=The New York Times |date=4 August 1986}}</ref> |
|||
Addendum: there are large repositories of Hello, World programs all over the net, in every conceivable language, and there is no need to list them all here. In fact, there is now a very comprehensive Wikibooks link: if you want to add a version for your language, do so there (you'll likely find it already exists). HERE IS NOT THE PLACE. The C version (which is not even correct modern C) is here because it is the first in a non-obscure language, and the B example because it is the first known. There is no reason to have any others here. DO NOT ADD ANY MORE! |
|||
==Variations== |
|||
************************************** |
|||
[[Image:PSP-Homebrew.jpeg|thumb|A "Hello, World!" program running on Sony's [[PlayStation Portable homebrew|PlayStation Portable]] as a [[proof of concept]]]] |
|||
"Hello, World!" programs vary in complexity between different languages. In some languages, particularly [[scripting language]]s, the "Hello, World!" program can be written as one statement, while in others (more so many [[Low-level programming language|low-level languages]]) many more statements can be required. For example, in [[Python (programming language)|Python]], to print the string ''{{samp|Hello, World!}}'' followed by a newline, one only needs to write <syntaxhighlight lang="python" inline>print("Hello, World!")</syntaxhighlight>. In contrast, the equivalent code in [[C++]]<ref>{{cite web |url=https://en.wikibooks.org/wiki/C%2B%2B_Programming/Examples/Hello_world |title=C++ Programming/Examples/Hello world |publisher=[[Wikibooks]] |access-date=16 March 2022 |archive-date=28 March 2022 |archive-url=https://web.archive.org/web/20220328130457/https://en.wikibooks.org/wiki/C%2B%2B_Programming/Examples/Hello_world |url-status=live}}</ref> requires the import of the [[input/output]] (I/O) [[Library (computing)|software library]], the manual declaration of an [[entry point]], and the explicit instruction that the output string should be sent to the [[standard output]] stream. |
|||
--> |
|||
[[File:CNC Hello World.jpg|thumb|Computer [[numerical control]] (CNC) machining test in [[poly(methyl methacrylate)]] (Perspex).]] |
|||
<!-- DO NOT ADD A NEWLINE TO THIS CODE, THE ORIGINAL DIDN'T HAVE ONE, THANKS --> |
|||
The phrase "Hello, World!" has seen various deviations in casing and punctuation, such as the capitalization of the leading ''H'' and ''W'', and the presence of the comma or exclamation mark. Some devices limit the format to specific variations, such as all-capitalized versions on systems that support only capital letters, while some [[esoteric programming language]]s may have to print a slightly modified string. For example, the first non-trivial [[Malbolge]] program printed "HEllO WORld", this having been determined to be [[Principle of good enough|good enough]].<ref>{{cite web|title=Malbolge|url=https://esolangs.org/wiki/Malbolge|website=Esolang|publisher=esolangs-wiki|access-date=28 October 2016|archive-date=27 August 2022|archive-url=https://web.archive.org/web/20220827150419/https://esolangs.org/wiki/Malbolge|url-status=live}}</ref>{{Unreliable source inline |date=November 2023}} Other human languages have been used as the output; for example, a tutorial for the [[Go (programming language)|Go language]] emitted both English and Chinese or Japanese characters, demonstrating the language's built-in [[Unicode]] support.<ref>[http://golang.org/doc/go_tutorial.html#tmp_20 A Tutorial for the Go Programming Language.] {{webarchive |url=https://web.archive.org/web/20100726052120/http://golang.org/doc/go_tutorial.html#tmp_20 |date=26 July 2010}} The Go Programming Language. Retrieved 26 July 2011.</ref> Another notable example is the [[Rust (programming language)|Rust language]], whose management system automatically inserts a "Hello, World" program when creating new projects. |
|||
<!-- See http://cm.bell-labs.com/cm/cs/who/dmr/ctut.pdf for original. There was no stdio.h in 1974. --> |
|||
<source lang="c"> |
|||
main( ) { |
|||
printf("hello, world"); |
|||
} |
|||
</source> |
|||
[[File:HelloWorld Maktivism ComputerProgramming LEDs.jpg|thumb|A "Hello, World!" message being displayed through long-exposure [[light painting]] with a moving strip of [[light-emitting diode]]s (LEDs)]] |
|||
The first known instance of the usage of the words "hello" and "world" together in computer literature occurred earlier, in Kernighan's 1972 ''Tutorial Introduction to the Language [[B (programming language)|B]]'',<ref name="langb"> |
|||
{{cite web |
|||
| url = http://cm.bell-labs.com/cm/cs/who/dmr/bintro.html |
|||
| title = The Programming Language B |
|||
}} |
|||
</ref> with the following code: |
|||
<code> |
|||
main( ) { |
|||
extrn a, b, c; |
|||
putchar(a); putchar(b); putchar(c); putchar('!*n'); |
|||
} |
|||
a 'hell'; |
|||
b 'o, w'; |
|||
c 'orld'; |
|||
</code> |
|||
Some languages change the function of the "Hello, World!" program while maintaining the spirit of demonstrating a simple example. [[Functional programming]] languages, such as [[Lisp (programming language)|Lisp]], [[ML (programming language)|ML]], and [[Haskell]], tend to substitute a [[factorial]] program for "Hello, World!", as functional programming emphasizes recursive techniques, whereas the original examples emphasize I/O, which violates the spirit of pure functional programming by producing [[Side effect (computer science)|side effects]]. Languages otherwise able to print "Hello, World!" ([[assembly language]], [[C (programming language)|C]], [[VHDL]]) may also be used in [[embedded system]]s, where text output is either difficult (requiring added components or communication with another computer) or nonexistent. For devices such as [[microcontroller]]s, [[field-programmable gate array]]s, and [[complex programmable logic device]]s (CPLDs), "Hello, World!" may thus be substituted with a blinking [[light-emitting diode]] (LED), which demonstrates timing and interaction between components.<ref>{{cite web|last1=Silva|first1=Mike|title=Introduction to Microcontrollers - Hello World|url=http://www.embeddedrelated.com/showarticle/460.php|website=EmbeddedRelated.com|access-date=19 May 2015|date=11 September 2013|archive-date=22 May 2015|archive-url=https://web.archive.org/web/20150522081938/http://www.embeddedrelated.com/showarticle/460.php|url-status=live}}</ref><ref>{{cite web|last1=George|first1=Ligo|title=Blinking LED using Atmega32 Microcontroller and Atmel Studio|url=https://electrosome.com/blinking-led-atmega32-avr-microcontroller/|website=electroSome|date=8 May 2013|access-date=19 May 2015|archive-date=5 November 2014|archive-url=https://web.archive.org/web/20141105123532/http://electrosome.com/blinking-led-atmega32-avr-microcontroller|url-status=live}}</ref><ref>{{cite web|last1=PT|first1=Ranjeeth|title=2. AVR Microcontrollers in Linux HOWTO|url=http://www.tldp.org/HOWTO/Avr-Microcontrollers-in-Linux-Howto/x207.html|website=The Linux Documentation Project|access-date=19 May 2015|archive-date=2 May 2015|archive-url=https://web.archive.org/web/20150502194301/http://www.tldp.org/HOWTO/Avr-Microcontrollers-in-Linux-Howto/x207.html|url-status=live}}</ref><ref>{{cite web|last1=Andersson|first1=Sven-Åke|title=3.2 The first Altera FPGA design|url=http://www.rte.se/blog/blogg-modesty-corex/first-altera-fpga-design/3.2|publisher=Raidió Teilifís Éireann|access-date=19 May 2015|date=2 April 2012|archive-url=https://web.archive.org/web/20150521222132/http://www.rte.se/blog/blogg-modesty-corex/first-altera-fpga-design/3.2|archive-date=21 May 2015|url-status=dead}}</ref><ref>{{cite web|last1=Fabio|first1=Adam|title=CPLD Tutorial: Learn programmable logic the easy way|url=http://hackaday.com/2014/04/06/cpld-tutorial-learn-programmable-logic-the-easy-way/|website=Hackaday|access-date=19 May 2015|date=6 April 2014|archive-date=20 May 2015|archive-url=https://web.archive.org/web/20150520063507/http://hackaday.com/2014/04/06/cpld-tutorial-learn-programmable-logic-the-easy-way/|url-status=live}}</ref> |
|||
For modern languages, the hello world program tends to subtly grow in sophistication. For example, the [[Go programming language]] introduced a multilingual hello world program,<ref>[http://golang.org/doc/go_tutorial.html#tmp_20 Golang.org]</ref> [[Sun Microsystems|Sun]] demonstrated a [[Java (programming language)|Java]] hello world based on [[scalable vector graphics]],<ref>[http://java.sun.com/developer/technicalArticles/GUI/svg/ Sun.com]</ref> and the [[XL (programming language)|XL]] programming language features a spinning Earth hello world using 3D graphics.<ref>[http://grenouillebouillie.wordpress.com/2010/07/24/hello-world Wordpress.com]</ref> |
|||
The [[Debian]] and [[Ubuntu]] [[Linux distribution]]s provide the "Hello, World!" program through their [[Package manager|software package manager]] systems, which can be invoked with the command ''{{samp|hello}}''. It serves as a [[sanity check]] and a simple example of installing a software package. For developers, it provides an example of creating a [[.deb]] package, either traditionally or using ''debhelper'', and the version of {{samp|hello}} used, [[GNU Hello]], serves as an example of writing a [[GNU]] program.<ref>{{cite web|title=Hello |url=https://www.gnu.org/software/hello/|website=GNU Project |publisher=Free Software Foundation |access-date=7 July 2017|archive-url=https://archive.today/20140529011826/http://www.gnu.org/software/hello/|archive-date=29 May 2014|url-status=dead}}</ref> |
|||
==Variations== |
|||
There are many variations on the punctuation and casing of the phrase. Variations include the presence or absence of the comma and exclamation mark, and the capitalization of the 'H', both the 'H' and the 'W', or neither. Some languages are forced to implement different forms, such as "<code>HELLO WORLD!</code>", on systems that only support capital letters, while many "hello world" programs in [[Esoteric programming language|esoteric languages]] print out a slightly modified string. For example, the first non-trivial [[Malbolge]] program printed "HEllO WORld", this having been determined to be [[Principle of good enough|good enough]]. |
|||
Variations of the "Hello, World!" program that produce a [[Computer graphics|graphical output]] (as opposed to text output) have also been shown. [[Sun Microsystems|Sun]] demonstrated a "Hello, World!" program in [[Java (programming language)|Java]] based on [[scalable vector graphics]],<ref>{{cite news|last=Jolif|first=Christophe|title=Bringing SVG Power to Java Applications|newspaper=Sun Developer Network|date=January 2003}}</ref> and the [[XL (programming language)|XL]] programming language features a spinning Earth "Hello, World!" using [[3D computer graphics]].<ref>{{cite web|last=de Dinechin|first=Christophe|title=Hello world!|url=http://grenouillebouillie.wordpress.com/2010/07/24/hello-world/|publisher=Grenouille Bouillie|date=24 July 2010}}</ref> Mark Guzdial and [[Elliot Soloway]] have suggested that the "hello, world" test message may be outdated now that graphics and sound can be manipulated as easily as text.<ref>{{cite web|url=http://www.bfoit.org/itp/Soloway/CACM_Nintendo_Generation.pdf|title=Teaching the Nintendo Generation to Program|website=bfoit.org|access-date=27 December 2015|archive-url=https://web.archive.org/web/20160505190520/http://www.bfoit.org/itp/Soloway/CACM_Nintendo_Generation.pdf|archive-date=5 May 2016|url-status=dead}}</ref> |
|||
There are variations in spirit, as well. [[Functional programming]] languages, like [[Lisp (programming language)|Lisp]], [[ML (programming language)|ML]] and [[Haskell (programming language)|Haskell]], tend to substitute a [[factorial]] program for Hello World, as the former emphasizes recursive techniques, which are a large part of functional programming, while the latter emphasizes I/O, which violates the spirit of pure functional programming by producing side effects. |
|||
==Time to Hello World== |
|||
The [[Debian]] and [[Ubuntu (operating system)|Ubuntu]] [[Linux]] distributions provide the "hello world" program through the [[Advanced Packaging Tool|apt]] packaging system; this allows users to simply type "apt-get install hello" for the program to be installed, along with any [[dependency (software)|software dependencies]]. While of itself useless, it serves as a [[sanity check]] and a simple example to newcomers of how to install a package. It is significantly more useful for developers, however, as it provides an example of how to create a [[.deb]] package, either traditionally or using [[debhelper]], and the version of hello used, [[GNU]] hello, serves as an example of how to write a GNU program.<ref>[http://www.scriptol.com/programming/hello-world.php Scriptol.com]</ref> |
|||
"Time to hello world" (TTHW) is the time it takes to author a "Hello, World!" program in a given programming language. This is one measure of a programming language's ease of use. Since the program is meant as an introduction for people unfamiliar with the language, a more complex "Hello, World!" program may indicate that the programming language is less approachable.<ref name="ODwyer">{{cite book |last1=O'Dwyer |first1=Arthur |title=Mastering the C++17 STL: Make full use of the standard library components in C++17 |date=September 2017 |publisher=[[Packt Publishing Ltd]] |isbn=978-1-78728-823-2 |page=251 |url=https://books.google.com/books?id=zJlGDwAAQBAJ&q=%22TTHW%22&pg=PA251 |access-date=4 December 2019 |language=en}}</ref> For instance, the first publicly known "Hello, World!" program in [[Malbolge]] (which actually output "HEllO WORld") took two years to be announced, and it was produced not by a human but by a code generator written in [[Common Lisp]] {{see above|{{slink||Variations}}, above}}. |
|||
== See also == |
|||
The concept has been extended beyond programming languages to [[Application programming interface|APIs]], as a measure of how simple it is for a new developer to get a basic example working; a shorter time indicates an easier API for developers to adopt.<ref>{{cite web |last1=Wiegers |first1=Harold |title=The importance of "Time to First Hello, World!" an efficient API program |date=28 June 2018 |url=https://apifriends.com/api-management/api-program-time-first-hello-world/ |access-date=19 February 2020 |archive-date=19 February 2020 |archive-url=https://web.archive.org/web/20200219061813/https://apifriends.com/api-management/api-program-time-first-hello-world/ |url-status=live}}</ref><ref>{{cite book |last1=Jin |first1=Brenda |last2=Sahni |first2=Saurabh |last3=Shevat |first3=Amir |title=Designing Web APIs: Building APIs That Developers Love |url=https://books.google.com/books?id=Dg1rDwAAQBAJ&q=%22time%20to%20hello%20world%22&pg=PT150 |date=29 August 2018 |publisher=O'Reilly Media |isbn=9781492026877 |access-date=19 February 2020}}</ref> |
|||
==Wikipedia articles containing "Hello, World!" programs== |
|||
{{flatlist| |
|||
*[[ABAP#Hello world|ABAP]] |
|||
*[[Ada (programming language)#"Hello, world!" in Ada|Ada]] |
|||
*[[Aldor#Examples|Aldor]] |
|||
*[[ALGOL#Timeline: Hello world|ALGOL]] |
|||
*[[ALGOL 60]] |
|||
*[[AmbientTalk#Hello world|AmbientTalk]] |
|||
*[[Amiga E#"Hello, World!" example|Amiga E]] |
|||
*[[Apache Click#Example|Apache Click]] |
|||
*[[Apache Jelly#Usage|Apache Jelly]] |
|||
*[[Apache Wicket#Example|Apache Wicket]] |
|||
*[[AppJar#Example|AppJar]] |
|||
*[[AppleScript#Hello, world!|AppleScript]] |
|||
*[[Applesoft BASIC#Sample code|Applesoft BASIC]] |
|||
*[[Arc (programming language)#Examples|Arc]] |
|||
*[[Atari Assembler Editor#Example code|Atari Assembler Editor]] |
|||
*[[AutoLISP#Examples|AutoLISP]] |
|||
*[[AviSynth#"Hello World"|AviSynth]] |
|||
*[[AWK#Hello World|AWK]] |
|||
*[[BASIC#Examples|BASIC]] |
|||
*[[Basic Assembly Language#Examples|Basic Assembly Language]] |
|||
*[[Ballerina (programming language)#Hello World|Ballerina]] |
|||
*[[BCPL#Hello world|BCPL]] |
|||
*[[Beatnik (programming language)#Hello World|Beatnik]] |
|||
*[[Befunge#Sample Befunge-93 code|Befunge]] |
|||
*[[BETA (programming language)#Hello world!|BETA]] |
|||
*[[Blitz BASIC#Examples|Blitz BASIC]] |
|||
*[[Brainfuck#Hello World!|Brainfuck]] |
|||
*[[C (programming language)#"Hello, world" example|C]] |
|||
*[[Caché ObjectScript#Caché programming examples|Caché ObjectScript]] |
|||
*[[Cairo (graphics)#Example|Cairo]] |
|||
*[[C/AL#Hello World|C/AL]] |
|||
*[[Carbon (programming language)#Example|Carbon]] |
|||
*[[Casio BASIC#Examples|Casio BASIC]] |
|||
*[[Charm (programming language)#Example|Charm]] |
|||
*[[CherryPy#Pythonic interface|CherryPy]] |
|||
*[[Clean (programming language)#Examples|Clean]] |
|||
*[[Clipper (programming language)#Programming in Clipper|Clipper]] |
|||
*[[C++#Language|C++]] |
|||
*[[C Sharp (programming language)#Hello World|C#]] |
|||
*[[COBOL#Hello, world|COBOL]] |
|||
*[[Cobra (programming language)#Hello World|Cobra]] |
|||
*[[Common Intermediate Language#Example|Common Intermediate Language]] |
|||
*[[Crystal (programming language)#Hello World|Crystal]] |
|||
*[[Cython#Example|Cython]] |
|||
*[[Dart (programming language)#Example|Dart]] |
|||
*[[Darwin (programming language)#Example Code|Darwin]] |
|||
*[[Data General Nova#Hello world program|Data General Nova]] |
|||
*[[Deno (software)#Examples|Deno]] |
|||
*[[DOORS Extension Language#"Hello, World" example|DOORS Extension Language]] |
|||
*[[Easy Programming Language#Programming examples|Easy Programming Language]] |
|||
*[[El-76#Program sample|Эль-76]] |
|||
*[[Elixir (programming language)#Examples|Elixir]] |
|||
*[[Enyo (software)#Examples|Enyo]] |
|||
*[[Extensible Embeddable Language#Example code|Extensible Embeddable Language]] |
|||
*[[Ezhil (programming language)#Hello world|எழில்]] |
|||
*[[F Sharp (programming language)#Examples|F#]] |
|||
*[[FastAPI#Example|FastAPI]] |
|||
*[[Fjölnir (programming language)#Code examples|Fjölnir]] |
|||
*[[Flask (web framework)#Example|Flask]] |
|||
*[[Flix (programming language)#Hello world|Flix]] |
|||
*[[Forth (programming language)#“Hello, World!”|Forth]] |
|||
*[[Fortran#"Hello, World!" example|FORTRAN]] |
|||
*[[Fortress (programming language)#Example: Hello world!|Fortress]] |
|||
*[[FreeBASIC#Example code|FreeBASIC]] |
|||
*[[Go (programming language)#Hello world|Go]] |
|||
*[[Godot (game engine)#GDScript|Godot]] |
|||
*[[Google Gadgets#Technology|Google Gadgets]] |
|||
*[[GNU Smalltalk#Examples|GNU Smalltalk]] |
|||
*[[Hack (programming language)#Syntax_and_semantics|Hack]] |
|||
*[[Harbour (programming language)#Sample code|Harbour]] |
|||
*[[Haskell#Code examples|Haskell]] |
|||
*[[Hollywood (programming language)#Hello World program|Hollywood]] |
|||
*[[HTML#Markup|HTML]] |
|||
*[[HTML Application#Example|HTML Application]] |
|||
*[[IBM Open Class#Examples|IBM Open Class]] |
|||
*[[Idris (programming language)#Features|Idris]] |
|||
*[[INTERCAL#Hello, world|INTERCAL]] |
|||
*[[Internet Foundation Classes#Hello World|Internet Foundation Classes]] |
|||
*[[Io (programming language)#Examples|Io]] |
|||
*[[IRAF#IRAF specific languages|IRAF]] |
|||
*[[J (programming language)#Examples|J]] |
|||
*[[JADE (programming language)#Hello World!|JADE]] |
|||
*[[Jam.py (web framework)#Example|Jam.py]] |
|||
*[[Java (programming language)#Examples|Java]] |
|||
*[[JavaFX Script#Syntax|JavaFX Script]] |
|||
*[[JavaScript#Simple examples|JavaScript]] |
|||
*[[JFace#Example|JFace]] |
|||
*[[JUDO (software)#Syntax|JUDO]] |
|||
*[[K (programming language)#Examples|K]] |
|||
*[[KERNAL#Example|KERNAL]] |
|||
*[[Kivy (framework)#Code example|Kivy]] |
|||
*[[K-Meleon#Customization|K-Meleon]] |
|||
*[[LibreLogo#Hello world example|LibreLogo]] |
|||
*[[Lisp (programming language)#Examples|Lisp]] |
|||
*[[LiveScript (programming language)#Syntax|LiveScript]] |
|||
*[[LOLCODE#Language structure and examples|LOLCODE]] |
|||
*[[Lua (programming language)#Syntax|Lua]] |
|||
*[[MAC/65#MAC/65 ToolKit|MAC/65]] |
|||
*[[MACRO-10#Programming examples|MACRO-10]] |
|||
*[[MACRO-11#Programming example|MACRO-11]] |
|||
*[[MAD (programming language)#"Hello, world" example|MAD]] |
|||
*[[Magik (programming language)#Hello World example|Magik]] |
|||
*[[Malbolge#Hello, World!|Malbolge]] |
|||
*[[MATLAB#"Hello, world!" example|MATLAB]] |
|||
*[[Mercury (programming language)#Examples|Mercury]] |
|||
*[[MicroPython]] |
|||
*[[Microsoft Small Basic#Language|Microsoft Small Basic]] |
|||
*[[mIRC scripting language#Code examples|mIRC scripting language]] |
|||
*[[MMIX#Architecture|MMIX]] |
|||
*[[Mockito#Example|Mockito]] |
|||
*[[Modula-3#Syntax|Modula-3]] |
|||
*[[Mojo (programming language)#Programming examples|Mojo]] |
|||
*[[Monad (functional programming)#IO monad (Haskell)|Monad]] |
|||
*[[MUMPS#Hello, World! example|MUMPS]] |
|||
*[[MXML#Example source code|MXML]] |
|||
*[[Nemerle#Hello, World!|Nemerle]] |
|||
*[[Newspeak (programming language)#"Hello World" example|Newspeak]] |
|||
*[[Nim (programming language)#Hello world|Nim]] |
|||
*[[NWScript#Hello world|NWScript]] |
|||
*[[OmniMark#Example code|OmniMark]] |
|||
*[[Opa (programming language)#Hello world|Opa]] |
|||
*[[OpenEdge Advanced Business Language#Hello World|OpenEdge Advanced Business Language]] |
|||
*[[Open Programming Language#Examples|Open Programming Language]] |
|||
*[[Oriel (scripting language)#Examples|Oriel]] |
|||
*[[ParaSail (programming language)#Examples|ParaSail]] |
|||
*[[Parrot assembly language]] |
|||
*[[Parrot intermediate representation#Example|Parrot intermediate representation]] |
|||
*[[Pascal (programming language)#Language constructs|Pascal]] |
|||
*[[PCASTL#Hello world|PCASTL]] |
|||
*[[PDP-8#String output|PDP-8]] |
|||
*[[Perl language structure#Basic syntax|Perl]] |
|||
*[[Perl module#Examples|Perl module]] |
|||
*[[PHP#Syntax|PHP]] |
|||
*[[Plack (software)#Examples|Plack]] |
|||
*[[Plua#Sample code, Plua 1|Plua]] |
|||
*[[Plus (programming language)#"Hello, world" example|Plus]] |
|||
*[[PostScript#"Hello world"|PostScript]] |
|||
*[[PowerBASIC#Hello world|PowerBASIC]] |
|||
*[[Prolog#Hello World|Prolog]] |
|||
*[[PureBasic#Hello World example|PureBasic]] |
|||
*[[Pure Data#Code examples|Pure Data]] |
|||
*[[PureScript#Examples|PureScript]] |
|||
*[[PyGTK#Syntax|PyGTK]] |
|||
*[[Python (programming language)#Programming examples|Python]] |
|||
*[[Q (programming language from Kx Systems)#Examples|Q]] |
|||
*[[QB64#Syntax|QB64]] |
|||
*[[QuickBASIC#Syntax example|QuickBASIC]] |
|||
*[[R (programming language)#Hello, World!|R]] |
|||
*[[Rack (web server interface)#Example application|Rack]] |
|||
*[[Racket (programming language)#Code examples|Racket]] |
|||
*[[Raku (programming language)#Hello world|Raku]] |
|||
*[[React (software)#Basic usage|React]] |
|||
*[[React Native#Hello World example|React Native]] |
|||
*[[Rebol#Design|Rebol]] |
|||
*[[Red (programming language)#Hello World!|Red]] |
|||
*[[Refal#Basics|Refal]] |
|||
*[[RGtk2#Syntax|RGtk2]] |
|||
*[[Ring (programming language)#Hello World program|Ring]] |
|||
*[[Robot Framework#Examples|Robot Framework]] |
|||
*[[Ruby syntax#Interactive sessions|Ruby]] |
|||
*[[Rust (programming language)#Hello World program|Rust]] |
|||
*[[SAKO (programming language)#"Hello, world" example|SAKO]] |
|||
*[[SARL (programming language)#Hello, World!|SARL]] |
|||
*[[Scala (programming language)#"Hello World" example|Scala]] |
|||
*[[Scilab#Syntax|Scilab]] |
|||
*[[Scratch (programming language)|Scratch]] |
|||
*[[Sed#Hello, world! example|Sed]] |
|||
*[[Self (programming language)#Basic syntax|Self]] |
|||
*[[Shakespeare Programming Language#Example code|Shakespeare]] |
|||
*[[Simula#Classic Hello world|Simula]] |
|||
*[[SmallBASIC#Syntax|SmallBASIC]] |
|||
*[[Smalltalk#Hello World example|Smalltalk]] |
|||
*[[Standard ML#Hello, world!|Standard ML]] |
|||
*[[Standard Widget Toolkit#Programming|Standard Widget Toolkit]] |
|||
*[[Swift (programming language)#Basic Syntax|Swift]] |
|||
*[[TeX#How it is run|TeX]] |
|||
*[[TI-990#Assembly Language Programming Example|TI-990]] |
|||
*[[TI-BASIC#Hello world|TI‑BASIC]] |
|||
*[[Tornado (web server)#Example|Tornado]] |
|||
*[[Turbo Pascal#Syntax|Turbo Pascal]] |
|||
*[[Turing (programming language)#Syntax|Turing]] |
|||
*[[UCBLogo#Syntax|UCBLogo]] |
|||
*[[UEFI#Applications development|UEFI]] |
|||
*[[Umple#Examples|Umple]] |
|||
*[[Unlambda#Basic principles|Unlambda]] |
|||
*[[V (programming language)#Hello world|V]] |
|||
*[[Vala (programming language)#Hello world|Vala]] |
|||
*[[Visual Basic (.NET)#Hello World!|Visual Basic]] |
|||
*[[Visual IRC#Code examples|Visual IRC]] |
|||
*[[web2py]] |
|||
*[[Web Server Gateway Interface#Example application|Web Server Gateway Interface]] |
|||
*[[Whitespace (programming language)#Sample code|Whitespace]] |
|||
*[[Wt (web toolkit)#Code example|Wt]] |
|||
*[[XBLite#Sample Code|XBLite]] |
|||
*[[Xojo#Example code|Xojo]] |
|||
*[[XULJet#Examples|XULJet]] |
|||
*[[Zig (programming language)#Hello World|Zig]] |
|||
}} |
|||
==See also== |
|||
{{Portal|Computer programming}} |
|||
*[[99 Bottles of Beer#References in computer science|"99 Bottles of Beer" as used in computer science]] |
|||
*{{slink|Bad Apple!!|Use as a graphical and audio test}} (graphic equivalent to "Hello, World!" for old hardware) |
|||
*[[Foobar]] |
*[[Foobar]] |
||
*[[Java BluePrints|Java Pet Store]] |
|||
*[[Hello world program examples]] |
|||
*[[Just another Perl hacker]] |
*[[Just another Perl hacker]] |
||
*[[ |
*[[Outline of computer science]] |
||
*[[ |
*[[TPK algorithm]] |
||
*[[99 Bottles of Beer#References in science|"99 Bottles Of Beer" as used in computer science]] |
|||
*At [[Wikibooks]]: |
|||
**[[b:Algorithm Implementation/Mathematics/Fibonacci Number Program|Algorithm Implementation/Mathematics/Fibonacci Number Program]] |
|||
**[[b:Computer Programming/Hello world|Computer Programming/Hello world]] |
|||
==References== |
==References== |
||
{{ |
{{Reflist|30}} |
||
== |
==External links== |
||
{{wiktionary|Hello World}} |
|||
{{Commons category|Hello World}} |
{{Commons category|Hello World}} |
||
{{Wikibooks|Computer Programming|Hello world}} |
|||
*[http://www.lysator.liu.se/c/bwk-tutor.html#simple-c ''Programming in C: A Tutorial''] by Brian Kernighan — internal Bell Labs memo, containing the above C program |
|||
*[https://helloworldcollection.de The Hello World Collection] |
|||
*{{cite web |title=Hello world/Text |url=https://rosettacode.org/wiki/Hello_world/Text |work=[[Rosetta Code]] |date=23 May 2024}} |
|||
*[http://boredzo.org/helloworld/ "Hello World" in four different ways - Worst possible to best possible] |
|||
*{{cite web |title=GitHub – leachim6/hello-world: Hello world in every computer language. Thanks to everyone who contributes to this, make sure to see CONTRIBUTING.md for contribution instructions! |website=[[GitHub]] |date=30 October 2021|url=https://github.com/leachim6/hello-world}} |
|||
*[http://www.poromenos.org/node/89 The "Hello World" curve] |
|||
*{{cite web |title=Unsung Heroes of IT: Part One: Brian Kernighan |url=http://theunsungheroesofit.com/helloworld/ |work=TheUnsungHeroesOfIT.com |access-date=23 August 2014 |archive-url=https://web.archive.org/web/20160326193543/http://theunsungheroesofit.com/helloworld/ |archive-date=26 March 2016 |url-status=dead}} |
|||
<!-- *[http://www.rawbw.com/~rem/HelloPlus/hellos.html "HelloWorld online on Web, and steps beyond HelloWorld"] --> |
|||
*[http://www.roesler-ac.de/wolfram/hello.htm Hello World collection] with 400+ programs, including "Hello World" in 60+ human languages |
|||
*[http://msdn.microsoft.com/en-us/library/ms676538(VS.85).aspx MSDN – "Hello Data" example database] |
|||
*[http://hellowiki.org HelloWiki.org], a wiki based Hello World collection, with helpful comments and links for starting. |
|||
*[http://www.visual-prolog.com/video/HelloWorld/default.htm Hello World! Visual Prolog Video Tutorial] demonstrates basic IDE features while creating a [[Visual Prolog]] "Hello World!" program. |
|||
{{Standard test item}} |
{{Standard test item}} |
||
{{DEFAULTSORT:Hello World Program}} |
{{DEFAULTSORT:Hello World Program}} |
||
[[Category: |
[[Category:Test items in computer languages]] |
||
[[Category: |
[[Category:Computer programming folklore]] |
||
[[Category:Articles with example code]] |
|||
[[Category:Articles with quotation marks in the title]] |
|||
[[ar:برنامج أهلا بالعالم]] |
|||
[[az:Salam dünya proqramı (Hello World)]] |
|||
[[bar:Servus-Woid-Programm]] |
|||
[[bs:Hello world program]] |
|||
[[bg:Hello, world]] |
|||
[[ca:Hola món]] |
|||
[[cs:Hello world]] |
|||
[[da:Hello world-program]] |
|||
[[de:Hallo-Welt-Programm]] |
|||
[[et:Hello world]] |
|||
[[el:Πρόγραμμα hello world]] |
|||
[[es:Hola mundo]] |
|||
[[eo:Saluton, mondo!]] |
|||
[[eu:Kaixo mundua]] |
|||
[[fa:Hello World]] |
|||
[[fr:Hello world]] |
|||
[[ko:Hello world 프로그램]] |
|||
[[hy:Hello, World!]] |
|||
[[id:Hello world]] |
|||
[[ia:Hello World]] |
|||
[[it:Hello world]] |
|||
[[he:תוכנית Hello world]] |
|||
[[ka:გამარჯობა სამყარო (პროგრამა)]] |
|||
[[hu:„Helló, világ!” program]] |
|||
[[mk:Hello World]] |
|||
[[ml:ഹലോ വേൾഡ് (കമ്പ്യൂട്ടർ പ്രോഗ്രാം)]] |
|||
[[ms:Hello world]] |
|||
[[nl:Hello world (programma)]] |
|||
[[ja:Hello world]] |
|||
[[no:Hello, world]] |
|||
[[nn:Hello World]] |
|||
[[pl:Hello world]] |
|||
[[pt:Programa Olá Mundo]] |
|||
[[ro:Program Hello, world!]] |
|||
[[ru:Hello, world!]] |
|||
[[sah:Hello world]] |
|||
[[sq:Njatjeta Botë (programi)]] |
|||
[[simple:Hello world program]] |
|||
[[sk:Hello world]] |
|||
[[sl:Pozdravljen, svet]] |
|||
[[sr:Hello World]] |
|||
[[sh:Hello World]] |
|||
[[fi:Hei maailma -ohjelma]] |
|||
[[sv:Hello World]] |
|||
[[th:เฮลโลเวิลด์]] |
|||
[[tr:Merhaba dünya programı]] |
|||
[[uk:Hello world!]] |
|||
[[ur:Hello World Program]] |
|||
[[vi:Hello world]] |
|||
[[zh:Hello World]] |
Latest revision as of 12:18, 9 January 2025
A "Hello, World!" program is usually a simple computer program that emits (or displays) to the screen (often the console) a message similar to "Hello, World!". A small piece of code in most general-purpose programming languages, this program is used to illustrate a language's basic syntax. Such program is often the first written by a student of a new programming language,[1] but such a program can also be used as a sanity check to ensure that the computer software intended to compile or run source code is correctly installed, and that its operator understands how to use it.
History
[edit]While small test programs have existed since the development of programmable computers, the tradition of using the phrase "Hello, World!" as a test message was influenced by an example program in the 1978 book The C Programming Language,[2] with likely earlier use in BCPL. The example program from the book prints "hello, world", and was inherited from a 1974 Bell Laboratories internal memorandum by Brian Kernighan, Programming in C: A Tutorial:[3]
main( ) {
printf("hello, world");
}
In the above example, the main( ) function defines where the program should start executing. The function body consists of a single statement, a call to the printf() function, which stands for "print formatted"; it outputs to the console whatever is passed to it as the parameter, in this case the string "hello, world".
The C-language version was preceded by Kernighan's own 1972 A Tutorial Introduction to the Language B,[4] where the first known version of the program is found in an example used to illustrate external variables:
main( ) {
extrn a, b, c;
putchar(a); putchar(b); putchar(c); putchar('!*n');
}
a 'hell';
b 'o, w';
c 'orld';
The program above prints hello, world! on the terminal, including a newline character. The phrase is divided into multiple variables because in B a character constant is limited to four ASCII characters. The previous example in the tutorial printed hi! on the terminal, and the phrase hello, world! was introduced as a slightly longer greeting that required several character constants for its expression.
The Jargon File reports that "hello, world" instead originated in 1967 with the language BCPL.[5] Outside computing, use of the exact phrase began over a decade prior; it was the catchphrase of New York radio disc jockey William B. Williams beginning in the 1950s.[6]
Variations
[edit]"Hello, World!" programs vary in complexity between different languages. In some languages, particularly scripting languages, the "Hello, World!" program can be written as one statement, while in others (more so many low-level languages) many more statements can be required. For example, in Python, to print the string Hello, World! followed by a newline, one only needs to write print("Hello, World!")
. In contrast, the equivalent code in C++[7] requires the import of the input/output (I/O) software library, the manual declaration of an entry point, and the explicit instruction that the output string should be sent to the standard output stream.
The phrase "Hello, World!" has seen various deviations in casing and punctuation, such as the capitalization of the leading H and W, and the presence of the comma or exclamation mark. Some devices limit the format to specific variations, such as all-capitalized versions on systems that support only capital letters, while some esoteric programming languages may have to print a slightly modified string. For example, the first non-trivial Malbolge program printed "HEllO WORld", this having been determined to be good enough.[8][unreliable source?] Other human languages have been used as the output; for example, a tutorial for the Go language emitted both English and Chinese or Japanese characters, demonstrating the language's built-in Unicode support.[9] Another notable example is the Rust language, whose management system automatically inserts a "Hello, World" program when creating new projects.
Some languages change the function of the "Hello, World!" program while maintaining the spirit of demonstrating a simple example. Functional programming languages, such as Lisp, ML, and Haskell, tend to substitute a factorial program for "Hello, World!", as functional programming emphasizes recursive techniques, whereas the original examples emphasize I/O, which violates the spirit of pure functional programming by producing side effects. Languages otherwise able to print "Hello, World!" (assembly language, C, VHDL) may also be used in embedded systems, where text output is either difficult (requiring added components or communication with another computer) or nonexistent. For devices such as microcontrollers, field-programmable gate arrays, and complex programmable logic devices (CPLDs), "Hello, World!" may thus be substituted with a blinking light-emitting diode (LED), which demonstrates timing and interaction between components.[10][11][12][13][14]
The Debian and Ubuntu Linux distributions provide the "Hello, World!" program through their software package manager systems, which can be invoked with the command hello. It serves as a sanity check and a simple example of installing a software package. For developers, it provides an example of creating a .deb package, either traditionally or using debhelper, and the version of hello used, GNU Hello, serves as an example of writing a GNU program.[15]
Variations of the "Hello, World!" program that produce a graphical output (as opposed to text output) have also been shown. Sun demonstrated a "Hello, World!" program in Java based on scalable vector graphics,[16] and the XL programming language features a spinning Earth "Hello, World!" using 3D computer graphics.[17] Mark Guzdial and Elliot Soloway have suggested that the "hello, world" test message may be outdated now that graphics and sound can be manipulated as easily as text.[18]
Time to Hello World
[edit]"Time to hello world" (TTHW) is the time it takes to author a "Hello, World!" program in a given programming language. This is one measure of a programming language's ease of use. Since the program is meant as an introduction for people unfamiliar with the language, a more complex "Hello, World!" program may indicate that the programming language is less approachable.[19] For instance, the first publicly known "Hello, World!" program in Malbolge (which actually output "HEllO WORld") took two years to be announced, and it was produced not by a human but by a code generator written in Common Lisp .
The concept has been extended beyond programming languages to APIs, as a measure of how simple it is for a new developer to get a basic example working; a shorter time indicates an easier API for developers to adopt.[20][21]
Wikipedia articles containing "Hello, World!" programs
[edit]- ABAP
- Ada
- Aldor
- ALGOL
- ALGOL 60
- AmbientTalk
- Amiga E
- Apache Click
- Apache Jelly
- Apache Wicket
- AppJar
- AppleScript
- Applesoft BASIC
- Arc
- Atari Assembler Editor
- AutoLISP
- AviSynth
- AWK
- BASIC
- Basic Assembly Language
- Ballerina
- BCPL
- Beatnik
- Befunge
- BETA
- Blitz BASIC
- Brainfuck
- C
- Caché ObjectScript
- Cairo
- C/AL
- Carbon
- Casio BASIC
- Charm
- CherryPy
- Clean
- Clipper
- C++
- C#
- COBOL
- Cobra
- Common Intermediate Language
- Crystal
- Cython
- Dart
- Darwin
- Data General Nova
- Deno
- DOORS Extension Language
- Easy Programming Language
- Эль-76
- Elixir
- Enyo
- Extensible Embeddable Language
- எழில்
- F#
- FastAPI
- Fjölnir
- Flask
- Flix
- Forth
- FORTRAN
- Fortress
- FreeBASIC
- Go
- Godot
- Google Gadgets
- GNU Smalltalk
- Hack
- Harbour
- Haskell
- Hollywood
- HTML
- HTML Application
- IBM Open Class
- Idris
- INTERCAL
- Internet Foundation Classes
- Io
- IRAF
- J
- JADE
- Jam.py
- Java
- JavaFX Script
- JavaScript
- JFace
- JUDO
- K
- KERNAL
- Kivy
- K-Meleon
- LibreLogo
- Lisp
- LiveScript
- LOLCODE
- Lua
- MAC/65
- MACRO-10
- MACRO-11
- MAD
- Magik
- Malbolge
- MATLAB
- Mercury
- MicroPython
- Microsoft Small Basic
- mIRC scripting language
- MMIX
- Mockito
- Modula-3
- Mojo
- Monad
- MUMPS
- MXML
- Nemerle
- Newspeak
- Nim
- NWScript
- OmniMark
- Opa
- OpenEdge Advanced Business Language
- Open Programming Language
- Oriel
- ParaSail
- Parrot assembly language
- Parrot intermediate representation
- Pascal
- PCASTL
- PDP-8
- Perl
- Perl module
- PHP
- Plack
- Plua
- Plus
- PostScript
- PowerBASIC
- Prolog
- PureBasic
- Pure Data
- PureScript
- PyGTK
- Python
- Q
- QB64
- QuickBASIC
- R
- Rack
- Racket
- Raku
- React
- React Native
- Rebol
- Red
- Refal
- RGtk2
- Ring
- Robot Framework
- Ruby
- Rust
- SAKO
- SARL
- Scala
- Scilab
- Scratch
- Sed
- Self
- Shakespeare
- Simula
- SmallBASIC
- Smalltalk
- Standard ML
- Standard Widget Toolkit
- Swift
- TeX
- TI-990
- TI‑BASIC
- Tornado
- Turbo Pascal
- Turing
- UCBLogo
- UEFI
- Umple
- Unlambda
- V
- Vala
- Visual Basic
- Visual IRC
- web2py
- Web Server Gateway Interface
- Whitespace
- Wt
- XBLite
- Xojo
- XULJet
- Zig
See also
[edit]- "99 Bottles of Beer" as used in computer science
- Bad Apple!! § Use as a graphical and audio test (graphic equivalent to "Hello, World!" for old hardware)
- Foobar
- Java Pet Store
- Just another Perl hacker
- Outline of computer science
- TPK algorithm
References
[edit]- ^ Langbridge, James A. (3 December 2013). Professional Embedded ARM Development. John Wiley & Sons. ISBN 9781118887820.
- ^ Kernighan, Brian W.; Ritchie, Dennis M. (1978). The C Programming Language (1st ed.). Englewood Cliffs, New Jersey: Prentice Hall. ISBN 0-13-110163-3.
- ^ Kernighan, Brian (1974). "Programming in C: A Tutorial" (PDF). Bell Labs. Archived (PDF) from the original on 22 March 2022. Retrieved 9 January 2019.
- ^ Johnson, S. C.; Kernighan, B. W. The Programming Language B. Bell Labs. Archived from the original on 11 June 2015. Retrieved 8 August 2024.
- ^ "BCPL". Jargon File. Archived from the original on 3 April 2018. Retrieved 21 April 2013.
- ^ "William B. Williams, Radio Personality, Dies". The New York Times. 4 August 1986.
- ^ "C++ Programming/Examples/Hello world". Wikibooks. Archived from the original on 28 March 2022. Retrieved 16 March 2022.
- ^ "Malbolge". Esolang. esolangs-wiki. Archived from the original on 27 August 2022. Retrieved 28 October 2016.
- ^ A Tutorial for the Go Programming Language. Archived 26 July 2010 at the Wayback Machine The Go Programming Language. Retrieved 26 July 2011.
- ^ Silva, Mike (11 September 2013). "Introduction to Microcontrollers - Hello World". EmbeddedRelated.com. Archived from the original on 22 May 2015. Retrieved 19 May 2015.
- ^ George, Ligo (8 May 2013). "Blinking LED using Atmega32 Microcontroller and Atmel Studio". electroSome. Archived from the original on 5 November 2014. Retrieved 19 May 2015.
- ^ PT, Ranjeeth. "2. AVR Microcontrollers in Linux HOWTO". The Linux Documentation Project. Archived from the original on 2 May 2015. Retrieved 19 May 2015.
- ^ Andersson, Sven-Åke (2 April 2012). "3.2 The first Altera FPGA design". Raidió Teilifís Éireann. Archived from the original on 21 May 2015. Retrieved 19 May 2015.
- ^ Fabio, Adam (6 April 2014). "CPLD Tutorial: Learn programmable logic the easy way". Hackaday. Archived from the original on 20 May 2015. Retrieved 19 May 2015.
- ^ "Hello". GNU Project. Free Software Foundation. Archived from the original on 29 May 2014. Retrieved 7 July 2017.
- ^ Jolif, Christophe (January 2003). "Bringing SVG Power to Java Applications". Sun Developer Network.
- ^ de Dinechin, Christophe (24 July 2010). "Hello world!". Grenouille Bouillie.
- ^ "Teaching the Nintendo Generation to Program" (PDF). bfoit.org. Archived from the original (PDF) on 5 May 2016. Retrieved 27 December 2015.
- ^ O'Dwyer, Arthur (September 2017). Mastering the C++17 STL: Make full use of the standard library components in C++17. Packt Publishing Ltd. p. 251. ISBN 978-1-78728-823-2. Retrieved 4 December 2019.
- ^ Wiegers, Harold (28 June 2018). "The importance of "Time to First Hello, World!" an efficient API program". Archived from the original on 19 February 2020. Retrieved 19 February 2020.
- ^ Jin, Brenda; Sahni, Saurabh; Shevat, Amir (29 August 2018). Designing Web APIs: Building APIs That Developers Love. O'Reilly Media. ISBN 9781492026877. Retrieved 19 February 2020.
External links
[edit]- The Hello World Collection
- "Hello world/Text". Rosetta Code. 23 May 2024.
- "GitHub – leachim6/hello-world: Hello world in every computer language. Thanks to everyone who contributes to this, make sure to see CONTRIBUTING.md for contribution instructions!". GitHub. 30 October 2021.
- "Unsung Heroes of IT: Part One: Brian Kernighan". TheUnsungHeroesOfIT.com. Archived from the original on 26 March 2016. Retrieved 23 August 2014.