19
The New Culture Of Programming Tools Jon Hirschtick Founder and Chairman Belmont Technology Inc. [email protected] COFES 2013 April 11, 2013

The New Culture Of Programming Tools - isicadisicad.ru/ru/pdf/COFES_2013_Presentation_Jon_Programming_Culture...The New Culture Of Programming Tools. Jon Hirschtick . ... Ruby On Rails

Embed Size (px)

Citation preview

Page 1: The New Culture Of Programming Tools - isicadisicad.ru/ru/pdf/COFES_2013_Presentation_Jon_Programming_Culture...The New Culture Of Programming Tools. Jon Hirschtick . ... Ruby On Rails

The New Culture Of Programming Tools Jon Hirschtick Founder and Chairman Belmont Technology Inc. [email protected] COFES 2013 April 11, 2013

Page 2: The New Culture Of Programming Tools - isicadisicad.ru/ru/pdf/COFES_2013_Presentation_Jon_Programming_Culture...The New Culture Of Programming Tools. Jon Hirschtick . ... Ruby On Rails

My 30 Years In CAD

Started programming 1975

MIT CADLab researcher

Computervision programmer

Founder and CEO SolidWorks

Group Executive Dassault Systemes

One year as unemployed computer science student

Now Founder and Chairman, Belmont Technology Inc.

Page 3: The New Culture Of Programming Tools - isicadisicad.ru/ru/pdf/COFES_2013_Presentation_Jon_Programming_Culture...The New Culture Of Programming Tools. Jon Hirschtick . ... Ruby On Rails
Page 4: The New Culture Of Programming Tools - isicadisicad.ru/ru/pdf/COFES_2013_Presentation_Jon_Programming_Culture...The New Culture Of Programming Tools. Jon Hirschtick . ... Ruby On Rails

Computing Platform Is Changing Programming is a whole new ballgame…

Page 5: The New Culture Of Programming Tools - isicadisicad.ru/ru/pdf/COFES_2013_Presentation_Jon_Programming_Culture...The New Culture Of Programming Tools. Jon Hirschtick . ... Ruby On Rails

New Generation Computing Platform

Cloud

Multi-client: desktop, laptop, phone, tablet

Multi-core

Network bandwidth

Massive memory -- the hard disk is dead

Not just new languages, but a new culture

New Programming Tools Are To Software

What New Materials Are To Physical Products

Page 6: The New Culture Of Programming Tools - isicadisicad.ru/ru/pdf/COFES_2013_Presentation_Jon_Programming_Culture...The New Culture Of Programming Tools. Jon Hirschtick . ... Ruby On Rails

New Programming Culture

OLD: Singapore Subway Model Immaculate, organized

-- but it’s a dictatorship

NEW: Jazz Music Model hey man…I’ve got a new

language…no manual…but here’s the source code…

Page 7: The New Culture Of Programming Tools - isicadisicad.ru/ru/pdf/COFES_2013_Presentation_Jon_Programming_Culture...The New Culture Of Programming Tools. Jon Hirschtick . ... Ruby On Rails

Goodbye Reference Manuals Hello Source Code

It’s easier to get source code than a reference manual

Javascript World’s most popular programming language Built in to every web browser No reference manual

Page 8: The New Culture Of Programming Tools - isicadisicad.ru/ru/pdf/COFES_2013_Presentation_Jon_Programming_Culture...The New Culture Of Programming Tools. Jon Hirschtick . ... Ruby On Rails

Goodbye Desktop Apps Hello “Cloud” Apps

“Cloud” applications are actually distributed apps

Use both cloud + client device (PC, phone, tablet)

A symphony of asynchronous computing processes

Page 9: The New Culture Of Programming Tools - isicadisicad.ru/ru/pdf/COFES_2013_Presentation_Jon_Programming_Culture...The New Culture Of Programming Tools. Jon Hirschtick . ... Ruby On Rails

Goodbye Choosing A Language Hello Choosing A Stack

OLD

Learn a new language

BASIC

FORTRAN

C

Every 5-10 years

NEW

Design a stack

Learn a new culture

Learn a new way to learn

Learn lots of new tools

Constantly

Page 10: The New Culture Of Programming Tools - isicadisicad.ru/ru/pdf/COFES_2013_Presentation_Jon_Programming_Culture...The New Culture Of Programming Tools. Jon Hirschtick . ... Ruby On Rails

New Generation IQ Test

