70 Years Of “Hello, World!” With 50 Programming Languages
Time travel in the world of computer programming.
The “Hello, World!” program is a classic when you start with a programming language. Thus, all programmers have at least completed a “Hello, World!” program during their careers. Programmers generally using more than one programming language during their careers, most of them have even realized more than a dozen at least.
There is even a metric called TTHW for Time to “Hello, World!” measuring the time it takes a programmer to create a “Hello, World!” program and successfully run it in a new programming language.
However, if I asked you today how many different programming languages you can write a “Hello, World!” program in, what would be your answer?
To help you and refresh your memory, I propose a short journey through time in the world of computer programming. To do this, I will show you “Hello, World!” programs written in 50 different programming languages. This will allow you to see the evolution of computer programming languages over time as well.
1. Assembly Language – 1949
The Assembler language was created in 1949. For this article, I will introduce you to a classic in Assembly language with a program for Intel 8080 8-bit processors that were launched later in April 1974.
bdos equ 0005H ; BDOS entry point
start: mvi c,9 ; BDOS function: output string
lxi d,msg$ ; address of msg
ret ; return to CCP
msg$: db ‘Hello, world!$’
2. Fortran – 1957
The Fortran programming language is a derivative of Formula Translation. It is a compiled imperative programming language for general purposes, particularly suitable for numerical and scientific computation. Fortran was created in 1957 and here is a program “Hello, World!” written with this first iteration of language:
In Fortran 90 or 95, the program “Hello, World!” could be written as follows:
3. Lisp – 1958
Lisp is the oldest family of programming languages that are both imperative and functional. Lisp was originally created in 1958 as a practical model for presenting programs. In the 1970s and 1980s, Lisp finally became a very popular language in the world of artificial intelligence.
Here is a “Hello, World!” in Lisp:
4. Cobol – 1959
Officially created in 1959, the Cobol programming language has just celebrated its 60th anniversary in 2019. Cobol, which stands for COmmon Business Oriented Language, was intended to be a common language for programming business applications. In 2019, Cobol is still widely used in banking and insurance.
Here is a “Hello, World!” in Cobol:
5. BASIC – 1964
Acronym of Beginner’s All-purpose Symbolic Instruction Code, BASIC is a high-level programming language whose primary goal is ease of use, as confirmed by its “Hello, World!” program. :
6. Logo – 1968
The Logo is intended to be an easier-to-use Lisp that is often referred to as “Lisp without brackets”. In concrete terms, the Logo is a reflexive object-oriented programming language that helps you get started in computer programming.
7. B – 1969
Created in 1969, the B programming language is now obsolete but it has had an important role to play since it has strongly inspired the programming language C which is still widely used today.
8. Pascal – 1970
Pascal is an imperative programming language created in 1970. It was designed for teaching purposes and was characterized by a clear, rigorous syntax that facilitated a good program structure.
Created in 1983, Turbo Pascal is an integrated development environment for the Pascal programming language. It was a huge success during the 1980s and 1990s.
Here is a “Hello, World!” in Turbo Pascal:
9. Forth – 1970
An imperative stack-based computer programming language, Forth was invented by Charles H. Moore in the 1960s, but its first major version was released in 1970. It was standardized by ANSI in 1994 and adopted by ISO in 1997. A beautiful consecration for this language, which even benefited from a new version, Forth 2012, in 2014.
This is a “Hello, World!” Forth 1970 version:
10. C – 1972
The C programming language was invented in 1972 at Bell Laboratories when Dennis Ritchie and Ken Thompson were developing UNIX. Ken Thompson had previously developed the B language. Dennis Ritchie decided to take inspiration from the B language by adding types to create the C language.
11. Smalltalk – 1972
Inspired in particular by the Lisp language, Smalltalk is an object-oriented, reflexive, and dynamically typed programming language that was invented in 1972. Smalltalk was one of the first programming languages to have an integrated development environment.
12. Prolog – 1972
Prolog is a logic programming language associated with artificial intelligence and computational linguistics. Prolog was created in 1972.
13. ML – 1973
ML, for Meta Language, is a functional programming language based on Lisp. ML has often been characterized by Lisp with types.
14. Scheme – 1975
Created in 1975, Scheme is a multi-paradigm programming language that supports both functional and imperative programming. This is one of the 3 main dialects of Lisp with Common Lisp and Clojure which has been created much more recently.
15. SQL – 1978
SQL, or Structured Query Language, is a standardized computer language used to operate relational databases. Although it is not designed to create a simple “Hello, World!” program, it can be fun to create one as follows:
16. C++ – 1980
Originally created by Bjarne Stroustrup in 1980 under the name of C with classes, the C++ language obtained its definitive name in 1983. The C++ programming language is now standardized by ISO and is widely used in industry and other fields.
17. Ada – 1983
Ada is an object-oriented programming language whose development began in early 1980 and ended in 1983 with the major launch of Ada 1983. The name “Ada” was chosen in honor of Ada Lovelace, probably the first female computer scientist in history.
Ada is often used in real-time and embedded systems requiring a high level of reliability and security.
18. Common Lisp – 1984
Common Lisp, often abbreviated CL, is a specification of the Lisp language standardized by ANSI.
19. MATLAB – 1984
MATLAB, for “Matrix Laboratory”, is a scripting language used for numerical calculation purposes. MATLAB is emulated by a development environment of the same name.
20. Eiffel – 1985
Eiffel is an object-oriented programming language designed around a design method. Eiffel is based on concepts that have become very popular today, such as contract programming or reuse.
21. Objective-C – 1986
Objective-C is a reflexive object-oriented programming language. It is an extension of the C programming language, like C++, but differs from it in particular by its dynamic message distribution or dynamic loading.
Today, it is mainly used in Apple’s operating systems: macOS and its iOS derivative.
22. Erlang – 1986
Erlang is a programming language, supporting several paradigms: concurrent, real-time, distributed. Its competing layer is based on the actor model and has fault tolerance and hot code update capabilities, allowing the development of very high-availability applications.
23. Perl – 1987
Perl is a programming language created by Larry Wall in 1987 to easily process text-based information. Perl is an interpreted language that is inspired by the control and printing structures of C but also by the shell scripting language.
24. Caml – 1987
Caml, which stands for Categorical Abstract Machine Language, is a generalist programming language designed for program security and reliability. Caml lends itself to functional, imperative, and object-oriented programming styles. It is also a highly distinctive language.
25. Tcl – 1988
Tcl, for Tool Command Language, is a scripting language developed in 1988 by John Ousterhout. This dynamic typing language is cross-platform, extensible, easy to learn, and based on twelve syntax rules. The Tcl interfaces very easily with the C programming language.
In 1990, John Ousterhout developed an extension for Tcl called Tk which is a library for creating portable graphical interfaces. Today, when we talk about Tcl, we are more likely to talk about the combination of Tcl/Tk.
26. Haskell – 1990
Haskell is a functional programming language that is based on lambda-calculation and combinatorial logic.
27. Python – 1991
Python is an interpreted programming language, multi-paradigm and multiplatform. Python supports structured, functional, and object-oriented imperative programming. Python has become extremely popular over the years to the point of being one of the most popular languages in 2019.
Here is a “Hello, World!” in Python 3.0 or higher:
If you want to find out how to get started with the Python language, I suggest this first tutorial:
28. Visual Basic – 1991
Visual Basic, abbreviated as VB, is a third-generation event programming language and an integrated development environment created by Microsoft for its COM programming model.
29. Lua – 1993
Created in 1993, Lua is a reflexive and imperative scripting language designed to be embedded in other applications in order to extend them.
30. Ruby – 1995
Frustrated by his development experience with Smalltalk and Lisp, Yukihiro Matsumoto started designing the Ruby language in 1993 under Emacs. He published the first version in 1995. Ruby is interpreted, object-oriented, and multi-paradigm.
31. Java – 1995
An object-oriented programming language created by James Gosling in 1995, Java remains to this day the most popular and most used language in the industry. Java allows you to do everything from the thick client to the web application, and the fact that Google has chosen Java as the language for developing applications on its Android mobile OS has further extended its capabilities.
33. PHP – 1995
34. Rebol – 1997
Rebol is a high-level scripting programming language based on denotational semantics and proclaiming itself “Messaging Language”. Here is a “Hello, World!” in Rebol:
35. ActionScript — 1998
ActionScript is a programming language that was used in client applications (such as Adobe Flash and Adobe Flex) and servers (Flash media server, JRun, Macromedia Generator). ActionScript is now used as a scripting language in the Unity graphics engine.
36. D – 1999
D is an imperative object-oriented and multi-paradigm programming language designed for system programming. The D is inspired by many languages, including C++, Java, and Eiffel. Despite its many qualities, the D has never had the success expected by its creator.
37. C# – 2000
C# was created in 2000 by Microsoft following a dispute with Sun over the Java language. C# is an object-oriented programming language designed to develop on the Microsoft.NET platform. The language is derived from C++ and Java and uses their general syntax as well as many other concepts. C# can also be used to develop web applications on the ASP.NET platform.
38. Groovy – 2003
Groovy is an object-oriented programming language running on the Java platform. Groovy is a substitute for Java language for this platform and is inspired by Python, Ruby, or Smalltalk.
39. Scala – 2003
Scala is a multi-paradigm programming language designed to express common programming models in a concise and elegant form. Scala integrates the paradigms of object-oriented and functional programming, with static typing.
40. F# – 2005
F# is a functional, imperative, and object-oriented programming language developed by Microsoft for the.NET platform. F# is derived from the OCaml programming language with which it is highly compatible. These two programming languages are part of the same family as ML languages.
41. Windows PowerShell – 2006
Windows PowerShell is a software suite developed by Microsoft that includes a command line interface, a scripting language called PowerShell, and a development kit. PowerShell is included as standard starting from Windows 7.
42. Clojure – 2007
43. Go – 2009
Go is a compiled and concurrent programming language inspired by C and Pascal. This language was developed by Google from an initial concept by Robert Griesemer, Rob Pike, and Ken Thompson. This is the same Ken Thompson who created the B programming language in 1969!
44. Rust – 2010
Rust is a multi-paradigm compiled programming language designed and developed by Mozilla. Rust was designed to be “a secure, concurrent, practical language” while supporting purely functional programming styles, actor model, procedural, as well as object-oriented in some aspects. Rust is often described as one of the potential successors of C++.
45. Dart – 2011
Dart is the language used by Flutter for the development of mobile applications.
46. Kotlin — 2011
47. Ceylon – 2011
48. TypeScript – 2012
49. Julia – 2012
Julia is a high-level, powerful, and dynamic programming language for scientific computing, with a syntax familiar to users of other similar development environments such as MATLAB, R, or Python.
50. Swift – 2014
Swift is a compiled, multi-paradigm object programming language designed to be simple, high-performance, and secure. It is developed in open source by Apple, which makes it a solution for developing mobile iOS applications alongside Objective-C.
This time travel in the world of computer programming languages has allowed me to introduce you to 70 years of “Hello, World!” programs in 50 different languages.
The list of programming languages presented being far from exhaustive, I invite you to share with me in comments the “Hello, World!” programs of your favorite languages that would not be present in this list.