4. Linguistic relativity
We cut nature up, organize it into concepts, and ascribe
significances as we do, largely because we are parties to an
agreement […] codified in the patterns of our language.
[…] We cannot talk at all except by subscribing to the
organization and classification of data which the agreement
decrees. [2]
Native American languages impose on their speakers a
picture of reality that is totally different from ours, so their
speakers would simply not be able to understand some of
our most basic concepts, like the flow of time or the
distinction between objects (like “stone”) and actions (like
Benjamin Lee Whorf, “fall”)
A chemical engineer [Whorf as cited by 3]
[2] B. Whorf, T. Review. Science and linguistics. 42(6), 1940.
[3] G. Deutscher, Does Your Language Shape How You Think?, The New
York Times, August 26, 2010
5. Linguistic relativity
We see and hear and otherwise
experience very largely as we do because
the language habits of our community
predispose certain choices of
interpretation. [1]
As strange as it may sound, our
experience of a Chagall painting actually
depends to some extent on whether our
language has a word for blue. [3]
[1] E. Sapir. The status of linguistics as a science. Language, 5(209), 1929.
6. Linguistic relativity
By relieving the brain of all unnecessary work, a good notation
sets it free to concentrate on more advanced problems, and in
effect increases the mental power of the race. [5]
120 CXX
x (?)
14 XIV
[5] A. N. Whitehead. An introduction to Mathematics. Williams &
Northgate, 1911.
8. …including
reasoning
Just as you cannot do very
much carpentry with your bare
hands, there is not much
thinking you can do with your
bare brain. [7]
[7] Bo Dahlbom and Lars-Erik Janlert (unpublished,
cited by Donnett, 2000)
9. Tools for the mind
Nersessian concludes that engineering
scientists think by means of the
artifact models they design and build
and without them they are almost
unable to think [6]
We use intelligence to structure our
environment so that we can succeed
with less intelligence. Our brains make
the world smart so we can be dumb in
peace!
–Andy Clark, 1997
[6] Nersessian, N.J. (2009). How do engineering scientists think? Model-
based simulation in biomedical engineering laboratories, Topics in
Cognitive Science, 1:730-757.
10. The Extended Mind
Your mind is not just in your skull but it
includes also the tools supporting reasoning,
which play an active role in thinking.
Andy Clark and David Chalmers
11. …what about programming?
The tools we are trying to use and
the language or notation we are
using to express or record our
thoughts are the major factors
determining what we can think or
express at all! [4]
Edsger Dijkstra
1972 Turing Award
[4] E. W. Dijkstra. The humble programmer. Commun. ACM, 15:859–866,
October 1972.
12. …what about programming?
A language that doesn’t affect
the way you think about
programming, is not worth
knowing.
Kenneth E. Iverson
1979 Turing Award
13. Model-driven development
Express using the problem language Generate code using the solution language
Account number, JSP, Java class,
Interest rate, Database,
Translation
Bond, HTML, CSS
Inflation rate
14. Step 1) Tools to express and
reason
1
Tools are 2
created to
manipulate
the models
Step 2) Use the information
to feed automatization
15. Model-driven development
• There are high barriers bewteen
languages.
• It is costly to make GPLs and DSLs
communicate
• GPLs are immutable.
17. Intentional Programming
• Inventor of the Hungarian
notation
• Oversaw the development of
Word and Excel
• He flight in the space
Charles Simonyi
1995: The Death Of
2002: He found 2006:
Computer Languages, The Microsoft choose 2009: Industrial
Intentational Presentation at
Birth of Intentional .NET case-studies
Software OOPSLA
Programming
22. All the information is
stored in EMF models or
«view» as EMF models
class Order {
Each editor component is boolean isPaid()
String getNumber()
able to represent certain
}
information
23. All the information is
stored in EMF models or
«view» as EMF models
class Order {
Each editor component is boolean isPaid()
String getNumber()
able to represent certain
}
information
I can mix models and build
new editor components
C# reusing and composing
Java
existing components
25. Roadmap 2011
Gen-Feb 2011 Read about cognitive linguistics,
tools & mind
Feb-Apr 2011 Build a prototype of PrEdE and a
Math DSL
May-Dec 2011 Work on a Java projectional editor
May 2011… Composability of Web-Services
26. Roadmap 2012
2012 Case studies with PrEdE
2012 Bi-directional trasformations,
deeper integration with other EMF
tools, complete bootstrapping