Ubuntu

Amazon EC2

Django

Python

PHP

Github

Groovy On Grails

Node.js

mySQL

Closure

Clojure

Javascript

Jquery

HTML 5

WebGL

GLSL

JSON

Ruby On Rails

Meteor

Nginx

Typescript

memcache

Erlang

Firebug

Groovy

OpenCL

CSS

Bootstrap

Git

Go

Apache

Scala

Mercurial

XML

Java

BigTable

Jetty

Velocity

MongoDB

Less

Heroku

ssh

CouchBase

Google Compute Engine

Page 11: The New Culture Of Programming Tools - isicadisicad.ru/ru/pdf/COFES_2013_Presentation_Jon_Programming_Culture...The New Culture Of Programming Tools. Jon Hirschtick . ... Ruby On Rails

Goodbye Binary Encoding Hello Text Strings

Javascript

HTML

HTTP

CSS

JSON

XML

GLSL Shader Programs (WebGL, OpenGL)

All Text Strings

Page 12: The New Culture Of Programming Tools - isicadisicad.ru/ru/pdf/COFES_2013_Presentation_Jon_Programming_Culture...The New Culture Of Programming Tools. Jon Hirschtick . ... Ruby On Rails

Goodbye Single Processor Hello Multi-Core

CPU speed not growing

But number of cores is growing

10’s of cores in client CPU

1,000’s in GPU

100,000’s in cloud

Need smartly-engineered concurrent systems …not merely trying to parallelize

everything

Page 13: The New Culture Of Programming Tools - isicadisicad.ru/ru/pdf/COFES_2013_Presentation_Jon_Programming_Culture...The New Culture Of Programming Tools. Jon Hirschtick . ... Ruby On Rails

Ivan Sutherland on Concurrent Computing

https://www.youtube.com/watch?v=jR9pAaQlVRc Good summary at around 49:00

Page 14: The New Culture Of Programming Tools - isicadisicad.ru/ru/pdf/COFES_2013_Presentation_Jon_Programming_Culture...The New Culture Of Programming Tools. Jon Hirschtick . ... Ruby On Rails

Goodbye Memory Bugs Hello Thread Bugs

Memory-managed languages are mainstream Garbage collection is accepted, even for high-performance

applications Memory management nice-to-have for single-threaded

programs…but a must for multi-threaded programs

No more malloc() and free()

No more bad pointer bugs

New threading bugs to worry about ‘race conditions’ and ‘deadlock’

Page 15: The New Culture Of Programming Tools - isicadisicad.ru/ru/pdf/COFES_2013_Presentation_Jon_Programming_Culture...The New Culture Of Programming Tools. Jon Hirschtick . ... Ruby On Rails

Goodbye Hard Disk, Hello SSD

Hard disk is to future systems what tape drives were to past systems

All SSD

Come to think of it, forget SSD

Maybe all RAM…

Page 16: The New Culture Of Programming Tools - isicadisicad.ru/ru/pdf/COFES_2013_Presentation_Jon_Programming_Culture...The New Culture Of Programming Tools. Jon Hirschtick . ... Ruby On Rails

Goodbye Virtual Memory Hello Mega Memory

Uh…who needs virtual memory when you have 64 bit OS with 64Gb RAM

Will we be turning off virtual memory?

Page 17: The New Culture Of Programming Tools - isicadisicad.ru/ru/pdf/COFES_2013_Presentation_Jon_Programming_Culture...The New Culture Of Programming Tools. Jon Hirschtick . ... Ruby On Rails

Goodbye Computer Cost Worry Hello People Cost Worry

OLD

For each expensive computer

Many cheap people

Design for minimum computing costs

NEW

For each expensive person

Many cheap computers

Design for minimum programmer time

Page 18: The New Culture Of Programming Tools - isicadisicad.ru/ru/pdf/COFES_2013_Presentation_Jon_Programming_Culture...The New Culture Of Programming Tools. Jon Hirschtick . ... Ruby On Rails

Goodbye Anti-virus and Firewalls Hello Cloud Security

Cloud apps more secure than most people’s own systems…

But Cloud developers have complex security problems to manage

Page 19: The New Culture Of Programming Tools - isicadisicad.ru/ru/pdf/COFES_2013_Presentation_Jon_Programming_Culture...The New Culture Of Programming Tools. Jon Hirschtick . ... Ruby On Rails

Thank You [email protected]