SlideShare ist ein Scribd-Unternehmen logo
1 von 27
JavaScript for learning
JS for Learning
JS for Learning
• You use it every day at work
JS for Learning
• You use it every day at work
• You can mold it into a lot of different styles
JS for Learning
• You use it every day at work
• You can mold it into a lot of different styles
• In my experience, it’s the least awkward
paradigm
• (live example)
JS for Learning
• You use it every day at work
• You can mold it into a lot of different styles
(show examples)
• In my experience, it’s the least awkward
paradigm
• Mixed paradigm so you can ease in
• (live example)
• osteele’s functional.js
• lambdajs
• underscore/scoreunder
• fancy
Libraries
Level up
• Start with map/filter/reduce/some/every
• Pure functions within objects
• Play with curry and compose
• Sensible point free
• Category theory
Hurdles
Hurdles
• Where’s the consistency?
Hurdles
• Where’s the consistency?
• Math, math, math
• Haskell: Road to logic by Doets & van Eijck
• Conceptual Mathematics by Lawvere &
Schanuel
Hurdles
• No one popular way
• Math, math, math
• Missing a large community
Gotchas
Gotchas
• Eager Evaluation
Gotchas
• Eager Evaluation
• Rewriting language constructs
Gotchas
• Eager Evaluation
• Rewriting language constructs
• Loose variables
Unexpected Delights
Unexpected Delights
• Dynamic type safety
Unexpected Delights
• Dynamic type safety
• Testability
Unexpected Delights
• Dynamic type safety
• Testability
• Compile to JS...but it’s so pretty!

Weitere ähnliche Inhalte

Ähnlich wie Js for learning

Ruby object model
Ruby object modelRuby object model
Ruby object model
mbeizer
 
Object oriented javascript
Object oriented javascriptObject oriented javascript
Object oriented javascript
Garrison Locke
 

Ähnlich wie Js for learning (20)

Coding For Fun And Profit
Coding For Fun And ProfitCoding For Fun And Profit
Coding For Fun And Profit
 
Hack Night Retro Futurespective
Hack Night Retro FuturespectiveHack Night Retro Futurespective
Hack Night Retro Futurespective
 
Math Rotations: A Strategy for Teaching Math
Math Rotations: A Strategy for Teaching MathMath Rotations: A Strategy for Teaching Math
Math Rotations: A Strategy for Teaching Math
 
VSTE 2016 Presentation
VSTE 2016 PresentationVSTE 2016 Presentation
VSTE 2016 Presentation
 
Ruby object model
Ruby object modelRuby object model
Ruby object model
 
James Coplien - Trygve - October 17, 2016
James Coplien - Trygve - October 17, 2016James Coplien - Trygve - October 17, 2016
James Coplien - Trygve - October 17, 2016
 
Mathematical methods in Biology
Mathematical methods in BiologyMathematical methods in Biology
Mathematical methods in Biology
 
Tasting the LSP method for HE with a twist
Tasting the LSP method for HE with a twistTasting the LSP method for HE with a twist
Tasting the LSP method for HE with a twist
 
Becoming a more Productive Rails Developer
Becoming a more Productive Rails DeveloperBecoming a more Productive Rails Developer
Becoming a more Productive Rails Developer
 
Diversity != stock photos: Are you looking for candidates in all the wrong pl...
Diversity != stock photos: Are you looking for candidates in all the wrong pl...Diversity != stock photos: Are you looking for candidates in all the wrong pl...
Diversity != stock photos: Are you looking for candidates in all the wrong pl...
 
Hands on with the Design Studio Method
Hands on with the Design Studio MethodHands on with the Design Studio Method
Hands on with the Design Studio Method
 
CM20315_01_Intro_Machine_Learning_ap.pptx
CM20315_01_Intro_Machine_Learning_ap.pptxCM20315_01_Intro_Machine_Learning_ap.pptx
CM20315_01_Intro_Machine_Learning_ap.pptx
 
Object oriented javascript
Object oriented javascriptObject oriented javascript
Object oriented javascript
 
Introducción a NLP (Natural Language Processing) en Azure
Introducción a NLP (Natural Language Processing) en AzureIntroducción a NLP (Natural Language Processing) en Azure
Introducción a NLP (Natural Language Processing) en Azure
 
Becoming a more productive Rails Developer
Becoming a more productive Rails DeveloperBecoming a more productive Rails Developer
Becoming a more productive Rails Developer
 
Practical engineering
Practical engineeringPractical engineering
Practical engineering
 
Rock the tech interview january 2015
Rock the tech interview   january 2015Rock the tech interview   january 2015
Rock the tech interview january 2015
 
Rock the tech interview january 2015
Rock the tech interview   january 2015Rock the tech interview   january 2015
Rock the tech interview january 2015
 
Software Craftsmanship and Agile Code Games
Software Craftsmanship and Agile Code GamesSoftware Craftsmanship and Agile Code Games
Software Craftsmanship and Agile Code Games
 
Thinking and working visually for software testers
Thinking and working visually for software testersThinking and working visually for software testers
Thinking and working visually for software testers
 

Kürzlich hochgeladen

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Kürzlich hochgeladen (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

Js for learning