SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Whither Web
Programming
Gilad Bracha
Google
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
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
I am not speaking for Google here.
Caveat
Ubiquity
Zero-install
Web Platform Strengths
Always Available
Web Platform Strengths
Always Available
Always Up to Date
Web Platform Strengths
Ask xkcd:
Always Available
- except when it’s not
Caveat Emptor
Offline use
● Network may be flakey, slow, costly or
non-existent
● Lacking a good mechanism for storing
programs
Web Platform Weaknesses
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
Integers
Stack Access
Weak References/Weak Arrays
Object Privacy
Concurrency
Programming Language Issues
The web platform has another strength:
Openness
Let there be Hope
Openness leads to diversity
People are doing cool language work
against the odds.
Let there be Hope
A playground for Dart programming,
including a full Dart compiler running in the
browser
Try Dart
So, why is this
book not out
yet?
So, why is this
book not out
yet?
Because the
reflection
chapter isn’t
ready
Why?
Why?
Because the
reflection API is
not stable
Why?
Why? Because the
reflection makes
dart2js output
larger
Why is that a
problem?
Why is that a
problem? Because the
web lacks a
standard way of
storing
programs
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
Could the web be nicer to Elm?
● Concurrency
● Tail recursion
Elm
A live environment for the web
Lively
A purely functional, lazy, dynamically typed
homoiconic language with a live web-based
literate programming environment
Leisure
A live, modular, object-capability based
platform for the networked age
Newspeak
The unmet goal: Code & data
Sync’ed by Available
the platform offline.
when online.
Platform for the Networked Age?
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
Motivation:
● IDE’s own debugger
● First class control constructs
● Serializing a thread
● To be continued ...
Manipulating the Stack
● 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?
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
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
Watch the video with slide synchronization on
InfoQ.com!
http://www.infoq.com/presentations/web-
programming-future

Weitere ähnliche Inhalte

Ähnlich wie Whither Web programming?

Continuous Delivery Without Breaking Everything
Continuous Delivery Without Breaking EverythingContinuous Delivery Without Breaking Everything
Continuous Delivery Without Breaking EverythingC4Media
 
Microsoft Cloud's Front Door: Building a Global API
Microsoft Cloud's Front Door: Building a Global APIMicrosoft Cloud's Front Door: Building a Global API
Microsoft Cloud's Front Door: Building a Global APIC4Media
 
The Why of Go
The Why of GoThe Why of Go
The Why of GoC4Media
 
Life beyond Java 8
Life beyond Java 8Life beyond Java 8
Life beyond Java 8C4Media
 
Senior C# .Net Developer job in London from abrs
Senior C#  .Net Developer job in London from abrsSenior C#  .Net Developer job in London from abrs
Senior C# .Net Developer job in London from abrsMark Long
 
Latest trends in Technical Writing, Authoring on Cloud, Content Delivery for ...
Latest trends in Technical Writing, Authoring on Cloud, Content Delivery for ...Latest trends in Technical Writing, Authoring on Cloud, Content Delivery for ...
Latest trends in Technical Writing, Authoring on Cloud, Content Delivery for ...Raghuram Pandurangan
 
Tumblr - Bits to Gifs
Tumblr - Bits to GifsTumblr - Bits to Gifs
Tumblr - Bits to GifsC4Media
 
Thesis Presentation
Thesis PresentationThesis Presentation
Thesis PresentationJing KE
 
Lessons Learned on Uber's Journey into Microservices
Lessons Learned on Uber's Journey into MicroservicesLessons Learned on Uber's Journey into Microservices
Lessons Learned on Uber's Journey into MicroservicesC4Media
 
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2WSO2
 
The Hitchhiker's Guide to Serverless JavaScript
The Hitchhiker's Guide to Serverless JavaScriptThe Hitchhiker's Guide to Serverless JavaScript
The Hitchhiker's Guide to Serverless JavaScriptC4Media
 
Not Sold Yet, GraphQL: A Humble Tale from Skeptic to Enthusiast
Not Sold Yet, GraphQL: A Humble Tale from Skeptic to EnthusiastNot Sold Yet, GraphQL: A Humble Tale from Skeptic to Enthusiast
Not Sold Yet, GraphQL: A Humble Tale from Skeptic to EnthusiastC4Media
 
Mobile Delivery Run Through
Mobile Delivery Run ThroughMobile Delivery Run Through
Mobile Delivery Run ThroughMike Hartington
 
Serverless Functions: Accelerating DevOps Adoption
Serverless Functions: Accelerating DevOps AdoptionServerless Functions: Accelerating DevOps Adoption
Serverless Functions: Accelerating DevOps AdoptionAll Things Open
 
React Native and the future of web technology (Mark Wilcox) - GreeceJS #15
React Native and the future of web technology (Mark Wilcox) - GreeceJS #15React Native and the future of web technology (Mark Wilcox) - GreeceJS #15
React Native and the future of web technology (Mark Wilcox) - GreeceJS #15GreeceJS
 
When and How to Win with New Programming Languages
When and How to Win with New Programming LanguagesWhen and How to Win with New Programming Languages
When and How to Win with New Programming LanguagesC4Media
 
API-first Architecture Transformation at Etsy
API-first Architecture Transformation at EtsyAPI-first Architecture Transformation at Etsy
API-first Architecture Transformation at EtsyC4Media
 
