Вы находитесь на странице: 1из 21

INDICE

Contenido
INTRODUCCION............................................................................................................................................. 1 HISTORIA DE LA PROGRAMACIN ................................................................................................................ 2 Primera Generacin ............................................................................................................................... 2 Segunda Generacin ............................................................................................................................. 3 Tercera Generacin .4 Cuarta Generacin ................................................................................................................................. 5 Quinta Generacin ................................................................................................................................. 5 JAVA .............................................................................................................................................................. 6 Filosofa ................................................................................................................................................... 6 Recolector de basura............................................................................................................................. 7 Operadores ............................................................................................................................................. 7 C++ ................................................................................................................................................................ 8 Tamaos asociados ............................................................................................................................... 9 El concepto de clase.............................................................................................................................. 9 Constructores........................................................................................................................................ 10 Destructores .......................................................................................................................................... 10 VISUAL BASIC NET ....................................................................................................................................... 11 Versiones ............................................................................................................................................... 11 Visual Basic 2008 (VB 9.0) ............................................................................................................. 11 Visual Basic 2010 (VB 10.0) ........................................................................................................... 11 Relacin con Visual Basic................................................................................................................... 11 PHP .............................................................................................................................................................. 12 Visin General ...................................................................................................................................... 12 Caractersticas ...................................................................................................................................... 13 PYTHON ....................................................................................................................................................... 14 Caractersticas y paradigmas ............................................................................................................. 14 Elementos.............................................................................................................................................. 14 Tipos de datos ...................................................................................................................................... 15

RUBY............................................................................................................................................................ 16 Historia ................................................................................................................................................... 16 Objetivo .................................................................................................................................................. 16 CONCLUSIONES ........................................................................................................................................... 18 E-GRAFIAS ................................................................................................................................................... 19

INTRODUCCION

La presente investigacin se refiere al tema programacin, que se puede definir como el proceso de disear, codificar, depurar y mantener el cdigo fuente de programas computacionales. Una de sus caractersticas principales es que debe perseguir la obtencin de programas de calidad. Para poder entender un poco ms de la programacin es necesario saber cmo ha ido evolucionando a lo largo de la lnea del tiempo y conocer sobre algunos elementos involucrados en esta rea que permiten que funcione, que pueda ser analizada y as mismo asimilada por los programadores, ya que es de mucha utilidad en la actualidad y simplifica el trabajo de diversas actividades. En el trabajo se habla un poco de la historia de la Programacin, y se definen algunos lenguajes como Java, C++, PHP entre otros.

HISTORIA DE LA PROGRAMACIN
Sobre los ltimos 50 aos, los idiomas que programan han evolucionado del cdigo binario de mquina a herramientas poderosas que crean las abstracciones complejas. Es importante entender por qu los idiomas han evolucionado, y qu capacidades que los idiomas ms nuevos nos dan. Uno de las llaves a programar exitoso es el concepto de la abstraccin. La abstraccin es la llave a la construccin sistemas complejos de software. Como el tamao de nuestros problemas crece, la necesidad para la abstraccin dramticamente aumentos. En sistemas sencillos, caracterstica de idiomas usados en los 50s y 60s, uno solo poda entender el problema entero, y por lo tanto manipular todas estructuras del programa y datos. Los programadores son hoy incapaces de entender todos los programas y los datos - es apenas demasiado grande. La mayora de los libros y el reglamento en la historia de programar los idiomas tienden a discutir los idiomas en trminos de generaciones. Esto es un arreglo til para clasificar los idiomas por la edad.

