how we look at software

Post on 16-Aug-2015

20 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

How did we build Koding?

@devrimyasar

Tuesday, August 6, 13

Endless debates

• 1980 Assembly vs C

• 1990 C++ vs C

• 2000 Java vs C++

• 2005 Ruby vs Java

• 2012 Everything vs Everything.

• there is a reason these don’t end

Tuesday, August 6, 13

Programming Languages

• are not neighboring enemy states.

• because each and every one of them came about to solve a specific problem that arised in a particular domain.

• let’s look at the real map.

Tuesday, August 6, 13

Techland

Tuesday, August 6, 13

Techland

Tuesday, August 6, 13

TechlandAssembly

Tuesday, August 6, 13

TechlandAssembly

C

Tuesday, August 6, 13

TechlandAssembly

C C++

Tuesday, August 6, 13

TechlandAssembly

C C++

Java

Tuesday, August 6, 13

TechlandAssembly

C C++

Java

RoR

Tuesday, August 6, 13

TechlandAssembly

C C++

Java

RoR

JS

Tuesday, August 6, 13

TechlandAssembly

C C++

Java

RoR

JS

JS

Tuesday, August 6, 13

TechlandAssembly

C C++

Java

RoR

JS

JS

Where do you live?

Tuesday, August 6, 13

TechlandAssembly

C C++

Java

RoR

JS

JS

Where do you live?Do you respect others?

Tuesday, August 6, 13

next endless debate

• semicolons! (just kidding! :))

• classes vs functional

• just like the previous point, they are both valid arguments

Tuesday, August 6, 13

actually,

• 424 BC

• Plato’s “Theory Of Forms”

• 1990 we adopted it as OOP

Tuesday, August 6, 13

if Plato was a developer...

class Animal

this.canMakeNoise = yes

class Human

this.nrOfLegs = 2

class Person

constructor:(name)->

this.name = name

Tuesday, August 6, 13

‘class’ is not magic...

Tuesday, August 6, 13

Darwin figured it out

• Around 1800s

• Human is a Mammal, Mammal is an AnimalAnimal is ...

• Let’s use them like Darwin would...

Tuesday, August 6, 13

if Darwin was a developer...

class Animal

this.canMakeNoise = yes

class Human extends Animal

this.nrOfLegs = 2

class Person extends Human

constructor:(name)->

this.name = name

Tuesday, August 6, 13

or else

• a cute mule is never born.

Tuesday, August 6, 13

we love javascript

• but we use coffeescript to write javascriptTuesday, August 6, 13

we architect the frontend

latest status: http://d.pr/i/o7oFTuesday, August 6, 13

and we architect the backend

Koding.com

IRC Server

SSH Terminal

Storage Server

Kite Kite

Kite

Kite

Kite

Kite

Kite

KiteKite

with Bongo.Tuesday, August 6, 13

expect to see

• Bongo and KDFramework open sourced soon.

• Kites taking over the world

• doThisWith(cpu:500,ram:5TB,function(){ veryHeavyComputingThatWouldOtherwiseTakeForever(function(){ console.log(“done in msecs”);

});

Tuesday, August 6, 13

Thank you.Any questions?

or reach me at devrim@koding.com

Tuesday, August 6, 13

top related