Upload
caraf
View
41
Download
1
Embed Size (px)
DESCRIPTION
b eyond the valley of the dinosaurs: what’s happening in .net languages. ivan towlson mindscape. what do you think of when you think of .net languages?. visual basic. c#. weird languages used only by bearded eccentrics. source: none. I made the numbers up. - PowerPoint PPT Presentation
Citation preview
beyond the valley of the dinosaurs:what’s happening in .net languages
ivan towlsonmindscape
2
what do you think ofwhen you think of .net languages?
3
c# visual basic
weird languages used only by bearded eccentrics
source: none. I made the numbers up
4
cls:bow down before your tyrant king
5
any language you like,as long as it’s c#
6
the meadow andthe walled garden
7
the dawn of time: 2002
8
the dawn of time: 2002
9
eiffelpascal
oberon
j#c#
the dawn of time: 2002
visual basicjscript.netcrazy-ass c++
mondrian
perlpython
scheme
cobol
10
eiffel
nemerle
booc#
the age of the dinosaurs*: 2005
visual basicdelphimad c++
cobol
* and the odd super-resilient cockroach
11
cobol
cataxum
babel rising: 2009
f#
ironpython
ironruby
ironscheme
clojure.net
scala.net
nemerle
booc#visual basic
delphimad c++
jscript
cobra
powershell php
12
trends
13
<declarative>
14
unctional0
x
15
dynamic
16
concurrentconcurrentconcurrentconcurrentconcurrent
17
intentional
18
trendsdeclarativefunctionaldynamic
concurrentintentional
19
trendsdeclarativefunctionaldynamic
concurrentintentional
diverse
20
diverse...any language you like,as long as it’s not c#
21
unctional0
x
22
working with functionsas easily as you work with values
23
function data typeshigher-order functions...
24
...just like c#!
25
f#
26
functional-object hybrid“ocaml for .net”
27
designed for .netv4 included in vs2010...
28
...just like c#!
29
why should you care?
30
cheap gluecomposition and pipelining
31
can your case statement do this?patterns and discriminated unions
32
brew your own gluemona– er, workflows
33
f# workflowsstrategies for combining computations
34
f# workflowsredefining language keywords
for fun and profit
35
f# workflowscustomise the way your program is run
36
asynchronous workflowscomposition of asynchronous operations
37
there’s marinara sauce in my glueactors and concurrency
38
brew your own glue twoparsing and interpreting
39
why should you care?
source: amanda laucher, “real world f# concurrency”http://langnetsymposium.com/
40
dynamic
41
tinkering is hard
42
compiling is boring
43
typing is annoying
44
let’s go shopping!
45
no compilation step classes that stay open
interactive and incremental
46
iron pythoniron ruby
47
.net implementations ofexisting languagesiron python: v2.6
iron ruby: v0.9
48
common“dynamic language runtime”
enables coexistence and interopdlr native in .net 4
49
why should you care?
50
concurrentconcurrentconcurrentconcurrentconcurrent
51
axum
52
an encore for actors“erlang for .net”
53
status: “incubation”
54
intentional
55
the tyranny of plain text
56
1940s Direct wiring and switches1950s Punched cards1960s Plain text files1970s Plain text files*1980s Plain text files1990s Plain text files2000s Plain text files
seven decades of language innovation
* There were also CASE tools. But they sucked.
57
Common abstract representation
C# codeDrag and drop
Equation editor
Projections
58
see it: “mother of all demos ii”
http://msdn.microsoft.com/en-us/oslo/dd727740.aspx
59
but wait, there’s more
60
powershellit’s like a shell... but with power
61
phalangerit’s like php... but with alanger
62
and for educational andnovelty purposes only...
63
scalapowerful mixin model
strong internal dsl support
http://www.scala-lang.org
66
...and many many more!perl | smalltalk | tycho | tcl
http://langnetsymposium.com
sable eagle
67
earth calling beardy guy
68
business objects
a tentative theory of polyglotism
processing
user interface extensibility / customisation
69
state, databases
mad? mad, am i?
composition, dsls
tools intensive runtime code
70
c# / vb
ha! they called frankenstein mad...
f#
c# / vb ruby / python
71
don syme et al. expert f#
“the other ivan” ironruby in action
erik meijer confessions of a used programming language salesman
lang.net symposium videos online
dsl devcon 2009 videos online
resources