How We Look At Software
-
Upload
devrim-yasar -
Category
Technology
-
view
20 -
download
0
Transcript of How We Look At Software
![Page 1: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/1.jpg)
How did we build Koding?
@devrimyasar
Tuesday, August 6, 13
![Page 2: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/2.jpg)
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
![Page 3: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/3.jpg)
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
![Page 4: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/4.jpg)
Techland
Tuesday, August 6, 13
![Page 5: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/5.jpg)
Techland
Tuesday, August 6, 13
![Page 6: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/6.jpg)
TechlandAssembly
Tuesday, August 6, 13
![Page 7: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/7.jpg)
TechlandAssembly
C
Tuesday, August 6, 13
![Page 8: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/8.jpg)
TechlandAssembly
C C++
Tuesday, August 6, 13
![Page 9: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/9.jpg)
TechlandAssembly
C C++
Java
Tuesday, August 6, 13
![Page 10: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/10.jpg)
TechlandAssembly
C C++
Java
RoR
Tuesday, August 6, 13
![Page 11: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/11.jpg)
TechlandAssembly
C C++
Java
RoR
JS
Tuesday, August 6, 13
![Page 12: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/12.jpg)
TechlandAssembly
C C++
Java
RoR
JS
JS
Tuesday, August 6, 13
![Page 13: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/13.jpg)
TechlandAssembly
C C++
Java
RoR
JS
JS
Where do you live?
Tuesday, August 6, 13
![Page 14: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/14.jpg)
TechlandAssembly
C C++
Java
RoR
JS
JS
Where do you live?Do you respect others?
Tuesday, August 6, 13
![Page 15: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/15.jpg)
next endless debate
• semicolons! (just kidding! :))
• classes vs functional
• just like the previous point, they are both valid arguments
Tuesday, August 6, 13
![Page 16: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/16.jpg)
actually,
• 424 BC
• Plato’s “Theory Of Forms”
• 1990 we adopted it as OOP
Tuesday, August 6, 13
![Page 17: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/17.jpg)
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
![Page 18: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/18.jpg)
‘class’ is not magic...
Tuesday, August 6, 13
![Page 19: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/19.jpg)
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
![Page 20: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/20.jpg)
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
![Page 21: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/21.jpg)
or else
• a cute mule is never born.
Tuesday, August 6, 13
![Page 22: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/22.jpg)
we love javascript
• but we use coffeescript to write javascriptTuesday, August 6, 13
![Page 23: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/23.jpg)
we architect the frontend
latest status: http://d.pr/i/o7oFTuesday, August 6, 13
![Page 24: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/24.jpg)
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
![Page 25: How We Look At Software](https://reader034.fdocuments.us/reader034/viewer/2022042615/55d02900bb61eb9b608b4707/html5/thumbnails/25.jpg)
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