Computer language history: Difference between revisions

From Hackers & Designers
No edit summary
Line 1: Line 1:
By [[Vadim Zaytsev]]
By [[Vadim Zaytsev]]


Insert text
Notes by Anja, Maaike and Vicky
 
==Introduction on Vadim==
 
- Vadim is also known as spider (Vadims alter ego)
- His connection to Jeffrey: ascii café – anarchist café "free software needs a home"
- Babel tower on a/his thesis
- Knows Jimmy Wales from Wikipedia & Lydia Pyncher from Wikidata > Wikimedia Conference Netherlands
- Participated in Wiki loves monuments 2011: cultural heritage project
- Vadim also made pixel art and made the small blue star in Wikipedia in svg
- Vadim also made a font
- And he plays Ingress
 
== History of computational linguistics ==
''Language is the ability to acquire and use complex systems of communication, particularly the human ability to do so, and a language is any specific example of such a system. The scientific study of language is called linguistics.''
 
'''How do we talk to computers?'''
 
Examples:
* Doctor Who: Science fiction series from the 60's> people talking to machines using programming language called [https://de.wikipedia.org/wiki/Algol_68 Algol 68]
* Startrek: Engineers travelling back in time speaking to computers, uses mouse as microphone but the keyboard and screen are the actual communication tools
 