Primera Generacin
Al desarrollarse las primeras computadoras electrnicas, se vio la necesidad de programarlas, es decir, de almacenar en memoria la informacin sobre la tarea que iban a ejecutar. Las primeras se usaban como calculadoras simples; se les indicaban los pasos de clculo, uno por uno. John Von Neumann desarroll el modelo que lleva su nombre, para describir este concepto de "programa almacenado". En este modelo, se tiene una abstraccin de la memoria como un conjunto de celdas, que almacenan simplemente nmeros. Estos nmeros pueden representar dos cosas: los datos, sobre los que va a trabajar el programa; o bien, el programa en s. Cmo es que describimos un programa como nmeros? Se tena el problema de representar las acciones que iba a realizar la computadora, y que la memoria, al estar compuesta por switches correspondientes al concepto de bit, solamente nos permita almacenar nmeros binarios. La solucin que se tom fue la siguiente: a cada accin que sea capaz de realizar nuestra computadora, asociarle un nmero, que ser su cdigo de operacin (opcode) . Por ejemplo, una calculadora programable simple podra asignar los opcodes : 1 = SUMA, 2 = RESTA, 3 = MULTIPLICA, 4 = DIVIDE.

Supongamos que queremos realizar la operacin 5 * 3 + 2, en la calculadora descrita arriba. En memoria, podramos "escribir" el programa de la siguiente forma:

Podemos ver que con esta representacin, es simple expresar las operaciones de las que es capaz el hardware (en este caso, nuestra calculadora imaginaria), en la memoria. La descripcin y uso de los opcodes es lo que llamamos lenguaje de mquina. Es decir, la lista de cdigos que la mquina va a interpretar como instrucciones, describe las capacidades de programacin que tenemos de ella; es el lenguaje ms primitivo, depende directamente del hardware, y requiere del programador que conozca el funcionamiento de la mquina al ms bajo nivel. Los lenguajes ms primitivos fueron los lenguajes de mquina. Esto, ya que el hardware se desarroll antes del software, y adems cualquier software finalmente tiene que expresarse en el lenguaje que maneja el hardware. La programacin en esos momentos era sumamente tediosa, pues el programador tena que "bajarse" al nivel de la mquina y decirle, paso a pasito, cada punto de la tarea que tena que realizar. Adems, deba expresarlo en forma numrica; y por supuesto, este proceso era propenso a errores, con lo que la productividad del programador era muy limitada. Sin embargo, hay que recordar que en estos momentos, simplemente an no exista alternativa.

Segunda Generacin
El primer gran avance que se dio, como ya se coment, fue la abstraccin dada por el Lenguaje Ensamblador, y con l, el nacimiento de las primeras herramientas automticas para generar el cdigo mquina. Esto redujo los errores triviales, como poda ser el nmero que corresponda a una operacin, que son sumamente engorrosos y difciles de detectar, pero fciles de cometer. Sin embargo, an aqu es fcil para el programador perderse y cometer errores de lgica, pues debe bajar al nivel de la forma en que trabaja el CPU, y entender bien todo lo que sucede dentro de l.

Tercera Generacin Con el desarrollo en los 50s y 60s de algoritmos de ms elevado nivel, y el aumento de poder del hardware, empezaron a entrar al uso de computadoras cientficos de otras ramas; ellos conocan mucho de Fsica, Qumica y otras ramas similares, pero no de Computacin, y por supuesto, les era sumamente complicado trabajar con lenguaje Ensamblador en vez de frmulas. As, naci el concepto de Lenguaje de Alto Nivel, con el primer compilador de FORTRAN (FORmula TRANslation), que, como su nombre indica, inici como un "simple" esfuerzo de traducir un lenguaje de frmulas, al lenguaje ensamblador y por consiguiente al lenguaje de mquina. A partir de FORTRAN, se han desarrollado innumerables lenguajes, que siguen el mismo concepto: buscar la mayor abstraccin posible, y facilitar la vida al programador, aumentando la productividad, encargndose los compiladores o intrpretes de traducir el lenguaje de alto nivel, al lenguaje de computadora. Hay que notar la existencia de lenguajes que combinan caractersticas de los de alto nivel y los de bajo nivel. Ejemplo - C: contiene estructuras de programacin de alto nivel, y la facilidad de usar libreras que tambin son caractersticas de alto nivel; sin embargo, fue diseado con muy pocas instrucciones, las cuales son sumamente sencillas, fciles de traducir al lenguaje de la mquina; y requiere de un entendimiento apropiado de cmo funciona la mquina, el uso de la memoria, etctera. Por ello, muchas personas consideramos a lenguajes como C (que fue diseado para hacer sistemas operativos), lenguajes de nivel medio.

