SlideShare a Scribd company logo
1 of 20
Io language
                              7 languages in seven weeks




Small, embeddable, object-oriented, prototype-
based, garbage collected language; faster than
Perl, Python, Ruby; supports actors and futures for
concurrency. Influences: Smalltalk;
Act1, Self, NewtonScript; Lisp; Lua.


                                                                                        Page 1
                                                           Endres i topp-/bunntekst , 9/29/2012
Page 2
Endres i topp-/bunntekst , 29.09.2012
Prototype
            Commodore MAX




                                                          Page 3
                            Endres i topp-/bunntekst , 29.09.2012
Class
        Ticonderoga class missile cruiser




                                                                          Page 4
                                            Endres i topp-/bunntekst , 29.09.2012
Prototype based vs. class based OO
  languages
• New objects are cloned from a prototype
• There are no classes only prototypes
• JavaScript and Lua is a prototype based OO language
• Class based has a class description of the object.
• An Object is instanced from a class
• Java, C# and Scala are class based OO languages




                                                                             Page 5
                                                Endres i topp-/bunntekst , 9/29/2012
Io language


• Prototype based OO language
• Everything is an object
• Created in 2002 by Steven Dekorte
• Concurrency oriented
   • Co-routines, futures and actors

• Lightweight and small footprint VM
• Faster than Phyton, Pearl and Ruby
• Small community
• No proper IDE and poor tooling


                                                                     Page 6
                                       Endres i topp-/bunntekst , 29.09.2012
Prototypes and objects


• Starting with uppercase is a type
• Starting with a lowercase is a instance




                                                                          Page 7
                                            Endres i topp-/bunntekst , 29.09.2012
Slots and methods


• Slots are assigned to objects
• Methods are objects and can be assigned to objects
  through slots




                                                                               Page 8
                                                 Endres i topp-/bunntekst , 29.09.2012
Singelton


• There is only one instance




                                                             Page 9
                               Endres i topp-/bunntekst , 29.09.2012
Super




                                     Page 10
        Endres i topp-/bunntekst , 29.09.2012
Strings


• Concatinate strings with ..
• Interpolate
• Split split(“”) split(“”,””)
• asUppercase asLowercase




                                                              Page 11
                                 Endres i topp-/bunntekst , 29.09.2012
Ancestors




                                         Page 12
            Endres i topp-/bunntekst , 29.09.2012
List




                                    Page 13
       Endres i topp-/bunntekst , 29.09.2012
Map




                                   Page 14
      Endres i topp-/bunntekst , 29.09.2012
Co-routines




                                           Page 15
              Endres i topp-/bunntekst , 29.09.2012
Futures




                                       Page 16
          Endres i topp-/bunntekst , 29.09.2012
Actors




                                      Page 17
         Endres i topp-/bunntekst , 29.09.2012
Addons and import


• No import statements
• Addons are dynamically loaded when they are referenced
The Importer proto implements Io's built-in auto importer
feature. If you put each of your proto's in their own file, and
give the file the same name with and ".io" extension, the
Importer will automatically import that file when the proto is
first referenced. The Importer's default search path is the
current working directory, but can add search paths using its
addSearchPath() method.




                                                                                               Page 18
                                                                  Endres i topp-/bunntekst , 29.09.2012
A webserver in Io




                                                 Page 19
                    Endres i topp-/bunntekst , 29.09.2012
CiA 2012 - Bridging the gaps
8 februar 17:30 – 20:30
                                                            Page 20
                               Endres i topp-/bunntekst , 29.09.2012

More Related Content

More from Reidar Sollid

Erlang workshopdrammen
Erlang workshopdrammenErlang workshopdrammen
Erlang workshopdrammenReidar Sollid
 
Erlang crash course CiA Oslo 2012
Erlang crash course CiA Oslo 2012 Erlang crash course CiA Oslo 2012
Erlang crash course CiA Oslo 2012 Reidar Sollid
 

More from Reidar Sollid (6)

Erlang workshopdrammen
Erlang workshopdrammenErlang workshopdrammen
Erlang workshopdrammen
 
