ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

LENGUAJE DE PROGRAMACION


Enviado por   •  29 de Agosto de 2014  •  2.722 Palabras (11 Páginas)  •  202 Visitas

Página 1 de 11

Ruby es un lenguaje de programación interpretado, reflexivo y orientado a objetos, creado por el programador por Yukihiro "Matz" Matsumoto, quien empezó a trabajar en Ruby el 24 de febrero de 1993, y lo presentó al público en el año 1995. Matz ha dicho que Ruby está diseñado para la productividad y la diversión del desarrollador, siguiendo los principios de una buena interfaz de usuario. Sostiene que el diseño de sistemas necesita enfatizar las necesidades humanas más que las de la máquina.

Ruby es un lenguaje con un balance cuidado. Su creador, Yukihiro “Matz” Matsumoto, mezcló partes de sus lenguajes favoritos (Perl, Smalltalk, Eiffel, Ada, y Lisp) para formar un nuevo lenguaje que incorporara tanto la programación funcional como la programación imperativa.

A menudo ha manifestado que está “tratando de hacer que Ruby sea natural, no simple”, de una forma que se asemeje a la vida real.Ruby es simple en apariencia, pero complejo por dentro, como el cuerpo humano

• Orientado a objetos

• Cuatro niveles de ámbito de variable: global, clase, instancia y local.

• Manejo de excepciones

• iteradores y clausuras o closures (pasando bloques de código)

• expresiones regulares nativas similares a las de Perl a nivel del lenguaje

• Posibilidad de redefinir los operadores (sobrecarga de operadores)recolección de basura automática

• Altamente portable

• Hilos de ejecución simultáneos en todas las plataformas usando green threads

• Carga dinámica de DLL/bibliotecas compartidas en la mayoría de las plataformas

• Introspección, reflexión y metaprogramación

• Amplia librería estándar

• Soporta inyección de dependencias

• Soporta alteración de objetos en tiempo de ejecución continuaciones y generadores

Ruby actualmente no tiene soporte completo de Unicode,6 a pesar de tener soporte parcial para UTF-8.

La sintaxis de Ruby es similar a la de Perl o Python. La definición de clases y métodos está definida por palabras clave. Sin embargo, en Perl, las variables no llevan prefijos. Cuando se usa, un prefijo indica el ámbito de las variables. La mayor diferencia con C y Perl es que las palabras clave son usadas para definir bloques de código sin llaves. Los saltos de línea son significativos y son interpretados como el final de una sentencia; el punto y coma tiene el mismo uso. De forma diferente que Python, la indentación no es significativa.

Una de las diferencias entre Ruby y Python y Perl es que Ruby mantiene todas sus variables de instancia privadas dentro de las clases y solo la expone a través de métodos de acceso (attr_writer, attr_reader, etc). A diferencia de los métodos "getter" y "setter" de otros lenguajes como C++ o Java, los métodos de acceso en Ruby pueden ser escritos con una sola línea de código. Como la invocación de estos métodos no requiere el uso de paréntesis, es trivial cambiar una variable de instancia en una función sin tocar una sola línea de código o refactorizar dicho código. Los descriptores de propiedades de Python son similares pero tienen una desventaja en el proceso de desarrollo. Si uno comienza en Python usando una instancia de variable expuesta públicamente y después cambia la implementación para usar una instancia de variable privada expuesta a través de un descriptor de propiedades, el código interno de la clase necesitará ser ajustado para usar la variable privada en vez de la propiedad pública. Ruby elimina está decisión de diseño obligando a todas las variables de instancia a ser privadas, pero también proporciona una manera sencilla de declarar métodos set y get. Esto mantiene el principio de que en Ruby no se puede acceder a los miembros internos de una clase desde fuera de esta; en lugar de esto se pasa un mensaje (se invoca un método) a la clase y recibe una respuesta.

El intérprete y las bibliotecas están licenciadas de forma dual (inseparable) bajo las licencias de software libre GPL y Licencia pública Ruby.7

A partir de la versión 1.9.3 se opta por una licencia dual bajo las licencias BSD de dos cláusulas y Licencia pública Ruby.8

Guido van Rossum, creador de Python, en la convención OSCON 2006

Python fue creado a finales de los ochenta2 por Guido van Rossum en el Centro para las Matemáticas y la Informática (CWI, Centrum Wiskunde & Informatica), en los Países Bajos, como un sucesor del lenguaje de programación ABC, capaz de manejar excepciones e interactuar con el sistema operativo Amoeba.3

El nombre del lenguaje proviene de la afición de su creador por los humoristas británicos Monty Python.4

Van Rossum es el principal autor de Python, y su continuo rol central en decidir la dirección de Python es reconocido, refiriéndose a él como Benevolente Dictador Vitalicio (en inglés: Benevolent Dictator for Life, BDFL).

Python es un lenguaje de programación multiparadigma. Esto significa que más que forzar a los programadores a adoptar un estilo particular de programación, permite varios estilos: programación orientada a objetos, programación imperativa y programación funcional. Otros paradigmas están soportados mediante el uso de extensiones.

Python usa tipado dinámico y conteo de referencias para la administración de memoria.

Una característica importante de Python es la resolución dinámica de nombres; es decir, lo que enlaza un método y un nombre de variable durante la ejecución del programa (también llamado enlace dinámico de métodos).

Otro objetivo del diseño del lenguaje es la facilidad de extensión. Se pueden escribir nuevos módulos fácilmente en C o C++. Python puede incluirse en aplicaciones que necesitan una interfaz programable.

Aunque la programación en Python podría considerarse en algunas situaciones hostil a la programación funcional tradicional del Lisp, existen bastantes analogías entre Python y los lenguajes minimalistas de la familia Lisp como puede ser Scheme.

En los últimos años el lenguaje se ha hecho muy popular, gracias a varias razones como:

La cantidad de librerías que contiene, tipos de datos y funciones incorporadas en el propio lenguaje,

...

Descargar como (para miembros actualizados)  txt (17.8 Kb)  
Leer 10 páginas más »
Disponible sólo en Clubensayos.com