+ All Categories
Home > Technology > Present and Future of Programming Languages - ola bini

Present and Future of Programming Languages - ola bini

Date post: 17-Oct-2014
Category:
View: 3,262 times
Download: 0 times
Share this document with a friend
Description:
Programming languages are at the core of our profession. But we don't always give them as much credence as they deserve. The strength of Ruby lies in its heritage from a number of different languages, and a look at the history leading up to Ruby might reveal what lies in store for the future. At the moment a lot of attention is spent looking at programming languages and developers are realizing that your language is an important tool. I will talk a little bit about why languages matter, why you should know several, and what the future of languages might look like.
81
OLA BINI http://olabini.com söndag, 2010 mars 21
Transcript
Page 1: Present and Future of Programming Languages - ola bini

OLA BINI

http://olabini.com

söndag, 2010 mars 21

Page 2: Present and Future of Programming Languages - ola bini

The Tao gave birth to machine language

Machine language gave birth to the assembler

söndag, 2010 mars 21

Page 3: Present and Future of Programming Languages - ola bini

The assembler gave birth to the compiler

Now there are ten thousand languages

söndag, 2010 mars 21

Page 4: Present and Future of Programming Languages - ola bini

Each language has its purpose, however humble

Each language expresses the Yin and Yang of software

Each language has its place within the Tao

söndag, 2010 mars 21

Page 5: Present and Future of Programming Languages - ola bini

But do not program in COBOL if you can avoid it

söndag, 2010 mars 21

Page 6: Present and Future of Programming Languages - ola bini

söndag, 2010 mars 21

Page 7: Present and Future of Programming Languages - ola bini

söndag, 2010 mars 21

Page 8: Present and Future of Programming Languages - ola bini

Greenspun's Tenth Rule of Programming

söndag, 2010 mars 21

Page 9: Present and Future of Programming Languages - ola bini

General purpose languages

Special purpose languages

Domain specific languages

söndag, 2010 mars 21

Page 10: Present and Future of Programming Languages - ola bini

Where are we now?

söndag, 2010 mars 21

Page 11: Present and Future of Programming Languages - ola bini

Java

söndag, 2010 mars 21

Page 12: Present and Future of Programming Languages - ola bini

söndag, 2010 mars 21

Page 13: Present and Future of Programming Languages - ola bini

“Scripting” languages

söndag, 2010 mars 21

Page 14: Present and Future of Programming Languages - ola bini

“Scripting” languagesPragmatic languages

söndag, 2010 mars 21

Page 15: Present and Future of Programming Languages - ola bini

Where did we come from?

söndag, 2010 mars 21

Page 16: Present and Future of Programming Languages - ola bini

Ruby lineage

söndag, 2010 mars 21

Page 17: Present and Future of Programming Languages - ola bini

a, b, c = 42, 69, 25

söndag, 2010 mars 21

Page 18: Present and Future of Programming Languages - ola bini

def foo yield 42 3.times do |n| yield n*25 endend

foo { |x| puts x }

söndag, 2010 mars 21

Page 19: Present and Future of Programming Languages - ola bini

CLU

söndag, 2010 mars 21

Page 20: Present and Future of Programming Languages - ola bini

/^(\d{3})-(\d{4})$/ =~ phone_number

söndag, 2010 mars 21

Page 21: Present and Future of Programming Languages - ola bini

$x = 42@me = other@@foo += 2

söndag, 2010 mars 21

Page 22: Present and Future of Programming Languages - ola bini

Global swearing

$/ = “%”$= = trueputs $!

söndag, 2010 mars 21

Page 23: Present and Future of Programming Languages - ola bini

puts “hello” unless moon == :full

söndag, 2010 mars 21

Page 24: Present and Future of Programming Languages - ola bini

Perl

söndag, 2010 mars 21

Page 25: Present and Future of Programming Languages - ola bini

class MyNumber < Number; end

söndag, 2010 mars 21

Page 26: Present and Future of Programming Languages - ola bini

foo.send :answer?, 42

söndag, 2010 mars 21

Page 27: Present and Future of Programming Languages - ola bini

puts obj.methods.grep /=$/

söndag, 2010 mars 21

Page 28: Present and Future of Programming Languages - ola bini

Smalltalk

söndag, 2010 mars 21

Page 29: Present and Future of Programming Languages - ola bini

class Foo include ExampleMethodsend

baz.extend ExampleMethods

söndag, 2010 mars 21

Page 30: Present and Future of Programming Languages - ola bini

Lisp Machine Lisp

söndag, 2010 mars 21

Page 31: Present and Future of Programming Languages - ola bini

def incrementor(x) lambda do next, x = x, x+1 next endend

i = incrementor(10)i.call # => 10i.call # => 11i.call # => 12

söndag, 2010 mars 21

Page 32: Present and Future of Programming Languages - ola bini

Scheme

söndag, 2010 mars 21

Page 33: Present and Future of Programming Languages - ola bini

Ruby

söndag, 2010 mars 21

Page 34: Present and Future of Programming Languages - ola bini

Good design is not innovation

