0
Mind the Tools
HOW THE TECHNOLOGY WE USE TO BUILD THE WEB
             SHAPES THE WEB




                       ❦
       ...
Introduction
❖   Working on Twitter since
    January, 2007.
❖   Working on the Web since age
    12 (1995).
❖   A bit nut...
How does language
shape what we do?
“That’s demented!”
Agenda

i. A little history.
ii. A tour of the present.
iii. Gazing into the future.
iv. How languages and tools shaped th...
Programming Languages
of the Web




A Brief History
In The Beginning...
❖   HTML born in 1990-91.
❖   First proper public specification of HTML arrives in
    1993.
❖   NCSA ...
The CGI Era
❖   1993 - 1997.
❖   Most common languages for CGI scripts:
    ❖   C
    ❖   Perl
❖   Reduces data to key-val...
The Applet Era
❖   1995 - 1997.
❖   A showcase for the Java language.
❖   The first “dynamic” content on the Web.
❖   Soli...
The Flash Era
❖   1998 - present
❖   Started out as simply a solution for vector-based
    animation.
❖   For a while, a c...
The JavaScript Era

❖   1998 - present.
❖   From animations and client-side form validations to
    web application greatn...
The PHP Era

❖   1998 - 2005
❖   The first programming language built explicitly for web
    development.
❖   Decent perfo...
The LAMP Era
❖   2001 - 2007
❖   Python catches up to PHP.
❖   Perl is still around.
❖   Generic interfaces like FCGI enab...
The Age of Frameworks

❖   2005 - present.
❖   Ruby on Rails, Django, and many copycats.
❖   Codifying best practices, tre...
Timeline
                                                                      Flash (ActionScript)
                      ...
Charted Territory
               Typing    Object Model      Compilation
Perl           dynamic     class-based      inter...
Lessons of History
❖   Dynamic, interpreted languages have been
    dominant on the Web.
❖   Languages built exclusively f...
The Present
Frameworks Everywhere

❖   Application frameworks: Rails, Django.
❖   JavaScript frameworks: jQuery, YUI.
❖   CSS framewor...
APIs Everywhere

❖   Not just for mashups anymore.
❖   Eat your own dog food: API as systems architecture.
❖   Letting dat...
JavaScript Everywhere

❖   Use the same language, front-to-back.
❖   Perfect for AJAX-heavy applications.
❖   JSON as univ...
Code Generation

❖   Use the same language for everything, but compile
    down to HTML, CSS, and JavaScript.
❖   Google W...
Refining Standards
❖   HTML 5, JavaScript 1.9
❖   new challenges:
    ❖   mobile
    ❖   geolocation
    ❖   heavyweight w...
The Web Outside The Browser

❖   Taking web development to
    other realms:
    ❖   the desktop (AIR, Titanium)
    ❖   m...
The Future
The Post-Framework Era

❖   Message queues connecting heterogeneous components.
❖   Trickle-down SOA.
❖   Back to LAMP, on...
The Native Era

