72
beyond the valley of the dinosaurs: what’s happening in .net languages ivan towlson mindscape

b eyond the valley of the dinosaurs: what’s happening in languages

  • 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

Page 1: b eyond the valley of the dinosaurs: what’s happening in    languages

beyond the valley of the dinosaurs:what’s happening in .net languages

ivan towlsonmindscape

Page 2: b eyond the valley of the dinosaurs: what’s happening in    languages

2

what do you think ofwhen you think of .net languages?

Page 3: b eyond the valley of the dinosaurs: what’s happening in    languages

3

c# visual basic

weird languages used only by bearded eccentrics

source: none. I made the numbers up

Page 4: b eyond the valley of the dinosaurs: what’s happening in    languages

4

cls:bow down before your tyrant king

Page 5: b eyond the valley of the dinosaurs: what’s happening in    languages

5

any language you like,as long as it’s c#

Page 6: b eyond the valley of the dinosaurs: what’s happening in    languages

6

the meadow andthe walled garden

Page 7: b eyond the valley of the dinosaurs: what’s happening in    languages

7

the dawn of time: 2002

Page 8: b eyond the valley of the dinosaurs: what’s happening in    languages

8

the dawn of time: 2002

Page 9: b eyond the valley of the dinosaurs: what’s happening in    languages

9

eiffelpascal

oberon

j#c#

the dawn of time: 2002

visual basicjscript.netcrazy-ass c++

mondrian

perlpython

scheme

cobol

Page 10: b eyond the valley of the dinosaurs: what’s happening in    languages

10

eiffel

nemerle

booc#

the age of the dinosaurs*: 2005

visual basicdelphimad c++

cobol

* and the odd super-resilient cockroach

Page 11: b eyond the valley of the dinosaurs: what’s happening in    languages

11

cobol

cataxum

babel rising: 2009

f#

ironpython

ironruby

ironscheme

clojure.net

scala.net

nemerle

booc#visual basic

delphimad c++

jscript

cobra

powershell php

Page 12: b eyond the valley of the dinosaurs: what’s happening in    languages

12

trends

Page 13: b eyond the valley of the dinosaurs: what’s happening in    languages

13

<declarative>

Page 14: b eyond the valley of the dinosaurs: what’s happening in    languages

14

unctional0

x

Page 15: b eyond the valley of the dinosaurs: what’s happening in    languages

15

dynamic

Page 16: b eyond the valley of the dinosaurs: what’s happening in    languages

16

concurrentconcurrentconcurrentconcurrentconcurrent

Page 17: b eyond the valley of the dinosaurs: what’s happening in    languages

17

intentional

Page 18: b eyond the valley of the dinosaurs: what’s happening in    languages

18

trendsdeclarativefunctionaldynamic

concurrentintentional

Page 19: b eyond the valley of the dinosaurs: what’s happening in    languages

19

trendsdeclarativefunctionaldynamic

concurrentintentional

diverse

Page 20: b eyond the valley of the dinosaurs: what’s happening in    languages

20

diverse...any language you like,as long as it’s not c#

Page 21: b eyond the valley of the dinosaurs: what’s happening in    languages

21

unctional0

x

Page 22: b eyond the valley of the dinosaurs: what’s happening in    languages

22

working with functionsas easily as you work with values

Page 23: b eyond the valley of the dinosaurs: what’s happening in    languages

23

function data typeshigher-order functions...

Page 24: b eyond the valley of the dinosaurs: what’s happening in    languages

24

...just like c#!

Page 25: b eyond the valley of the dinosaurs: what’s happening in    languages

25

f#

Page 26: b eyond the valley of the dinosaurs: what’s happening in    languages

26

functional-object hybrid“ocaml for .net”

Page 27: b eyond the valley of the dinosaurs: what’s happening in    languages

27

designed for .netv4 included in vs2010...

Page 28: b eyond the valley of the dinosaurs: what’s happening in    languages

28

...just like c#!

Page 29: b eyond the valley of the dinosaurs: what’s happening in    languages

29

why should you care?

Page 30: b eyond the valley of the dinosaurs: what’s happening in    languages

30

cheap gluecomposition and pipelining

Page 31: b eyond the valley of the dinosaurs: what’s happening in    languages

31

can your case statement do this?patterns and discriminated unions

Page 32: b eyond the valley of the dinosaurs: what’s happening in    languages

32

brew your own gluemona– er, workflows

Page 33: b eyond the valley of the dinosaurs: what’s happening in    languages

33

f# workflowsstrategies for combining computations

Page 34: b eyond the valley of the dinosaurs: what’s happening in    languages

34

f# workflowsredefining language keywords

for fun and profit

Page 35: b eyond the valley of the dinosaurs: what’s happening in    languages

35

f# workflowscustomise the way your program is run