Cuarta Generacin
Los idiomas de la cuarta generacin parecen segn las instrucciones a las de la tercera generacin. Lo nuevo de estos lenguajes son conceptos como clases, objetos y eventos que permiten soluciones ms fciles y lgicos. Lenguajes como C++, java y C# se llaman lenguajes orientados al objeto. Los idiomas modernos, tal como C++ y Java, no slo permite las abstracciones, pero permite la implementacin impuesta de restricciones en abstracciones.

Quinta Generacin
Como la quinta generacin estn conocidos los Lenguajes de inteligencia artificial. Han sido muy valorados al principio de los noventa - mientras ahora el desarrollo de software toma otros caminos. Lo que veremos en el futuro es menos dependencia en el idioma, y ms en el modelando herramientas, tal como el Unificado Modelando el Idioma (UML). La salida del modelando herramienta producir mucho de nuestro cdigo para nosotros; en el muy menos, producir arquitectnico y los modelos del diseo y la estructura de nuestro cdigo.

JAVA
Java es un lenguaje de programacin de alto nivel orientado a objetos, desarrollado por James Gosling en 1995. El lenguaje en s mismo toma mucha de su sintaxis de C, Cobol y Visual Basic, pero tiene un modelo de objetos ms simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulacin directa de punteros o memoria. La memoria es gestionada mediante un recolector de basura. Las aplicaciones Java estn tpicamente compiladas en un bytecode, aunque la compilacin en cdigo mquina nativo tambin es posible. En el tiempo de ejecucin, el bytecode es normalmente interpretado o compilado a cdigo nativo para la ejecucin, aunque la ejecucin directa por hardware del bytecode por un procesador Java tambin es posible. La implementacin original y de referencia del compilador, la mquina virtual y las bibliotecas de clases de Java fueron desarrolladas por Sun Microsystems en 1995. Desde entonces, Sun ha controlado las especificaciones, el desarrollo y evolucin del lenguaje a travs del Java Community Process, si bien otros han desarrollado tambin implementaciones alternativas de estas tecnologas de Sun, algunas incluso bajo licencias de software libre. Entre diciembre de 2006 y mayo de 2007, Sun Microsystems liber la mayor parte de sus tecnologas Java bajo la licencia GNU GPL, de acuerdo con las especificaciones del Java Community Process, de tal forma que prcticamente todo el Java de Sun es ahora software libre aunque la biblioteca de clases de pginas web comprendidas en las libreras de objecin de objetos para ser compilados como aplicaciones comprimidas no estn totalmente acopladas de acuerdo con Sun que dice que se requiere un intrprete para ejecutar los programas de Java. Filosofa El lenguaje Java se cre con cinco objetivos principales: 1. Debera usar el paradigma de la programacin orientada a objetos. 2. Debera permitir la ejecucin de un mismo programa en mltiples sistemas operativos. 3. Debera incluir por defecto soporte para trabajo en red. 4. Debera disearse para ejecutar cdigo en sistemas remotos de forma segura. 5. Debera ser fcil de usar y tomar lo mejor de otros lenguajes orientados a objetos, como C++. Para conseguir la ejecucin de cdigo remoto y el soporte de red, los programadores de Java a veces recurren a extensiones como CORBA (Common Object Request Broker Architecture),Internet Communications Engine o OSGi respectivamente.

Recolector de basura En Java el problema de las fugas de memoria se evita en gran medida gracias a la recoleccin de basura. El programador determina cundo se crean los objetos y el entorno en tiempo de ejecucin de Java (Java runtime) es el responsable de gestionar el ciclo de vida de los objetos. El programa, u otros objetos pueden tener localizado un objeto mediante una referencia a ste. Cuando no quedan referencias a un objeto, el recolector de basura de Java borra el objeto, liberando as la memoria que ocupaba previniendo posibles fugas (ejemplo: un objeto creado y nicamente usado dentro de un mtodo slo tiene entidad dentro de ste; al salir del mtodo el objeto es eliminado). Aun as, es posible que se produzcan fugas de memoria si el cdigo almacena referencias a objetos que ya no son necesarioses decir, pueden an ocurrir, pero en un nivel conceptual superior. En definitiva, el recolector de basura de Java permite una fcil creacin y eliminacin de objetos y mayor seguridad. Operadores Los operadores son aquellos que tras realizar una operacin devuelven un resultado, estos se puede caracterizar por el nmero de operadores, el tipo de operandos, y el resultado que generan. Operadores unarios. Operador Descripcin Operadores binarios. Operadores Descripcin