=== Blaise Pascal ===
1642: Invented a wooden mechanical ‘computer’ or ‘calculator’ which had six digits input called the [https://en.wikipedia.org/wiki/Blaise_Pascal Pascaline]
 
=== Charles Babbage ===
1837: [https://en.wikipedia.org/wiki/Analytical_Engine The analytical engine], also a mechanical computer.
 
=== Ada Lovelace ===
1843: First programmer: Ada Lovelace translated and reviewed the book “Sketch of the Analytical Engine” by Charles Babbage.
“Notes by the translator”. Her notes on the engine include what is recognised as the first algorithm intended to carried out by a machine. She introduced the concept of a variable in her writings.
 
[http://www.imdb.com/title/tt0118882/ Conceiving Ada] -Film directed by American artist Lynn Hershman (1995)
 
=== Joseph Marie Jacquard ===
1801: [https://en.wikipedia.org/wiki/Jacquard_loom The Jacquard Loom]
Uses punched cards, also called Jacquard Cards, to operate threads in a weaving machine – multi threaded (joke for hackers?) 
 
Mechanism also used to operate musical clocks and street organs. Can be viewed in [https://en.wikipedia.org/wiki/Museum_Speelklok Museum Speelklok] in Utrecht. 
 
=== Adriaan J. Van Wijngaarden ===
1948: Hired women that were good in mathematics to operate the calculator because they were cheaper.
They were called [http://www.kennislink.nl/publicaties/rekenmeisjes-en-rekentuig “De Rekenmeisjes van Van Wijngaarden”]. They knew how the machines worked and how to operate them.
 
=== Debugging punched cards ===
Adele Kate Goldstine
Punched cards: don’t link them so you’re able to remove parts and debug the program.
 
"Language documentation is also software" (?)
=== Communication between CPU and memory ===
1935: [https://en.wikipedia.org/wiki/John_von_Neumann John von Neumann] invented communication between CPU and memory. Is still used as computer model.
 
=== Flow diagrams ===
Haskell Brooks Curry
1947: Logician. Mechanical translation to computer from flow diagrams.
Three programming languages named after him: Haskell, Brooks and Curry.
First programming language. Flow diagrams are the first computer language (John von Neumann, Herman Goldstine, Adele Goldstine)
> an attempt to speak "to yourself in the future" but still very slow translation
Pseudo code
 
=== Short code ===
Used short code.
John Mauckly and Willam Schmitt
 
00 is jump to the left
01 is move your arms
02 is sit down
03 is random dance
'''The program is: 03 00 01 02 00'''
 
=== Math.matic, Flow-Matic and Cobol ===
Invented by Grace Murray Hopper
 
'''Math.Matic'''
Implemented more words to the programming language so the program is readable.
 
'''Flow-Matic'''
Example: Go from operation 13; if equal to operation 4; otherwise go to operation 2.
 
'''1959:Cobol'''
 
Still in use now.
Display ‘…’ ; Set ‘current player’
 
=== The end of COBOL ===
Ed Yourdon predicted the end of Cobol (but it's still here)
2000 issues programming with COBOL
 
=== Fortran ===
* Fortran: Formula translator by John Backus
* 1958: Algol. Ment as a global language. Backus wanted to generalise it.
 
=== APL language ===
- APL language by Kenneth Iverson (math madness…). Makes every program a one-liner.
The problem with this language is that you need a special keyboard to program.
 
Example: prime number 
(~R∊R∘.×R)/R←1↓ιR
 
Example: Conway's game of life https://www.youtube.com/watch?v=a9xAKttWgP4
'''////youtube template ///'''
life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}
 
=== Logo programming language ===
Seymour Papert co-invented the [https://en.wikipedia.org/wiki/Logo_(programming_language) Logo] programming language with Wally Feurzei. He is one of the pioneers of artificial intelligence. Remembered for its use of ‘turtle graphics’
 
=== Language development for audience ===
1974: language development for Audience by Radia Perlman
Tortis (for kids) --> later MIT developed Scratch 
 
Libre office writer
https://de.libreoffice.org/
> Free as in freedom not free as in free beer :-)
https://scratch.mit.edu/
https://scratch.mit.edu/projects/70831348/#editor
 
=== Model-driven software development ===
By Markus Völter studies generic tools: PhD
Model-driven software development or [MDSD] (https://en.wikipedia.org/wiki/Model-driven_software_development)
 
=== UML modelling language ===
Visual notation to express design: [https://nl.wikipedia.org/wiki/Unified_Modeling_Language UML modelling language]
 
=== Margaret H Hamilton ===
10936 software engineering in Apollo program
 
=== Software language engineering ===
Uniform treating of language.
 
==Milestones==
* Hardware
* Universal hardware + programs
* Automated code generation
* Programming with words
* Language documentation 
* Domain-specific languages
* Engineer languages when needed
 


[[Category:WriteMe]]
[[Category:WriteMe]]
[[Category:Print]]
[[Category:Print]]
[[Category:Web]]
[[Category:Web]]

Revision as of 13:08, 7 September 2015

By Vadim Zaytsev

Notes by Anja, Maaike and Vicky

Introduction on Vadim

- Vadim is also known as spider (Vadims alter ego) - His connection to Jeffrey: ascii café – anarchist café "free software needs a home" - Babel tower on a/his thesis - Knows Jimmy Wales from Wikipedia & Lydia Pyncher from Wikidata > Wikimedia Conference Netherlands - Participated in Wiki loves monuments 2011: cultural heritage project - Vadim also made pixel art and made the small blue star in Wikipedia in svg - Vadim also made a font - And he plays Ingress

History of computational linguistics

Language is the ability to acquire and use complex systems of communication, particularly the human ability to do so, and a language is any specific example of such a system. The scientific study of language is called linguistics.

How do we talk to computers?

Examples:

  • Doctor Who: Science fiction series from the 60's> people talking to machines using programming language called Algol 68
  • Startrek: Engineers travelling back in time speaking to computers, uses mouse as microphone but the keyboard and screen are the actual communication tools

Blaise Pascal

1642: Invented a wooden mechanical ‘computer’ or ‘calculator’ which had six digits input called the Pascaline

Charles Babbage

1837: The analytical engine, also a mechanical computer.

Ada Lovelace

1843: First programmer: Ada Lovelace translated and reviewed the book “Sketch of the Analytical Engine” by Charles Babbage. “Notes by the translator”. Her notes on the engine include what is recognised as the first algorithm intended to carried out by a machine. She introduced the concept of a variable in her writings.

Conceiving Ada -Film directed by American artist Lynn Hershman (1995)

Joseph Marie Jacquard

1801: The Jacquard Loom Uses punched cards, also called Jacquard Cards, to operate threads in a weaving machine – multi threaded (joke for hackers?) 

Mechanism also used to operate musical clocks and street organs. Can be viewed in Museum Speelklok in Utrecht.

Adriaan J. Van Wijngaarden

1948: Hired women that were good in mathematics to operate the calculator because they were cheaper. They were called “De Rekenmeisjes van Van Wijngaarden”. They knew how the machines worked and how to operate them.

Debugging punched cards

Adele Kate Goldstine Punched cards: don’t link them so you’re able to remove parts and debug the program.

"Language documentation is also software" (?)

Communication between CPU and memory

1935: John von Neumann invented communication between CPU and memory. Is still used as computer model.

Flow diagrams

Haskell Brooks Curry 1947: Logician. Mechanical translation to computer from flow diagrams. Three programming languages named after him: Haskell, Brooks and Curry. First programming language. Flow diagrams are the first computer language (John von Neumann, Herman Goldstine, Adele Goldstine) > an attempt to speak "to yourself in the future" but still very slow translation Pseudo code

Short code

Used short code. John Mauckly and Willam Schmitt

	00 is jump to the left
	01 is move your arms
	02 is sit down
	03 is random dance
	The program is: 03 00 01 02 00

Math.matic, Flow-Matic and Cobol 

Invented by Grace Murray Hopper

Math.Matic Implemented more words to the programming language so the program is readable.

Flow-Matic

	Example: Go from operation 13; if equal to operation 4; otherwise go to operation 2. 

1959:Cobol

Still in use now.

	Display ‘…’ ; Set ‘current player’

The end of COBOL

Ed Yourdon predicted the end of Cobol (but it's still here) 2000 issues programming with COBOL

Fortran

  • Fortran: Formula translator by John Backus
  • 1958: Algol. Ment as a global language. Backus wanted to generalise it.

APL language

- APL language by Kenneth Iverson (math madness…). Makes every program a one-liner. The problem with this language is that you need a special keyboard to program.

Example: prime number  (~R∊R∘.×R)/R←1↓ιR

Example: Conway's game of life https://www.youtube.com/watch?v=a9xAKttWgP4 ////youtube template /// life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}

Logo programming language

Seymour Papert co-invented the Logo programming language with Wally Feurzei. He is one of the pioneers of artificial intelligence. Remembered for its use of ‘turtle graphics’

Language development for audience

1974: language development for Audience by Radia Perlman Tortis (for kids) --> later MIT developed Scratch 

Libre office writer https://de.libreoffice.org/ > Free as in freedom not free as in free beer :-) https://scratch.mit.edu/ https://scratch.mit.edu/projects/70831348/#editor

Model-driven software development

By Markus Völter studies generic tools: PhD Model-driven software development or [MDSD] (https://en.wikipedia.org/wiki/Model-driven_software_development)

UML modelling language

Visual notation to express design: UML modelling language

Margaret H Hamilton

10936 software engineering in Apollo program

Software language engineering

Uniform treating of language.

Milestones

  •  Hardware
  • Universal hardware + programs
  • Automated code generation
  • Programming with words
  • Language documentation 
  • Domain-specific languages
  • Engineer languages when needed