Chapter 3 Programming Languages Unit 1 The Development of Programming Languages.
The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming...
Transcript of The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming...
![Page 1: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/1.jpg)
The Fitness Function For Programming
Languages:A Matter of Taste?
Gilad BrachaSAP Labs
1Tuesday, November 2, 2010
![Page 2: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/2.jpg)
There are two kinds of languages - those that everyone complains about and those that aren’t used- Bjarne Stroustrup
2Tuesday, November 2, 2010
![Page 3: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/3.jpg)
Fitness: Success in the Market?
Turelio
3Tuesday, November 2, 2010
![Page 4: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/4.jpg)
ExamplesC
C++
Java
C#
Visual Basic
Perl
PHP
Javascript4Tuesday, November 2, 2010
![Page 5: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/5.jpg)
Counter-Examples
Lisp
APL
Prolog
Beta
Smalltalk
Self
5Tuesday, November 2, 2010
![Page 6: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/6.jpg)
Today’s Market, or Tomorrow’s?
Faustian Bargain: Success in this life, Oblivion in the hereafter
6Tuesday, November 2, 2010
![Page 7: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/7.jpg)
Academic Criteria
Theory
Implementation
Empirical studies
7Tuesday, November 2, 2010
![Page 8: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/8.jpg)
What if Smalltalk was Invented Today?
Jonathan Edwards:
Reviewer 1 comments: You propose three new language features: encapsulation, polymorphism, and inheritance. Even though your paper was the maximum 12 pages, it discussed each of these concepts only informally, and did not do any rigorous evaluation.
8Tuesday, November 2, 2010
![Page 9: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/9.jpg)
What if Smalltalk was Invented Today?
Reviewer 2 comments: You claim that object orientation is in some sense more natural and intuitive than procedural programming, but offer only anecdotes and hand-picked examples as justification.
9Tuesday, November 2, 2010
![Page 10: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/10.jpg)
So is it just Taste?
10Tuesday, November 2, 2010
![Page 11: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/11.jpg)
There is nothing so practical as a good theory- Philip Wadler
11Tuesday, November 2, 2010
![Page 12: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/12.jpg)
Or so rare- Gilad Bracha
12Tuesday, November 2, 2010
![Page 13: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/13.jpg)
How do we Judge a Theory?
Meta-theory?
Implementation?
Popularity?
13Tuesday, November 2, 2010
![Page 14: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/14.jpg)
How do we Judge a Theory?
Consistency, Comprehensiveness
Beauty and elegance
Predictive value
14Tuesday, November 2, 2010
![Page 15: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/15.jpg)
Language can be based on Theory
Relational algebra
Functional programming
Parser combinators
15Tuesday, November 2, 2010
![Page 16: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/16.jpg)
BNF
id = letter (letter | digit) *
Parser Combinators
16Tuesday, November 2, 2010
![Page 17: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/17.jpg)
BNF
id = letter (letter | digit) *
Newspeak
id = letter, (letter | digit) star.
Parser Combinators
17Tuesday, November 2, 2010
![Page 18: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/18.jpg)
BNF
id = letter (letter | digit) *
Newspeak
id = letter, (letter | digit) star.
Javanese
id = letter().seq(letter().or(digit()).star());
Parser Combinators
18Tuesday, November 2, 2010
![Page 19: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/19.jpg)
How it Works id = letter, (letter | digit) star.
19Tuesday, November 2, 2010
![Page 20: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/20.jpg)
How it Works id = letter, (letter | digit) star.
20Tuesday, November 2, 2010
![Page 21: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/21.jpg)
How it Works id = letter, (letter | digit) star.
21Tuesday, November 2, 2010
![Page 22: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/22.jpg)
How it Works id = letter, (letter | digit) star.
22Tuesday, November 2, 2010
![Page 23: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/23.jpg)
How it Works id = letter, (letter | digit) star.
letter
23Tuesday, November 2, 2010
![Page 24: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/24.jpg)
How it Works id = letter, (letter | digit) star.
letter
24Tuesday, November 2, 2010
![Page 25: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/25.jpg)
How it Works id = letter, (letter | digit) star.
letter
25Tuesday, November 2, 2010
![Page 26: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/26.jpg)
How it Works id = letter, (letter | digit) star.
letter
26Tuesday, November 2, 2010
![Page 27: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/27.jpg)
How it Works id = letter, (letter | digit) star.
letter
27Tuesday, November 2, 2010
![Page 28: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/28.jpg)
How it Works id = letter, (letter | digit) star.
letter
28Tuesday, November 2, 2010
![Page 29: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/29.jpg)
How it Works id = letter, (letter | digit) star.
letter
letter
29Tuesday, November 2, 2010
![Page 30: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/30.jpg)
How it Works id = letter, (letter | digit) star.
letter
letter
30Tuesday, November 2, 2010
![Page 31: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/31.jpg)
How it Works id = letter, (letter | digit) star.
letter
digitletter
31Tuesday, November 2, 2010
![Page 32: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/32.jpg)
How it Works id = letter, (letter | digit) star.
letter
|
digitletter
32Tuesday, November 2, 2010
![Page 33: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/33.jpg)
How it Works id = letter, (letter | digit) star.
letter star
|
digitletter
33Tuesday, November 2, 2010
![Page 34: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/34.jpg)
How it Works id = letter, (letter | digit) star.
letter star
|
digitletter
,
34Tuesday, November 2, 2010
![Page 35: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/35.jpg)
Why is this Pretty?
id = letter, (letter | digit) star.
35Tuesday, November 2, 2010
![Page 36: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/36.jpg)
Why is this Ugly?
id = letter().seq(letter().or(digit()).star());
36Tuesday, November 2, 2010
![Page 37: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/37.jpg)
Why is this Ugly?
id = letter().seq(letter().or(digit()).star());
vs.
id = letter (letter | digit) *
vs.
id = letter, (letter | digit) star.
37Tuesday, November 2, 2010
![Page 38: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/38.jpg)
Why is this Ugly?
id = letter().seq(letter().or(digit()).star());
vs.
id = letter (letter | digit) *
vs.
id = letter, (letter | digit) star.
38Tuesday, November 2, 2010
![Page 39: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/39.jpg)
Why is it Ugly?
A programming language is low level when its programs require attention to the irrelevant
- Alan Perlis
39Tuesday, November 2, 2010
![Page 40: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/40.jpg)
Compositionality
Uniform space of values
Operators that map this space into itself
Small core is a basis for infinite space
40Tuesday, November 2, 2010
![Page 41: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/41.jpg)
Pattern Matching
Joint work with Felix Geller and Robert Hirschfeld at HPI, University of Potsdam
41Tuesday, November 2, 2010
![Page 42: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/42.jpg)
Pattern Literals
<1><ʻaʼ><_><num: n><multiply: left by: right>
42Tuesday, November 2, 2010
![Page 43: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/43.jpg)
Pattern Combinators
p1 | p2p1 & p2p1 >> p2p => actionBlockp not
43Tuesday, November 2, 2010
![Page 44: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/44.jpg)
Pattern Combinatorsin Action
fib: n = (n case: <1> | <2> => [^n-1] otherwise:[^(fib: n-2) + (fib: n-1)]
)
44Tuesday, November 2, 2010
![Page 45: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/45.jpg)
Pattern Matching
class Term = ()() class Num of: n = Term ( | val = n. | ) ( match: pat = ( ^pat num: val. )) class Var named: n = Term ( | name = n. | ) ( match: pat = ( ^pat var: name. ) ) class Product of: n by: m = Term ( | left = n. right = m. | ) ( match: pat = ( ^pat multiply: left by: right. ) )
45Tuesday, November 2, 2010
![Page 46: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/46.jpg)
Pattern Matching
simplify: expr = ( ^expr case: <multiply: ?x by: <num: 1>> => [x]
otherwise: [expr].)
46Tuesday, November 2, 2010
![Page 47: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/47.jpg)
Higher Order Patterns in Action
simplify: expr = ( ^expr case: <multiply: ?x by: <num: 1>> => [x]
otherwise: [expr].)
47Tuesday, November 2, 2010
![Page 48: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/48.jpg)
Language can be based on Theory
But, more importantly
48Tuesday, November 2, 2010
![Page 49: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/49.jpg)
Language may be the Theory
APL: Vectors
Beta: Patterns
Smalltalk, Self : Objects
49Tuesday, November 2, 2010
![Page 50: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/50.jpg)
Programs are Models; Languages are Theories for building Programs
50Tuesday, November 2, 2010
![Page 51: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/51.jpg)
Judge Languages as Theories
Consistency
Comprehensiveness- does it model what I want? How easily and how accurately
Beautiful/Elegant (compositional)
Predictive value
Can easily can I tell
What a program does
How hard it is to build a program51Tuesday, November 2, 2010
![Page 52: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/52.jpg)
Good Aesthetics makes Good Software
52Tuesday, November 2, 2010
![Page 53: The Fitness Function For Programming Languages - Victoria · The Fitness Function For Programming Languages: A Matter of Taste? Gilad Bracha SAP Labs Tuesday, November 2, 2010 1](https://reader033.fdocuments.net/reader033/viewer/2022041419/5e1e1b091ba36e371d47e4fd/html5/thumbnails/53.jpg)
This file is licensed under the Creative Commons Attribution ShareAlike 3.0 License. In short: you are free to share and make derivative works of the file under the conditions that you appropriately attribute it, and that you distribute it only under a license identical to this one. Official license.
The Newspeak eye used in the bullets, slide background etc. was designed by Victoria Bracha and is used by permission.
The image on slide 3 is by Turelio licensed under CC-BY-SA-2.5 and originates on wikimedia
53Tuesday, November 2, 2010