Hello world: a brief history of programming

Hello world: a brief history of programming

A brief, selective and somewhat opinionated history of programming

Talk given at "An evening of unnecessary detail" at the Cambridge Science Festival 2018


Ben Nuttall

March 17, 2018


  1. 4.

    Programming language A formal definition of a set of rules

    for providing instructions to a computer. ~ Ben Nuttall, 2018
  2. 5.

    History of programming languages Time Programming languages Notable people /

    organisations 1840s – 1930s Machine language (mechanical instructions) Ada Lovelace Charles Babbage Alonzo Church 1940s Assembly language John Mauchly 1950s FORTRAN, LISP, COBOL Alick Glennie University of Manchester IBM Grace Hopper 1960s B, APL, BASIC Bell Labs
  3. 6.

    History of programming languages Time Programming languages Notable people /

    organisations 1970s C, LOGO, Smalltalk, Prolog, SQL Dennis Ritchie, Seymour Papert 1980s C++, MATLAB, Mathematica, Perl Bjarne Stroustrup, Larry Wall 1990s Python, Ruby, Java, JavaScript, PHP Guido van Rossum, Yukihiro Matsumoto, Sun Microsystems, Brendan Eich, Rasmus Lerdorf 2000s C#, Rust, Julia, Swift Microsoft, Apple, Mozilla, Viral Shah
  4. 7.

    High-level programming languages High-level interpreted language Python Usually implemented in

    a low- level language Code executed directly High-level compiled language Java Usually implemented in a low- level language Code compiled into bytecode Low-level language C, C++, FORTRAN Compilers implemented in a low-level language (often the language itself) Assembly language Per specific computer architecture, e.g. Arm, Intel Machine language Hardware
  5. 8.

    Raspberry Pi • Series of single board computers designed for

    education and making • Various models: – Cost $5 to $35 • Manufactured in Pencoed, Wales • 19M units sold to date
  6. 9.

    Raspberry Pi Foundation • Educational charity founded in 2009 •

    Based in Cambridge • Aims to democratise computing • Owns Raspberry Pi Trading Ltd, who make the Raspberry Pi computer
  7. 10.

    Raspbian operating system • Free Linux-based OS for Raspberry Pi

    • Comes bundled with programming and educational tools • Also available for your PC/Mac as “Raspberry Pi Desktop x86”
  8. 20.

    7. Java public class Hello { public static void main(String[]

    args) { System.out.println("Hello world"); } }
  9. 25.

    10.5 Sense HAT Emulator (Python) from sense_emu import SenseHat sense

    = SenseHat() sense.show_message("Hello world")
  10. 27.

    Langauge Print command Compiled? Implementation Scratch say Interpreted Smalltalk (V1)

    / ActionScript (V2) Python print Interpreted C (and others, including Python) Ruby puts Interpreted C JavaScript console.log Interpreted C++ Bash echo Interpreted C Perl print Interpreted C Java System.out.println Compiled C++ (JVM) C printf Compiled C / C++ C++ cout Compiled C / C++
  11. 28.

    Say "Hello world" back • Find my article "10 Hello

    world programs for your Raspberry Pi" on opensource.com • Find my GitHub repository of these programs and more at github.com/bennuttall/hello-world-raspberry-pi • Contribute your own programs and suggestions!