Cambio de signo

+-*/%

Operadores aritmticos

Operador NOT

== != < > <= Operadores >= relacionales

Complemento a 1 && || ^ Operadores booleanos

^ << >> >>>

Operadores a nivel de bit

C++
C++ es un lenguaje de programacin diseado a mediados de los aos 1980 por Bjarne Stroustrup. La intencin de su creacin fue el extender al exitoso lenguaje de programacin C con mecanismos que permitan la manipulacin de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje hbrido. Posteriormente se aadieron facilidades de programacin genrica, que se sum a los otros dos paradigmas que ya estaban admitidos (programacin estructurada y la programacin orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de programacin multiparadigma. Actualmente existe un estndar, denominado ISO C++, al que se han adherido la mayora de los fabricantes de compiladores ms modernos. Existen tambin algunos intrpretes, tales como ROOT. Una particularidad del C++ es la posibilidad de redefinir los operadores, y de poder crear nuevos tipos que se comporten como tipos fundamentales. El nombre C++ fue propuesto por Rick Mascitti en el ao 1983, cuando el lenguaje fue utilizado por primera vez fuera de un laboratorio cientfico. Antes se haba usado el nombre "C con clases". En C++, la expresin "C++" significa "incremento de C" y se refiere a que C++ es una extensin de C. C++ tiene los siguientes tipos fundamentales:

Caracteres: char (tambin es un entero), wchar_t Enteros: short, int, long, long long Nmeros en coma flotante: float, double, long double Booleanos: bool Vaco: void

El modificador unsigned se puede aplicar a enteros para obtener nmeros sin signo (por omisin los enteros contienen signo), con lo que se consigue un rango mayor de nmeros naturales.

Tamaos asociados Segn la mquina y el compilador que se utilice los tipos primitivos pueden ocupar un determinado tamao en memoria. La siguiente lista ilustra el nmero de bits que ocupan los distintos tipos primitivos en la arquitectura x86. Tamaos de tipos primitivos bajo i386 (GCC) Tipo Nmero de Bits char 8 short 16 int 32 float 32 double 64

Otras arquitecturas pueden requerir distintos tamaos de tipos de datos primitivos. C++ no dice nada acerca de cul es el nmero de bits en un byte, ni del tamao de estos tipos; ms bien, ofrece solamente las siguientes "garantas de tipos":

De acuerdo al estndar C99, un tipo char debe ocupar exactamente un byte compuesto de un mnimo de 8 bits independientemente de la arquitectura de la mquina. El tamao reconocido de char es de 1. Es decir, sizeof (char) siempre devuelve 1. Un tipo short tiene al menos el mismo tamao que un tipo char. Un tipo long tiene al menos el doble tamao en bytes que un tipo short. Un tipo int tiene un tamao entre el de short y el de long, ambos inclusive, preferentemente el tamao de un apuntador de memoria de la mquina. Un tipo unsigned tiene el mismo tamao que su versin signed.

El concepto de clase Los objetos en C++ son abstrados mediante una clase. Segn el paradigma de la programacin orientada a objetos un objeto consta de: 1. Identidad, que lo diferencia de otros objetos (Nombre que llevara la clase a la que pertenece dicho objeto). 2. Mtodos o funciones miembro 3. Atributos o variables miembro Un ejemplo de clase que podemos tomar es la clase perro. Cada perro comparte unas caractersticas (atributos). Su nmero de patas, el color de su pelaje o su tamao son algunos de sus atributos. Las funciones que lo hagan ladrar, cambiar su comportamiento... esas son las funciones de la clase.

Constructores Existen varios tipos de constructores en C++: 1. Constructor predeterminado. Es el constructor que no recibe ningn parmetro en la funcin. Si no se definiera ningn constructor, el sistema proporcionara uno predeterminado. Es necesario para la construccin de estructuras y contenedores de la STL. 2. Constructor de copia. Es un constructor que recibe un objeto de la misma clase, y realiza una copia de los atributos del mismo. Al igual que el predeterminado, si no se define, el sistema proporciona uno. 3. Constructor de conversin. Este constructor, recibe como nico parmetro, un objeto o variable de otro tipo distinto al suyo propio. Es decir, convierte un objeto de un tipo determinado a otro objeto del tipo que estamos generando. Constructores + Memoria heap Un objeto creado de la forma que se vio hasta ahora, es un objeto que vive dentro del scope (las llaves { }) en el que fue creado. Para que un objeto pueda seguir viviendo cuando se saque del scope en el que se cre, se lo debe crear en memoria heap. Para esto, se utiliza el operador new, el cual asigna memoria para almacenar al objeto creado, y adems llama a su constructor (por lo que se le pueden enviar parmetros).

Destructores Los destructores son funciones miembro especiales llamadas automticamente en la ejecucin del programa, y por tanto no tienen por qu ser llamadas explcitamente por el programador. Sus principales cometidos son: Liberar los recursos computacionales que el objeto de dicha clase haya adquirido en tiempo de ejecucin al expirar ste. Quitar los vnculos que pudiesen tener otros recursos u objetos con ste. Los destructores son invocados automticamente al alcanzar el flujo del programa el fin del mbito en el que est declarado el objeto. El nico caso en el que se debe invocar explcitamente al destructor de un objeto, es cuando ste fue creado mediante el operador new, es decir, que ste vive en memoria heap, y no en la pila de ejecucin del programa. La invocacin del destructor de un objeto que vive en heap se realiza a travs del operador delete o delete[] para arreglos.

10

VISUAL BASIC NET


Visual Basic .NET (VB.NET) es un lenguaje de programacin orientado a objetos que se puede considerar una evolucin de Visual Basic implementada sobre el framework .NET. Su introduccin result muy controvertida, ya que debido a cambios significativos en el lenguaje VB.NET no es compatible hacia atrs con Visual Basic, pero el manejo de las instrucciones es similar a versiones anteriores de Visual Basic, facilitando as el desarrollo de aplicaciones ms avanzadas con herramientas modernas. La gran mayora de programadores de VB.NET utilizan el entorno de desarrollo integrado Microsoft Visual Studio en alguna de sus versiones (desde el primer Visual Studio .NET hasta Visual Studio .NET 2010, que es la ltima versin de Visual Studio para la plataforma .NET), aunque existen otras alternativas, como SharpDevelop (que adems es libre). Al igual que con todos los lenguajes de programacin basados en .NET, los programas escritos en VB .NET requieren el Framework .NET o Mono para ejecutarse. Versiones Visual Basic 2008 (VB 9.0) Para esta versin se aadieron varias novedades, incluyendo:

Soporte para LINQ Expresiones lambda Literales XML

Visual Basic 2010 (VB 10.0) Visual Basic 2010 ofrece soporte para entorno de ejecucin dinmico.. VB 2010 forma parte de Microsoft Silverlight. Relacin con Visual Basic Si Visual Basic .NET debe considerarse una mera versin de Visual Basic, o si debe considerarse como un nuevo lenguaje de programacin es un tema que ha trado mucha discusin, y que an la trae. La sintaxis bsica es prcticamente la misma entre VB y VB.NET, con la excepcin de los aadidos para soportar nuevas caractersticas como el control estructurado de excepciones, la programacin orientada a objetos, o los Genricos.

11

PHP
PHP es un lenguaje de programacin interpretado, diseado originalmente para la creacin de pginas web dinmicas. Se usa principalmente para la interpretacin del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de lnea de comandos o en la creacin de otros tipos de programas incluyendo aplicaciones con interfaz grfica usando las bibliotecas Qt o GTK+. Visin General PHP es un acrnimo recursivo que significa PHP Hypertext Pre-processor. Fue creado originalmente por Rasmus Lerdorf en 1994; sin embargo la implementacin principal de PHP es producida ahora por The PHP Group y sirve como el estndar de facto para PHP al no haber una especificacin formal. Publicado bajo la PHP License, la Free Software Foundation considera esta licencia como software libre. Puede ser desplegado en la mayora de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno. El lenguaje PHP se encuentra instalado en ms de 20 millones de sitios web y en un milln de servidores, el nmero de sitios en PHP ha compartido algo de su preponderante dominio con otros nuevos lenguajes no tan poderosos desde agosto de 2005. El sitio web de Wikipedia est desarrollado en PHP. Es tambin el mdulo Apache ms popular entre las computadoras que utilizan Apache como servidor web. El gran parecido que posee PHP con los lenguajes ms comunes de programacin estructurada, como C y Perl, permiten a la mayora de los programadores crear aplicaciones complejas con una curva de aprendizaje muy corta. Tambin les permite involucrarse con aplicaciones de contenido dinmico sin tener que aprender todo un nuevo grupo de funciones. Aunque todo en su diseo est orientado a facilitar la creacin de sitios webs, es posible crear aplicaciones con una interfaz grfica para el usuario, utilizando la extensin PHP-Qt o PHP-GTK. Tambin puede ser usado desde la lnea de rdenes, de la misma manera como Perl o Python pueden hacerlo; a esta versin de PHP se la llama PHP-CLI (Command Line Interface). Cuando el cliente hace una peticin al servidor para que le enve una pgina web, el servidor ejecuta el intrprete de PHP. ste procesa el script solicitado que generar el contenido de manera dinmica (por ejemplo obteniendo informacin de una base de datos). El resultado es enviado por el intrprete al servidor, quien a su vez se lo enva al cliente. Mediante extensiones es tambin posible la generacin de archivos PDF, Flash, as como imgenes en diferentes formatos. Permite la conexin a diferentes tipos de servidores de bases de datos tales como MySQL, PostgreSQL, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird y SQLite.
12

Caractersticas

Orientado al desarrollo de aplicaciones web dinmicas con acceso a informacin almacenada en una base de datos. Es considerado un lenguaje fcil de aprender, ya que en su desarrollo se simplificaron distintas especificaciones, como es el caso de la definicin de las variables primitivas, ejemplo que se hace evidente en el uso de php arrays. El cdigo fuente escrito en PHP es invisible al navegador web y al cliente ya que es el servidor el que se encarga de ejecutar el cdigo y enviar su resultado HTML al navegador. Esto hace que la programacin en PHP sea segura y confiable. Capacidad de conexin con la mayora de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL. Capacidad de expandir su potencial utilizando mdulos (llamados ext's o extensiones). Posee una amplia documentacin en su sitio web oficial, entre la cual se destaca que todas las funciones del sistema estn explicadas y ejemplificadas en un nico archivo de ayuda. Es libre, por lo que se presenta como una alternativa de fcil acceso para todos. Permite aplicar tcnicas de programacin orientada a objetos. Incluso aplicaciones como Zend framework, empresa que desarrolla PHP, estn totalmente desarrolladas mediante esta metodologa. No requiere definicin de tipos de variables aunque sus variables se pueden evaluar tambin por el tipo que estn manejando en tiempo de ejecucin. Tiene manejo de excepciones (desde PHP5). Si bien PHP no obliga a quien lo usa a seguir una determinada metodologa a la hora de programar, aun hacindolo, el programador puede aplicar en su trabajo cualquier tcnica de programacin o de desarrollo que le permita escribir cdigo ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que en PHP se han hecho del patrn de diseo Modelo Vista Controlador (MVC), que permiten separar el tratamiento y acceso a los datos, la lgica de control y la interfaz de usuario en tres componentes independientes.

13

PYTHON
Python es un Lenguaje de programacin interpretado cuya filosofa hace hincapi en una sintaxis muy limpia y que favorezca un cdigo legible. Se trata de un lenguaje de programacin multiparadigma ya que soporta orientacin a objetos, programacin imperativa y, en menor medida, programacin funcional. Es un lenguaje interpretado. Es administrado por la Python Software Foundation. Posee una licencia de cdigo abierto, denominada Python Software Foundation License, que es compatible con la Licencia pblica general de GNU a partir de la versin 2.1.1, e incompatible en ciertas versiones anteriores. Caractersticas y paradigmas Python es un lenguaje de programacin multiparadigma. Esto significa que ms que forzar a los programadores a adoptar un estilo particular de programacin, permite varios estilos: programacin orientada a objetos, programacin imperativa y programacin funcional. Otros paradigmas estn soportados mediante el uso de extensiones. Una caracterstica importante de Python es la resolucin dinmica de nombres; es decir, lo que enlaza un mtodo y un nombre de variable durante la ejecucin del programa (tambin llamado ligadura dinmica de mtodos). Otro objetivo del diseo del lenguaje es la facilidad de extensin. Se pueden escribir nuevos mdulos fcilmente en C o C++. Python puede incluirse en aplicaciones que necesitan una interfaz programable. Aunque la programacin en Python podra considerarse en alguna situacin hostil a la programacin funcional tradicional del Lisp, existen bastantes analogas entre Python y los lenguajes minimalistas de la familia Lisp como puede ser Scheme. Elementos Python fue diseado para ser ledo con facilidad. Una de sus caractersticas es el uso de palabras donde otros lenguajes utilizaran smbolos. Por ejemplo, los operadores lgicos!, || y && en Python se escriben not, or y and, respectivamente. El contenido de los bloques de cdigo es delimitado mediante espacios o tabuladores, conocidos como indentacin, antes de cada lnea de rdenes pertenecientes al bloque. Python se diferencia as de otros lenguajes de programacin que mantienen como costumbre declarar los bloques mediante un conjunto de caracteres, normalmente entre llaves {}. Se pueden utilizar tanto espacios como tabuladores para identar el cdigo, pero se recomienda no mezclarlos.

14

Tipos de datos Los tipos de datos se pueden resumir en esta tabla: Tipo Clase Notas Ejemplo

str

Cadena

Inmutable

'Cadena'

unicode

Cadena

Versin Unicode de str

u'Cadena'

list

Secuencia

Mutable, puede contener objetos [4.0, 'Cadena', True] de diversos tipos

tuple

Secuencia

Inmutable, puede contener objetos de diversos tipos

(4.0, 'Cadena', True)

set

Conjunto

Mutable, sin orden, no contiene duplicados

set([4.0, 'Cadena', True])

frozenset Conjunto

Inmutable, sin orden, no contiene duplicados

frozenset([4.0, 'Cadena', True])

dict

Mapping

Grupo de pares clave:valor

{'key1': 1.0, 'key2': False}

int

Nmero entero

Precisin fija, convertido en long en caso de overflow.

42

long

Nmero entero

Precisin arbitraria

42L 456966786151987643L

float

Nmero decimal

Coma flotante de doble precisin 3.1415927

15

RUBY
Ruby es un lenguaje de programacin interpretado, reflexivo y orientado a objetos, creado por el programador japons Yukihiro "Matz" Matsumoto, quien comenz a trabajar en Ruby en 1993, y lo present pblicamente en 1995. Combina una sintaxis inspirada en Python y Perl con caractersticas de programacin orientada a objetos similares a Smalltalk. Comparte tambin funcionalidad con otros lenguajes de programacin como Lisp, Lua, Dylan y CLU. Ruby es un lenguaje de programacin interpretado en una sola pasada y su implementacin oficial es distribuida bajo una licencia de software libre. Historia El lenguaje fue creado por Yukihiro "Matz" Matsumoto, quien empez a trabajar en Ruby el 24 de febrero de 1993, y lo present al pblico en el ao 1995. En el crculo de amigos de Matsumoto se le puso el nombre de "Ruby" (en espaol rub) como broma aludiendo al lenguaje de programacin "Perl" (perla). La ltima versin estable de la rama 1.8 es la 1.8.7_p248, de la rama 1.9 es la 1.9.2_p180. La versin en 1.9 que incorpora mejoras sustanciales en el rendimiento del lenguaje, que se espera queden reflejadas en la prxima versin estable de produccin del lenguaje, Ruby 1.9.0.1 Diferencias en rendimiento entre la actual implementacin de Ruby (1.8.6) y otros lenguajes de programacin ms arraigados han llevado al desarrollo de varias mquinas virtuales para Ruby. Entre sas se encuentra JRuby, un intento de llevar Ruby a la plataforma Java, y Rubinius, un intrprete modelado basado en las mquinas virtuales de Smalltalk. Los principales desarrolladores han apoyado la mquina virtual proporcionada por el proyecto YARV, que se fusion en el rbol de cdigo fuente de Ruby el 31 de diciembre de 2006, y se di a conocer como Ruby 1.9 Objetivo El creador del lenguaje, Yukihiro "Matz" Matsumoto, ha dicho que Ruby est diseado para la productividad y la diversin del desarrollador, siguiendo los principios de una buena interfaz de usuario. Sostiene que el diseo de sistemas necesita enfatizar las necesidades humanas ms que las de la mquina: A menudo la gente, especialmente los ingenieros en computacin, se centran en las mquinas. Ellos piensan, "Haciendo esto, la mquina funcionar ms rpido. Haciendo esto, la mquina funcionar de manera ms eficiente. Haciendo esto..." Estn centrados en las mquinas, pero en realidad necesitamos centrarnos en las personas,

16

en cmo hacen programas o cmo manejan las aplicaciones en los ordenadores. Nosotros somos los jefes. Ellos son los esclavos. Ruby sigue el "principio de la menor sorpresa", lo que significa que el lenguaje debe comportarse de tal manera que minimice la confusin de los usuarios experimentados. Matz ha dicho que su principal objetivo era hacer un lenguaje que le divirtiera a l mismo, minimizando el trabajo de programacin y la posible confusin. l ha dicho que no ha aplicado el principio de menor sorpresa al diseo de Ruby, 4 pero sin embargo la frase se ha asociado al lenguaje de programacin Ruby. La frase en s misma ha sido fuente de controversia, ya que los no iniciados pueden tomarla como que las caractersticas de Ruby intentan ser similares a las caractersticas de otros lenguajes conocidos. En mayo de 2005 en una discusin en el grupo de noticias comp.lang.ruby, Matz trat de distanciar Ruby de la mencionada filosofa, explicando que cualquier eleccin de diseo ser sorprendente para alguien, y que l usa un estndar personal de evaluacin de la sorpresa. Si ese estndar personal se mantiene consistente habr pocas sorpresas para aquellos familiarizados con el estndar. Matz lo defini de esta manera en una entrevista: Todo el mundo tiene un pasado personal. Alguien puede venir de Python, otro de Perl, y ellos pueden verse sorprendidos por distintos aspectos del lenguaje. Entonces ellos podran decir 'Estoy sorprendido por esta caracterstica del lenguaje, as que Ruby viola el principio de la menor sorpresa.' Esperad, esperad. El principio de la menor sorpresa no es slo para ti. El principio de la menor sorpresa significa el principio de 'mi' menor sorpresa. Y significa el principio de la menor sorpresa despus de que aprendes bien Ruby. Por ejemplo, yo fui un programador de C++ antes de empezar a disear Ruby. Yo program solamente en C++ durante dos o tres aos. Y despus de dos aos de programar en C++, todava me sorprenda.

17

CONCLUSIONES

1. Programacin es utilizada para la creacin de programas, es de mucha importancia en la actualidad. Se hace por lenguajes y estos tienen sus propias reglas y fundamentos para poder ser utilizados y funcionar correctamente.

2. La programacin naci de la necesidad del hombre de realizar distintos trabajos de una manera ms sencilla por medio de aparatos tecnolgicos llevando un mismo proceso.

18

E-GRAFIAS

http://go.yuri.at/juegos/clase1/clase1_introduccion.html http://es.wikipedia.org/wiki/Java_(lenguaje_de_programaci%C3%B3n) http://es.wikipedia.org/wiki/C%2B%2B http://es.wikipedia.org/wiki/Visual_Basic_.NET http://es.wikipedia.org/wiki/PHP http://es.wikipedia.org/wiki/Python http://es.wikipedia.org/wiki/Ruby

19

Вам также может понравиться