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.
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. 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
10. Offline use
● Network may be flakey, slow, costly or
non-existent
● Lacking a good mechanism for storing
programs
Web Platform Weaknesses
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
25. Why is that a
problem? Because the
web lacks a
standard way of
storing
programs
26. 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
27. Could the web be nicer to Elm?
● Concurrency
● Tail recursion
Elm
29. A purely functional, lazy, dynamically typed
homoiconic language with a live web-based
literate programming environment
Leisure
30. A live, modular, object-capability based
platform for the networked age
Newspeak
31. The unmet goal: Code & data
Sync’ed by Available
the platform offline.
when online.
Platform for the Networked Age?
32. 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
33. Motivation:
● IDE’s own debugger
● First class control constructs
● Serializing a thread
● To be continued ...
Manipulating the Stack
34. ● 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?
35. 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
36. 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
37. Watch the video with slide synchronization on
InfoQ.com!
http://www.infoq.com/presentations/web-
programming-future