Rust baksia2014
Rust baksia2014Rust baksia2014
Rust baksia2014
 
Erlang crash course CiA Oslo 2012
Erlang crash course CiA Oslo 2012 Erlang crash course CiA Oslo 2012
Erlang crash course CiA Oslo 2012
 
Actors drammen
Actors drammenActors drammen
Actors drammen
 
Scala actors erlang
Scala actors erlangScala actors erlang
Scala actors erlang
 
I believe in rust
I believe in rustI believe in rust
I believe in rust
 

Recently uploaded

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
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
 
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
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
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
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
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
 

Recently uploaded (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
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
 
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...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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, ...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.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...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
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
 

Io lang

  • 1. Io language 7 languages in seven weeks Small, embeddable, object-oriented, prototype- based, garbage collected language; faster than Perl, Python, Ruby; supports actors and futures for concurrency. Influences: Smalltalk; Act1, Self, NewtonScript; Lisp; Lua. Page 1 Endres i topp-/bunntekst , 9/29/2012
  • 2. Page 2 Endres i topp-/bunntekst , 29.09.2012
  • 3. Prototype Commodore MAX Page 3 Endres i topp-/bunntekst , 29.09.2012
  • 4. Class Ticonderoga class missile cruiser Page 4 Endres i topp-/bunntekst , 29.09.2012
  • 5. Prototype based vs. class based OO languages • New objects are cloned from a prototype • There are no classes only prototypes • JavaScript and Lua is a prototype based OO language • Class based has a class description of the object. • An Object is instanced from a class • Java, C# and Scala are class based OO languages Page 5 Endres i topp-/bunntekst , 9/29/2012
  • 6. Io language • Prototype based OO language • Everything is an object • Created in 2002 by Steven Dekorte • Concurrency oriented • Co-routines, futures and actors • Lightweight and small footprint VM • Faster than Phyton, Pearl and Ruby • Small community • No proper IDE and poor tooling Page 6 Endres i topp-/bunntekst , 29.09.2012
  • 7. Prototypes and objects • Starting with uppercase is a type • Starting with a lowercase is a instance Page 7 Endres i topp-/bunntekst , 29.09.2012
  • 8. Slots and methods • Slots are assigned to objects • Methods are objects and can be assigned to objects through slots Page 8 Endres i topp-/bunntekst , 29.09.2012
  • 9. Singelton • There is only one instance Page 9 Endres i topp-/bunntekst , 29.09.2012
  • 10. Super Page 10 Endres i topp-/bunntekst , 29.09.2012
  • 11. Strings • Concatinate strings with .. • Interpolate • Split split(“”) split(“”,””) • asUppercase asLowercase Page 11 Endres i topp-/bunntekst , 29.09.2012
  • 12. Ancestors Page 12 Endres i topp-/bunntekst , 29.09.2012
  • 13. List Page 13 Endres i topp-/bunntekst , 29.09.2012
  • 14. Map Page 14 Endres i topp-/bunntekst , 29.09.2012
  • 15. Co-routines Page 15 Endres i topp-/bunntekst , 29.09.2012
  • 16. Futures Page 16 Endres i topp-/bunntekst , 29.09.2012
  • 17. Actors Page 17 Endres i topp-/bunntekst , 29.09.2012
  • 18. Addons and import • No import statements • Addons are dynamically loaded when they are referenced The Importer proto implements Io's built-in auto importer feature. If you put each of your proto's in their own file, and give the file the same name with and ".io" extension, the Importer will automatically import that file when the proto is first referenced. The Importer's default search path is the current working directory, but can add search paths using its addSearchPath() method. Page 18 Endres i topp-/bunntekst , 29.09.2012
  • 19. A webserver in Io Page 19 Endres i topp-/bunntekst , 29.09.2012
  • 20. CiA 2012 - Bridging the gaps 8 februar 17:30 – 20:30 Page 20 Endres i topp-/bunntekst , 29.09.2012

Editor's Notes

  1. NewObjectslotNamesanInstanceslotNames
  2. Run the demo
  3. Person.ioogimp_person.io