Whither Web programming?

871 views
655 views

Published on

Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1olSGHv.

Gilad Bracha keynotes on what's keeping web technologies from being on par with their native counterparts. Filmed at qconnewyork.com.

Gilad Bracha is the creator of the Newspeak programming language and a software engineer at Google where he works on Dart. Previously, he was a VP at SAP Labs, a Distinguished Engineer at Cadence, and a Computational Theologist and Distinguished Engineer at Sun. He is co-author of the Java Language Specification, and a researcher in the area of object-oriented programming languages.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
871
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Whither Web programming?

  1. 1. Whither Web Programming Gilad Bracha Google
  2. 2. InfoQ.com: News & Community Site • 750,000 unique visitors/month • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • News 15-20 / week • Articles 3-4 / week • Presentations (videos) 12-15 / week • Interviews 2-3 / week • Books 1 / month Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations /web-programming-future
  3. 3. Presented at QCon New York www.qconnewyork.com Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide
  4. 4. I am not speaking for Google here. Caveat
  5. 5. Ubiquity Zero-install Web Platform Strengths
  6. 6. Always Available Web Platform Strengths
  7. 7. Always Available Always Up to Date Web Platform Strengths
  8. 8. Ask xkcd:
  9. 9. Always Available - except when it’s not Caveat Emptor
  10. 10. Offline use ● Network may be flakey, slow, costly or non-existent ● Lacking a good mechanism for storing programs Web Platform Weaknesses
  11. 11. Restricted choice of viable programming languages ● Hard to implement alternative languages efficiently o Lacking necessary primitives o Lacking a good mechanism for storing programs (again!) Web Platform Weaknesses
  12. 12. Integers Stack Access Weak References/Weak Arrays Object Privacy Concurrency Programming Language Issues
  13. 13. The web platform has another strength: Openness Let there be Hope
  14. 14. Openness leads to diversity People are doing cool language work against the odds. Let there be Hope
  15. 15. A playground for Dart programming, including a full Dart compiler running in the browser Try Dart
  16. 16. So, why is this book not out yet?
  17. 17. So, why is this book not out yet? Because the reflection chapter isn’t ready
  18. 18. Why?
  19. 19. Why? Because the reflection API is not stable
  20. 20. Why?
  21. 21. Why? Because the reflection makes dart2js output larger
  22. 22. Why is that a problem?
  23. 23. Why is that a problem? Because the web lacks a standard way of storing programs
  24. 24. A pure functional language for UI construction. Runs on the web, with a live environment. import Mouse import Graphics.Collage redCircle x = collage 200 300 [filled red (circle (toFloat x))] main = lift redCircle Mouse.x Elm
  25. 25. Could the web be nicer to Elm? ● Concurrency ● Tail recursion Elm
  26. 26. A live environment for the web Lively
  27. 27. A purely functional, lazy, dynamically typed homoiconic language with a live web-based literate programming environment Leisure
  28. 28. A live, modular, object-capability based platform for the networked age Newspeak
  29. 29. The unmet goal: Code & data Sync’ed by Available the platform offline. when online. Platform for the Networked Age?
  30. 30. Changing a mixin at runtime means changing all classes that mix it in Keep list of said classes in a weak array or weak map JS weak maps are not enumerable :-( LIve Code Editing + Mixins
  31. 31. Motivation: ● IDE’s own debugger ● First class control constructs ● Serializing a thread ● To be continued ... Manipulating the Stack
  32. 32. ● Web apps should evolve to compete and surpass native apps ● Web platform must support offline work, stored programs, many programming languages - or wither in the face of competition Whither Web Programming?
  33. 33. TryDart: Peter Ahe & the Dart team Elm: Evan Czaplicki Lively Kernel: Dan Ingalls & Robert Krahn Leisure: Bill Burdick Newspeak: Ryan Macnak, Vassili Bykov & others Credits
  34. 34. This file is licensed under the Creative Commons Attribution ShareAlike 3.0 License. In short: you are free to share and make derivative works of the file under the conditions that you appropriately attribute it, and that you distribute it only under a license identical to this one. Official license. Cartoon on slide 6: xkcd Dart book copyright Addison-Wesley 2013 The Newspeak eye on slide 28 was designed by Victoria Bracha and used by permission Licensing and Attribution
  35. 35. Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations/web- programming-future

×