Computer language history: Difference between revisions
Line 111: | Line 111: | ||
Libre office writer | Libre office writer | ||
> Free as in freedom not free as in free beer :-) | > Free as in freedom not free as in free beer :-) | ||
https://scratch.mit.edu/ | https://scratch.mit.edu/ |
Revision as of 16:52, 21 October 2015
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 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 > 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
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