Impact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher EducationImpact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher EducationJoseph Labrecque
 
Experiences Building InfluxDB in Go
Experiences Building InfluxDB in GoExperiences Building InfluxDB in Go
Experiences Building InfluxDB in GoC4Media
 

Ähnlich wie Whither Web programming? (20)

Continuous Delivery Without Breaking Everything
Continuous Delivery Without Breaking EverythingContinuous Delivery Without Breaking Everything
Continuous Delivery Without Breaking Everything
 
Microsoft Cloud's Front Door: Building a Global API
Microsoft Cloud's Front Door: Building a Global APIMicrosoft Cloud's Front Door: Building a Global API
Microsoft Cloud's Front Door: Building a Global API
 
The Why of Go
The Why of GoThe Why of Go
The Why of Go
 
Life beyond Java 8
Life beyond Java 8Life beyond Java 8
Life beyond Java 8
 
Ionic in 30
Ionic in 30Ionic in 30
Ionic in 30
 
Senior C# .Net Developer job in London from abrs
Senior C#  .Net Developer job in London from abrsSenior C#  .Net Developer job in London from abrs
Senior C# .Net Developer job in London from abrs
 
Latest trends in Technical Writing, Authoring on Cloud, Content Delivery for ...
Latest trends in Technical Writing, Authoring on Cloud, Content Delivery for ...Latest trends in Technical Writing, Authoring on Cloud, Content Delivery for ...
Latest trends in Technical Writing, Authoring on Cloud, Content Delivery for ...
 
Tumblr - Bits to Gifs
Tumblr - Bits to GifsTumblr - Bits to Gifs
Tumblr - Bits to Gifs
 
Thesis Presentation
Thesis PresentationThesis Presentation
Thesis Presentation
 
Lessons Learned on Uber's Journey into Microservices
Lessons Learned on Uber's Journey into MicroservicesLessons Learned on Uber's Journey into Microservices
Lessons Learned on Uber's Journey into Microservices
 
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
[WSO2Con USA 2018] Chipping Away at Technical Debt with WSO2
 
The Hitchhiker's Guide to Serverless JavaScript
The Hitchhiker's Guide to Serverless JavaScriptThe Hitchhiker's Guide to Serverless JavaScript
The Hitchhiker's Guide to Serverless JavaScript
 
Not Sold Yet, GraphQL: A Humble Tale from Skeptic to Enthusiast
Not Sold Yet, GraphQL: A Humble Tale from Skeptic to EnthusiastNot Sold Yet, GraphQL: A Humble Tale from Skeptic to Enthusiast
Not Sold Yet, GraphQL: A Humble Tale from Skeptic to Enthusiast
 
Mobile Delivery Run Through
Mobile Delivery Run ThroughMobile Delivery Run Through
Mobile Delivery Run Through
 
Serverless Functions: Accelerating DevOps Adoption
Serverless Functions: Accelerating DevOps AdoptionServerless Functions: Accelerating DevOps Adoption
Serverless Functions: Accelerating DevOps Adoption
 
React Native and the future of web technology (Mark Wilcox) - GreeceJS #15
React Native and the future of web technology (Mark Wilcox) - GreeceJS #15React Native and the future of web technology (Mark Wilcox) - GreeceJS #15
React Native and the future of web technology (Mark Wilcox) - GreeceJS #15
 
When and How to Win with New Programming Languages
When and How to Win with New Programming LanguagesWhen and How to Win with New Programming Languages
When and How to Win with New Programming Languages
 
API-first Architecture Transformation at Etsy
API-first Architecture Transformation at EtsyAPI-first Architecture Transformation at Etsy
API-first Architecture Transformation at Etsy
 
Impact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher EducationImpact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher Education
 
Experiences Building InfluxDB in Go
Experiences Building InfluxDB in GoExperiences Building InfluxDB in Go
Experiences Building InfluxDB in Go
 

Mehr von C4Media

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoC4Media
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileC4Media
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020C4Media
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsC4Media
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No KeeperC4Media
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like OwnersC4Media
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaC4Media
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideC4Media
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDC4Media
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine LearningC4Media
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at SpeedC4Media
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsC4Media
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsC4Media
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerC4Media
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleC4Media
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeC4Media
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereC4Media
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing ForC4Media
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data EngineeringC4Media
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreC4Media
 

Mehr von C4Media (20)

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy Mobile
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like Owners
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 

Kürzlich hochgeladen

WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 

Kürzlich hochgeladen (20)

WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

Whither Web programming?

  • 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
  • 4. I am not speaking for Google here. Caveat
  • 7. Always Available Always Up to Date Web Platform Strengths
  • 9. Always Available - except when it’s not Caveat Emptor
  • 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
  • 12.
  • 13. Integers Stack Access Weak References/Weak Arrays Object Privacy Concurrency Programming Language Issues
  • 14. The web platform has another strength: Openness Let there be Hope
  • 15. Openness leads to diversity People are doing cool language work against the odds. Let there be Hope
  • 16.
  • 17. A playground for Dart programming, including a full Dart compiler running in the browser Try Dart
  • 18. So, why is this book not out yet?
  • 19. So, why is this book not out yet? Because the reflection chapter isn’t ready
  • 20. Why?
  • 22. Why?
  • 23. Why? Because the reflection makes dart2js output larger
  • 24. Why is that a problem?
  • 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
  • 28. A live environment for the web Lively
  • 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