Good design is choosing what to include - and what to not include

söndag, 2010 mars 21

Page 35: Present and Future of Programming Languages - ola bini

söndag, 2010 mars 21

Page 36: Present and Future of Programming Languages - ola bini

Imperative programming

söndag, 2010 mars 21

Page 37: Present and Future of Programming Languages - ola bini

Functional programming

söndag, 2010 mars 21

Page 38: Present and Future of Programming Languages - ola bini

Logic programming

söndag, 2010 mars 21

Page 39: Present and Future of Programming Languages - ola bini

Object oriented programming

söndag, 2010 mars 21

Page 40: Present and Future of Programming Languages - ola bini

Domain specific languages

söndag, 2010 mars 21

Page 41: Present and Future of Programming Languages - ola bini

Multiparadigm languages

söndag, 2010 mars 21

Page 42: Present and Future of Programming Languages - ola bini

Ceremony vs Essence

söndag, 2010 mars 21

Page 43: Present and Future of Programming Languages - ola bini

Typing

söndag, 2010 mars 21

Page 44: Present and Future of Programming Languages - ola bini

söndag, 2010 mars 21

Page 45: Present and Future of Programming Languages - ola bini

Natural languages?

söndag, 2010 mars 21

Page 46: Present and Future of Programming Languages - ola bini

söndag, 2010 mars 21

Page 47: Present and Future of Programming Languages - ola bini

Design

söndag, 2010 mars 21

Page 48: Present and Future of Programming Languages - ola bini

Communication

söndag, 2010 mars 21

Page 49: Present and Future of Programming Languages - ola bini

Abstraction

söndag, 2010 mars 21

Page 50: Present and Future of Programming Languages - ola bini

Expressiveness

söndag, 2010 mars 21

Page 51: Present and Future of Programming Languages - ola bini

First class

söndag, 2010 mars 21

Page 52: Present and Future of Programming Languages - ola bini

Focused or multiparadigm?

söndag, 2010 mars 21

Page 53: Present and Future of Programming Languages - ola bini

Where are we going?

söndag, 2010 mars 21

Page 54: Present and Future of Programming Languages - ola bini

Is concurrency really a large problem?

söndag, 2010 mars 21

Page 55: Present and Future of Programming Languages - ola bini

söndag, 2010 mars 21

Page 56: Present and Future of Programming Languages - ola bini

More programming languages - not fewer

söndag, 2010 mars 21

Page 57: Present and Future of Programming Languages - ola bini

Language leverage

söndag, 2010 mars 21

Page 58: Present and Future of Programming Languages - ola bini

söndag, 2010 mars 21

Page 59: Present and Future of Programming Languages - ola bini

Higher level

söndag, 2010 mars 21

Page 60: Present and Future of Programming Languages - ola bini

Slowness and wastefulness

söndag, 2010 mars 21

Page 61: Present and Future of Programming Languages - ola bini

Virtual machines

söndag, 2010 mars 21

Page 62: Present and Future of Programming Languages - ola bini

Text based languages?

söndag, 2010 mars 21

Page 63: Present and Future of Programming Languages - ola bini

AST languages?

söndag, 2010 mars 21

Page 64: Present and Future of Programming Languages - ola bini

Language workbenches

söndag, 2010 mars 21

Page 65: Present and Future of Programming Languages - ola bini

NBL?

söndag, 2010 mars 21

Page 66: Present and Future of Programming Languages - ola bini

Other paradigms?

söndag, 2010 mars 21

Page 67: Present and Future of Programming Languages - ola bini

söndag, 2010 mars 21

Page 68: Present and Future of Programming Languages - ola bini

söndag, 2010 mars 21

Page 69: Present and Future of Programming Languages - ola bini

It’s going to be interesting

söndag, 2010 mars 21

Page 70: Present and Future of Programming Languages - ola bini

Where is Ruby going?

söndag, 2010 mars 21

Page 71: Present and Future of Programming Languages - ola bini

Ruby 2.0

söndag, 2010 mars 21

Page 72: Present and Future of Programming Languages - ola bini

I don’t know

söndag, 2010 mars 21

Page 73: Present and Future of Programming Languages - ola bini

Easier to modify the language

söndag, 2010 mars 21

Page 74: Present and Future of Programming Languages - ola bini

Canonical AST

söndag, 2010 mars 21

Page 75: Present and Future of Programming Languages - ola bini

Simplify the core?

söndag, 2010 mars 21

Page 76: Present and Future of Programming Languages - ola bini

Scoped extensions

söndag, 2010 mars 21

Page 77: Present and Future of Programming Languages - ola bini

DSLs

söndag, 2010 mars 21

Page 78: Present and Future of Programming Languages - ola bini

Concurrency?

söndag, 2010 mars 21

Page 79: Present and Future of Programming Languages - ola bini

Typing?

söndag, 2010 mars 21

Page 80: Present and Future of Programming Languages - ola bini

RubyX

söndag, 2010 mars 21

Page 81: Present and Future of Programming Languages - ola bini

The future

söndag, 2010 mars 21


Recommended