Vés al contingut

Io (llenguatge de programació)

De la Viquipèdia, l'enciclopèdia lliure
Infotaula de llenguatge de programacióIo
Tipusllenguatge de programació Modifica el valor a Wikidata
Data de creació2002
DissenySteve Dekorte
DesenvolupadorSteve Dekorte, Jonathan Wright, Jeremy Tregunna
Paradigma de programacióMulti-paradigm: multiple dispatch ("object-oriented"), procedural, functional, meta, multistaged
Darrera versió estable3.4.4/8 d'octubre del 2017
Tipus de dadesForta, dinàmica
Majors implementacionsActionScript, OCaml, Java
Influenciat perSmalltalk, NewtonScript, Self, Lua, Lisp, Python, Act1
Ha influenciatIoke, Potion
Sistema operatiuMultiplataforma
Codi fontCodi font Modifica el valor a Wikidata
LlicènciaCodi obert
Etiqueta d'Stack ExchangeEtiqueta Modifica el valor a Wikidata
Pàgina webhttps://iolanguage.org

Io és un llenguatge codi obert de programació totalment orientat a objectes (OOP) inspirat per Smalltalk, Self, Lua, Lisp, Act1 i NewtonScript. Io té un model de programació basada en prototipus. Igualment que SmallTalk, tot és un objecte i utilitza tipat dinàmic. Com el llenguatge Lisp, els programes són com arbres de dades, i Io utilitza el model Actor per a implementar la concurrència.[1][2][3][4]

Arquitectura

[modifica]
  • Io és un llenguatge interpretat en una màquina virtual.
  • Io és molt compacte (~10K línies de codi) per a tenir rapidesa (comparat a Python, Perl, Ruby).
  • Simplicitat per a enllaçar a biblioteques de llenguatge C.

Exemples de codi

[modifica]
  • Visualitzar "Hola món" :
    "Hola món\n" print
    
  • Funció factorial :
factorial := method (n,
if 
(n == 1,
 return 1,
 return n * factorial(n - 1))
)

Referències

[modifica]
  1. «Io Programming Language» (en anglès). https://wiki.tcl.tk.+[Consulta: 12 novembre 2017].
  2. «Io programming language - Andriy Buday» (en anglès). Andriy Buday, 08-07-2012.
  3. «Io Language» (en anglès). http://wiki.c2.com.+[Consulta: 12 novembre 2017].
  4. «The IO Programming Language» (en anglès). https://soft.vub.ac.be. Arxivat de l'original el 2016-10-10. [Consulta: 12 novembre 2017].