Diferencia entre revisiones de «Rust (lenguaje de programación)»

Contenido eliminado Contenido añadido
Conopo (discusión · contribs.)
actualizada a la última versión
→‎Evolución del lenguaje: Ortografía corregida
Etiquetas: Edición desde móvil Edición vía aplic. móvil Edición vía aplic. para Android
Línea 121:
Además de los tipos estáticos convencionales, Rust también incluyó ''typestates'' hasta su versión 0.4. El sistema ''typestate'' modela afirmaciones antes y después de las declaraciones del programa, mediante el uso de una declaración de verificación especial. Las discrepancias pueden ser descubiertas durante la compilación, en lugar de una vez que el programa se ejecuta, como podría ser el caso de las [[Aserción (informática)|aserciones]] en el código C o C++. El concepto ''typestate'' no es exclusivo de Rust, ya que se introdujo por primera vez en el lenguaje de programación NIL.<ref name="typestate">{{cita publicación|last1 = Strom | first1 = Robert E. | last2 = Yemini | first2 = Shaula | url=http://www.cs.cmu.edu/~aldrich/papers/classic/tse12-typestate.pdf|título=Typestate: A Programming Language Concept for Enhancing Software Reliability|fecha=1986|editorial=IEEE Transactions on Software Engineering|issn=0098-5589|fechaacceso=14 de noviembre de 2010}}</ref> Fueron retirados los ''typestates'' porque en la práctica se encontraron poco usados, sin embargo la misma funcionalidad aún se puede lograr con los patrones del mismo lenguaje.<ref name="branding-patterns">{{cita web|url=http://pcwalton.github.com/blog/2012/12/26/typestate-is-dead/|título=Typestate Is Dead, Long Live Typestate!|fecha=26 de diciembre de 2012|fechaacceso=28 de diciembre de 2012}}</ref>
 
El estilo del sistema de objetos ha cambiado considerablemente en las versiones 0.2, 0.3 y 0.4 de Rust. La versión 0.2 introdujo clases por primera vez, con la versión 0.3 añadiendo un número de características que incluyen destructores y polimorfismo mediante el uso de interfaces. En Rust 0,.4, se añadieron ''traits'' como un medio para proporcionar herencia, las interfaces se unificaron con los ''traits'' y eliminándose como una característica independiente. También se eliminaron las clases, reemplazadas por una combinación de las implementaciones y tipos estructurados.
 
=== Historial de versiones publicadas ===