Page 36: b eyond the valley of the dinosaurs: what’s happening in    languages

36

asynchronous workflowscomposition of asynchronous operations

Page 37: b eyond the valley of the dinosaurs: what’s happening in    languages

37

there’s marinara sauce in my glueactors and concurrency

Page 38: b eyond the valley of the dinosaurs: what’s happening in    languages

38

brew your own glue twoparsing and interpreting

Page 39: b eyond the valley of the dinosaurs: what’s happening in    languages

39

why should you care?

source: amanda laucher, “real world f# concurrency”http://langnetsymposium.com/

Page 40: b eyond the valley of the dinosaurs: what’s happening in    languages

40

dynamic

Page 41: b eyond the valley of the dinosaurs: what’s happening in    languages

41

tinkering is hard

Page 42: b eyond the valley of the dinosaurs: what’s happening in    languages

42

compiling is boring

Page 43: b eyond the valley of the dinosaurs: what’s happening in    languages

43

typing is annoying

Page 44: b eyond the valley of the dinosaurs: what’s happening in    languages

44

let’s go shopping!

Page 45: b eyond the valley of the dinosaurs: what’s happening in    languages

45

no compilation step classes that stay open

interactive and incremental

Page 46: b eyond the valley of the dinosaurs: what’s happening in    languages

46

iron pythoniron ruby

Page 47: b eyond the valley of the dinosaurs: what’s happening in    languages

47

.net implementations ofexisting languagesiron python: v2.6

iron ruby: v0.9

Page 48: b eyond the valley of the dinosaurs: what’s happening in    languages

48

common“dynamic language runtime”

enables coexistence and interopdlr native in .net 4

Page 49: b eyond the valley of the dinosaurs: what’s happening in    languages

49

why should you care?

Page 50: b eyond the valley of the dinosaurs: what’s happening in    languages

50

concurrentconcurrentconcurrentconcurrentconcurrent

Page 51: b eyond the valley of the dinosaurs: what’s happening in    languages

51

axum

Page 52: b eyond the valley of the dinosaurs: what’s happening in    languages

52

an encore for actors“erlang for .net”

Page 53: b eyond the valley of the dinosaurs: what’s happening in    languages

53

status: “incubation”

Page 54: b eyond the valley of the dinosaurs: what’s happening in    languages

54

intentional

Page 55: b eyond the valley of the dinosaurs: what’s happening in    languages

55

the tyranny of plain text

Page 56: b eyond the valley of the dinosaurs: what’s happening in    languages

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.

Page 57: b eyond the valley of the dinosaurs: what’s happening in    languages

57

Common abstract representation

C# codeDrag and drop

Equation editor

Projections

Page 58: b eyond the valley of the dinosaurs: what’s happening in    languages

58

see it: “mother of all demos ii”

http://msdn.microsoft.com/en-us/oslo/dd727740.aspx

Page 59: b eyond the valley of the dinosaurs: what’s happening in    languages

59

but wait, there’s more

Page 60: b eyond the valley of the dinosaurs: what’s happening in    languages

60

powershellit’s like a shell... but with power

Page 61: b eyond the valley of the dinosaurs: what’s happening in    languages

61

phalangerit’s like php... but with alanger

Page 62: b eyond the valley of the dinosaurs: what’s happening in    languages

62

and for educational andnovelty purposes only...

Page 63: b eyond the valley of the dinosaurs: what’s happening in    languages

63

scalapowerful mixin model

strong internal dsl support

http://www.scala-lang.org

Page 64: b eyond the valley of the dinosaurs: what’s happening in    languages

64

clojuredynamic, functional... lispy

mmm... macros

http://www.clojure.org

Page 65: b eyond the valley of the dinosaurs: what’s happening in    languages

65

catremember forth?

http://www.cat-language.com

Page 66: b eyond the valley of the dinosaurs: what’s happening in    languages

66

...and many many more!perl | smalltalk | tycho | tcl

http://langnetsymposium.com

sable eagle

Page 67: b eyond the valley of the dinosaurs: what’s happening in    languages

67

earth calling beardy guy

Page 68: b eyond the valley of the dinosaurs: what’s happening in    languages

68

business objects

a tentative theory of polyglotism

processing

user interface extensibility / customisation

Page 69: b eyond the valley of the dinosaurs: what’s happening in    languages

69

state, databases

mad? mad, am i?

composition, dsls

tools intensive runtime code

Page 70: b eyond the valley of the dinosaurs: what’s happening in    languages

70

c# / vb

ha! they called frankenstein mad...

f#

c# / vb ruby / python

Page 71: b eyond the valley of the dinosaurs: what’s happening in    languages

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

Page 72: b eyond the valley of the dinosaurs: what’s happening in    languages

thanks

[email protected]

[email protected]/flatlander