Emerging Languages in the Enterprise Ola Bini ola.bini@gmail.com - - PowerPoint PPT Presentation

emerging languages in the enterprise
SMART_READER_LITE
LIVE PREVIEW

Emerging Languages in the Enterprise Ola Bini ola.bini@gmail.com - - PowerPoint PPT Presentation

Emerging Languages in the Enterprise Ola Bini ola.bini@gmail.com http://olabini.com/blog Enterprise Types Business processes Integration Database SOA Legacy systems Web applications Requirements Latency, Scaling, QoS Tools


slide-1
SLIDE 1

Ola Bini

  • la.bini@gmail.com

http://olabini.com/blog

Emerging Languages in the Enterprise

slide-2
SLIDE 2

Enterprise

Types

Business processes Integration

Database SOA Legacy systems

Web applications

Requirements

Latency, Scaling, QoS Tools Infrastructure Proven

slide-3
SLIDE 3

Emerging languages

Is Java or C# the best language for all tasks?

Obviously not!

Older ones

Ruby, JavaScript, Python

Newer ones

Scala, Clojure

Many others, new and old A language renaissance

slide-4
SLIDE 4

Presentations

10:45 - Real World IronPython

Michael Foord

13:00 - Pragmatic Real-World Scala

Jonas Bonér

14:15 - Clojure

Rich Hickey

15:45 - Three Years of real world Ruby

Martin Fowler

17:15 - JavaScript in the Enterprise

Attila Szegedi

slide-5
SLIDE 5

Does languages matter?

Sapir-Whorf hypothesis

Probably false for natural languages Probably true for programming languages

Is iteration and tail recursion related?

Execution productivity Developer productivity Libraries Specific domains: DSLs, concurrency, etc Models can be radically different

Class oriented or prototype based OO? OO or multiple dispatch - or pure functions

slide-6
SLIDE 6

Why so many languages now?

Most are older than you think

Ruby is older than Java

Cracks in existing approaches Worry about future problems Understanding that there will be no one true language Mature platforms

Java, .NET, LLVM, Parrot

Better tools

Such as Antlr

slide-7
SLIDE 7

Language soup - eat duck!

Language cacophony How can I hire people for all these languages? My IS department will hate me Coding standards for one language is a PITA

What about four? Or ten?

Duck typing? Sounds dangerous... Church-Turing thesis

Greenspun’s Tenth Rule

slide-8
SLIDE 8

Polyglot programming

Use the best tool for the job Even if that means using several tools in the same project Programming languages are tools

Good at different things

Integration

At platform level At language level

slide-9
SLIDE 9

Domain specific languages

Communicate with domain experts in their own language Can be done in languages like Java and C# But languages like Ruby, Python and Scala make it easier External DSLs require tooling

Such as Antlr Or OSLO Or the DLR

slide-10
SLIDE 10

The lesson?

We are solving larger problems We are solving harder problems We are finding problems that need better abstractions We need to get better at communicating Languages are important And getting more important

slide-11
SLIDE 11

Real World IronPython

Michael Foord

slide-12
SLIDE 12

Pragmatic Real-World Scala

Jonas Bonér

slide-13
SLIDE 13

Clojure

Rich Hickey

slide-14
SLIDE 14

Three years of real-world Ruby

Martin Fowler

slide-15
SLIDE 15

JavaScript in the Enterprise

Attila Szegedi