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
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