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

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
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...Drew Madelung
 
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 Servicegiselly40
 
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 SolutionsEnterprise Knowledge
 
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...Miguel Araújo
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
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 organizationRadu Cotescu
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
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...
 
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
 
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
 
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...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

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