❖   Google Native Client.
❖   Getting video out of Flash.
❖   Mobile apps.
The Functional Era
❖   Functional languages fit the Web development model.
❖   It’s taken time for the old FP languages (L...
How Does All This Shape The Web?
Dynamism.
Tension.
Heterogeneity.
Evolution.
Tools matter.
Language matters.
Thank you!
     ❦
  Questions?
Mind The Tools
Mind The Tools
Mind The Tools
Mind The Tools
Mind The Tools
Mind The Tools
Upcoming SlideShare
Loading in...5
×

Mind The Tools

11,127

Published on

How the technology we use to build the Web shapes the web. A look at the history, present, and future of the programming languages and tools used in web development, and how they've impacted the culture of the Web.

Published in: Technology
1 Comment
27 Likes
Statistics
Notes
  • a profound introdution of web ,the history,the current and the future...
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
11,127
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
177
Comments
1
Likes
27
Embeds 0
No embeds

No notes for slide

Transcript of "Mind The Tools"

  1. 1. Mind the Tools HOW THE TECHNOLOGY WE USE TO BUILD THE WEB SHAPES THE WEB ❦ Alex Payne Edge of the Web 2009 – Perth, Australia
  2. 2. Introduction ❖ Working on Twitter since January, 2007. ❖ Working on the Web since age 12 (1995). ❖ A bit nuts about programming languages. ❖ Co-author of Programming Scala from O’Reilly (October, 2009).
  3. 3. How does language shape what we do?
  4. 4. “That’s demented!”
  5. 5. Agenda i. A little history. ii. A tour of the present. iii. Gazing into the future. iv. How languages and tools shaped the web.
  6. 6. Programming Languages of the Web A Brief History
  7. 7. In The Beginning... ❖ HTML born in 1990-91. ❖ First proper public specification of HTML arrives in 1993. ❖ NCSA Mosaic 1.0 released in April, 1993, just as CERN announces that the Web will be free and open. ❖ CGI standard emerges in 1993, enabling the earliest web applications.
  8. 8. The CGI Era ❖ 1993 - 1997. ❖ Most common languages for CGI scripts: ❖ C ❖ Perl ❖ Reduces data to key-value pairs. ❖ The primordial soup of web applications.
  9. 9. The Applet Era ❖ 1995 - 1997. ❖ A showcase for the Java language. ❖ The first “dynamic” content on the Web. ❖ Solid security model, impressive demos, but never really took hold. ❖ Killed by Microsoft’s unbundling and the rise of Flash in the early naughts.
  10. 10. The Flash Era ❖ 1998 - present ❖ Started out as simply a solution for vector-based animation. ❖ For a while, a competitor to “DHTML”. ❖ Now used mostly for delivering video and games. ❖ Deep concern in the Web standards and FOSS communities about its use.
  11. 11. The JavaScript Era ❖ 1998 - present. ❖ From animations and client-side form validations to web application greatness. ❖ Much maligned, must misunderstood. ❖ Now one of the most widely-deployed languages in existence.
  12. 12. The PHP Era ❖ 1998 - 2005 ❖ The first programming language built explicitly for web development. ❖ Decent performance, fast development cycle. ❖ Encourages poor programming practices. ❖ Also spawned ASP.
  13. 13. The LAMP Era ❖ 2001 - 2007 ❖ Python catches up to PHP. ❖ Perl is still around. ❖ Generic interfaces like FCGI enable a “right tool for the job” mentality. ❖ Open source web servers and databases have matured.
  14. 14. The Age of Frameworks ❖ 2005 - present. ❖ Ruby on Rails, Django, and many copycats. ❖ Codifying best practices, treating web application development like “real” software development. ❖ Increased productivity, but at the cost of vendor dependency.
  15. 15. Timeline Flash (ActionScript) 1998 – 2009 CGI (Perl, C) 1993 – 1997 JavaScript 1998 – 2009 The Web opens up 1993 PHP Applets (Java) 1998 – 2005 1995 – 1997 LAMP (Python, PHP, Perl) 2001 – 2007 frameworks (Rails, Django, et. al.) 2005 – 2009 HTML born VRML 1990 – 1991 1995 – 1997 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009
  16. 16. Charted Territory Typing Object Model Compilation Perl dynamic class-based interpreted Python dynamic class-based interpreted PHP dynamic class-based interpreted Ruby dynamic class-based interpreted JavaScript dynamic prototype-based interpreted ActionScript static prototype-based compiled Java static class-based compiled
  17. 17. Lessons of History ❖ Dynamic, interpreted languages have been dominant on the Web. ❖ Languages built exclusively for the Web face tough criticism (PHP, JavaScript). ❖ No one technology lasts forever – and that’s a good thing.
  18. 18. The Present
  19. 19. Frameworks Everywhere ❖ Application frameworks: Rails, Django. ❖ JavaScript frameworks: jQuery, YUI. ❖ CSS frameworks: Blueprint, Baseline. ❖ Typography frameworks (?!): TypeKit, sIFR.
  20. 20. APIs Everywhere ❖ Not just for mashups anymore. ❖ Eat your own dog food: API as systems architecture. ❖ Letting data escape the browser model.
  21. 21. JavaScript Everywhere ❖ Use the same language, front-to-back. ❖ Perfect for AJAX-heavy applications. ❖ JSON as universal object format. ❖ A bit untested, but AppJet and others are paving the way.
  22. 22. Code Generation ❖ Use the same language for everything, but compile down to HTML, CSS, and JavaScript. ❖ Google Web Toolkit (GWT). ❖ Popular in the Ruby and functional language communities.
  23. 23. Refining Standards ❖ HTML 5, JavaScript 1.9 ❖ new challenges: ❖ mobile ❖ geolocation ❖ heavyweight web applications (GMail, etc.) ❖ old and difficult challenges: ❖ internationalization ❖ accessibility
  24. 24. The Web Outside The Browser ❖ Taking web development to other realms: ❖ the desktop (AIR, Titanium) ❖ mobile (Palm webOS) ❖ Why build your own development model?
  25. 25. The Future
  26. 26. The Post-Framework Era ❖ Message queues connecting heterogeneous components. ❖ Trickle-down SOA. ❖ Back to LAMP, only language doesn’t matter this time. ❖ And, yes, finally, the Cloud.
  27. 27. The Native Era ❖ Google Native Client. ❖ Getting video out of Flash. ❖ Mobile apps.
  28. 28. The Functional Era ❖ Functional languages fit the Web development model. ❖ It’s taken time for the old FP languages (Lisp, Haskell, OCaml) to build up Web tooling. ❖ Newer functional languages (Scala, Clojure) are already productive and competitive for Web work. ❖ Even newer FP languages are aimed squarely at the Web (Arc, Ur).
  29. 29. How Does All This Shape The Web?
  30. 30. Dynamism.
  31. 31. Tension.
  32. 32. Heterogeneity.
  33. 33. Evolution.
  34. 34. Tools matter. Language matters.
  35. 35. Thank you! ❦ Questions?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×