Lemguajes de Programacion
Lemguajes de Programacion
C++
C++ es un lenguaje imperativo orientado a objetos derivado del C. En realidad un superconjunto
de C, que nació para añadirle cualidades y características de las que carecía. El resultado es que
como su ancestro, sigue muy ligado al hardware subyacente, manteniendo una considerable
potencia para programación a bajo nivel, pero se la han añadido elementos que le permiten
también un estilo de programación con alto nivel de abstracción. Estrictamente hablando, C no es
un subconjunto de C++; de hecho es posible escribir código C que es ilegal en C++. Pero a efectos
prácticos, dado el esfuerzo de compatibilidad desplegado en su diseño, puede considerarse que C+
+ es una extensión del C clásico. La definición "oficial" del lenguaje nos dice que C++ es un lenguaje
de propósito general basado en el C, al que se han añadido nuevos tipos de datos, clases,
plantillas, mecanismo de excepciones, sistema de espacios de nombres, funciones inline,
sobrecarga de operadores, referencias, operadores para manejo de memoria persistente, y
algunas utilidades adicionales de librería (en realidad la librería Estándar C es un subconjunto de la
librería C++)
HISTORIA
JAVA
Java es un lenguaje de programación y una plataforma informática comercializada por primera vez
en 1995 por Sun Microsystems. Hay muchas aplicaciones y sitios web que no funcionarán a menos
que tenga Java instalado y cada día se crean más. Java es rápido, seguro y fiable. Desde portátiles
hasta centros de datos, desde consolas para juegos hasta súper computadoras, desde teléfonos
móviles hasta Internet, Java está en todas partes
La comunidad de programadores Java existente es muy extensa, en torno a los 9 millones en todo el
mundo, y muy activa, lo que genera una gran cantidad de recursos actualizados.
Existe un lenguaje de programación llamado Javascript que se presta a confusión por su similitud
en el nombre con el de Java. A pesar del parecido en el nombre, estamos ante dos lenguajes de
programación totalmente diferente: mientras que Java es un lenguaje orientado a objetos, Javascript
es un lenguaje de programación que se basa en objetos.
Java es un lenguaje de programación de alto rendimiento lo que lo hace ideal para aplicaciones de
procesamiento de datos, por eso, actualmente, con la ciencia de datos y el Big Data, Java no deja
de tomar protagonismo.
Phyton
El creador del lenguaje es un europeo llamado Guido Van Rossum. Hace ya más de una década
que diseño Python, ayudado y motivado por su experiencia en la creación de otro lenguaje
llamado ABC. El objetivo de Guido era cubrir la necesidad de un lenguaje orientado a objetos de
sencillo uso que sirviese para tratar diversas tareas dentro de la programación que habitualmente
se hacía en Unix usando C.
El desarrollo de Python duró varios años, durante los que trabajó en diversas compañías de
Estados Unidos. En el 2000 ya disponía de un producto bastante completo y un equipo de
desarrollo con el que se había asociado incluso en proyectos empresariales. Actualmente trabaja
en Zope, una plataforma de gestión de contenidos y servidor de aplicaciones para el web, por
supuesto, programada por completo en Python.
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, que ayudan a realizar muchas tareas habituales sin necesidad de tener que programarlas
desde cero.
La sencillez y velocidad con la que se crean los programas. Un programa en Python puede tener de
3 a 5 líneas de código menos que su equivalente en Java o C.
La cantidad de plataformas en las que podemos desarrollar, como Unix, Windows, OS/2, Mac,
Amiga y otros.
Propósito general
Se pueden crear todo tipo de programas. No es un lenguaje creado específicamente para la web,
aunque entre sus posibilidades sí se encuentra el desarrollo de páginas.
Multiplataforma
Hay versiones disponibles de Python en muchos sistemas informáticos distintos. Originalmente se
desarrolló para Unix, aunque cualquier sistema es compatible con el lenguaje siempre y cuando
exista un intérprete programado para él.
Interpretado
Quiere decir que no se debe compilar el código antes de su ejecución. En realidad sí que se realiza
una compilación, pero esta se realiza de manera transparente para el programador. En ciertos
casos, cuando se ejecuta por primera vez un código, se producen unos bytecodes que se guardan
en el sistema y que sirven para acelerar la compilación implícita que realiza el intérprete cada vez
que se ejecuta el mismo código.
Interactivo
Python dispone de un intérprete por línea de comandos en el que se pueden introducir sentencias.
Cada sentencia se ejecuta y produce un resultado visible, que puede ayudarnos a entender mejor
el lenguaje y probar los resultados de la ejecución de porciones de código rápidamente.
Orientado a Objetos
La programación orientada a objetos está soportada en Python y ofrece en muchos casos una
manera sencilla de crear programas con componentes reutilizables.
Funciones y librerías
Dispone de muchas funciones incorporadas en el propio lenguaje, para el tratamiento de strings,
números, archivos, etc. Además, existen muchas librerías que podemos importar en los programas
para tratar temas específicos como la programación de ventanas o sistemas en red o cosas tan
interesantes como crear archivos comprimidos en .zip.
PASCAL
Pascal es un Lenguaje de programación desarrollado por el profesor suizo Niklaus
Wirth a finales de los años 60. Su objetivo era crear un lenguaje que facilitara el
aprendizaje de la Programación a sus alumnos. Sin embargo con el tiempo su
utilización excedió el ámbito académico para convertirse en una herramienta para la
creación de aplicaciones de todo tipo.
Características únicas
A diferencia de lenguajes de programación descendientes de Lenguaje de
Programación C, Pascal utiliza el símbolo := para la asignación en vez de =. Si bien el
segundo es más conciso, la práctica ha demostrado que muchos usuarios utilizan el
símbolo de igualdad para comparar valores en lugar del comparador de C que es el
símbolo ==. Esta sintaxis conduce a muchos errores o bugs difíciles de rastrear en
código C. Dado que Pascal no permite asignaciones dentro de expresiones y utiliza
sintaxis distinta para asignaciones y comparaciones, no sufre estos errores.
Además sus programas tienen definidas dos partes: declarativa y ejecutiva. En la
primera debe aparecer todo lo que se usará en la segunda, de lo contrario se detecta
como desconocido y evita ciertas incomprensiones como veremos más adelante. En
la parte declarativa se enuncian Unit existentes, procedimientos, funciones, variables,
constantes y nuevos tipos de datos estructurados.
Otra diferencia importante es que en Pascal, el tipo de una variable se fija en su
definición; la asignación a variables de valores de tipo incompatible no están
autorizadas (en C, en cambio, el compilador hace el mejor esfuerzo para dar una
interpretación a casi todo tipo de asignaciones). Esto previene errores comunes donde
variables son usadas incorrectamente porque el tipo es desconocido; y también evita
la necesidad de Notación húngara, que vienen a ser prefijos que se añaden a los
nombres de las variables y que indican su tipo.
Fortran
es un lenguaje orientado al cálculo numérico, diseñado en sus inicios para las
computadoras IBM y usado en aplicaciones científicas y de ingeniería y es el más
antiguo de los Lenguajes de alto nivel. El FORTRAN desde sus inicios dominó el área
de la programación y se ha mantenido su desarrollo y aplicación por más de 50 años
en distintos segmentos de la ciencia y técnica. El FORTRAN uno de los lenguajes
más usados en la Computación de alto rendimiento, además se utiliza para el
desarrollo de programas que evalúan el desempeño y el posicionamiento de
los Supercomputadores. Este lenguaje fue propiedad absoluta de IBM hasta 1961, al
pasar el tiempo se fue extendiendo a computadoras de otros fabricantes. Al igual que
otros lenguajes de programación, FORTRAN tiene varias versiones, las cuales
añaden mejor funcionalidad al mismo.
El nacimiento de este lenguaje se debe principalmente a John Backus en unión de Richard
Goldberg, Sheldon F. Best, Harlan Herrick, Peter Sheridan, Roy Nutt, Robert Nelson, Irving Ziller,
Lois Haibt y David Sayre, todos ellos de la nómina de IBM, quienes en 1954 presentan el informe
titulado “Preliminary Report, Specifications for the IBM Mathematical FORmula TRANslating
System, FORTRAN.” Debido al avance de la investigación el equipo de Backus anuncia que en 6
meses IBM tendrá el compilador FORTRAN, este hecho tardó 2 años, es en 1956 cuando Backus y
equipo presentan a la directiva de IBM una alternativa al Lenguaje ensamblador para la
computadora IBM 704.
Características
Se caracteriza por su potencia en los cálculos matemáticos, pero esta limitado en las aplicaciones
de gestión, manejo de archivos, tratamiento de cadenas de caracteres y edición de informes. Es un
lenguaje notorio, por la facilidad con que permite expresar una ecuación. FORTRAN fue diseñado
teniendo en cuenta el uso de la Tarjeta perforada de 80 columnas, por lo que el orden de las
instrucciones debía ser secuencial, es decir la programación de los algoritmos era lineal, para
producir cualquier alteración del orden de la lógica, se introduce la instrucción Goto. Debido al
desarrollo de los métodos de programación el FORTRAN también fue evolucionado de versión en
versión, se le han incorporado nuevas funciones, Estructuras de control y Asignación
dinámica de memoria, posee comandos breves para efectuar operaciones matemáticas con
matrices y dispone de tipos, estas mejoras aportan información útil al Compilador. Por estas
razones FORTRAN no es muy usado fuera de los campos de la informática y el análisis numérico,
pero permanece como el lenguaje a escoger para desempeñar tareas de computación numérica de
alto rendimiento.
RUBY
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
El creador del lenguaje, 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
totalmente libre. No sólo gratis, sino también libre para usarlo, copiarlo, modificarlo y distribuirlo.
En Ruby, todo es un objeto. Se le puede asignar propiedades y acciones a toda información y
Código. La programación orientada a objetos llama a las propiedades variables de instancia y las
acciones son conocidas como métodos. La orientación a objetos pura de Ruby se suele demostrar
con un simple código que aplica una acción a un número. Ruby sigue la influencia del
lenguaje Smalltalk pudiendo poner métodos y variables de instancia a todos sus tipos de datos.
Esto facilita el uso de Ruby, porque las reglas que se aplican a los objetos son aplicables a todo
Ruby. Ruby es considerado un lenguaje flexible, ya que permite a sus usuarios alterarlo
libremente. Las partes esenciales de Ruby pueden ser quitadas o redefinidas a placer. Se puede
agregar funcionalidad a partes ya existentes. Ruby intenta no restringir al desarrollador. Los
bloques de Ruby son también vistos como una fuente de gran flexibilidad. El desarrollador puede
anexar una cláusula a cualquier método, describiendo cómo debe actuar. La cláusula es llamada
bloque y se ha convertido en una de las más famosas funcionalidades para los recién llegados a
Ruby que vienen de otros lenguajes imperativos como PHP o Visual Basic. A diferencia de otros
lenguajes de programación orientada a objetos, Ruby se caracteriza por su intencional herencia
simple. Sin embargo, Ruby incorpora el concepto de módulos (llamados categorías en Objective-
C), que son colecciones de métodos. A pesar de que Ruby utiliza la puntuación muy limitadamente
y se prefieren las palabras clave en inglés, se utiliza algo de puntuación para decorar el código.
Ruby no necesita declaraciones de variables. Se utilizan convenciones simples para nombrar y
determinar el alcance de las mismas. Ruby tiene un conjunto de otras funcionalidades entre las
que se encuentran las siguientes:
Funcionalidades
Manejo de excepciones, como Java y Python, para facilitar el manejo de errores.
Un verdadero mark-and-sweep garbage collector para todos los objetos de Ruby. No es necesario
mantener contadores de referencias en bibliotecas externas. Como dice Matz, “Esto es mejor para
tu salud”.
Escribir extensiones en C para Ruby es más fácil que hacer lo mismo para Perl o Python, con una
API muy elegante para utilizar Ruby desde C. Esto incluye llamadas para embeber Ruby en otros
programas, y así usarlo como lenguaje de scripting. También está disponible una interfaz SWIG.
tiene manejo de hilos (threading) independiente del sistema operativo. De esta forma, tienes
soporte multi-hilo en todas las plataformas en las que corre Ruby, sin importar si el sistema
operativo lo soporta o no, ¡incluso en MS-DOS!
Manejo de excepciones
Altamente portable
C#
C# (pronunciado si sharp en inglés) es un lenguaje de programación orientado a objetos
desarrollado y estandarizado por Microsoft como parte de su plataforma.NET, que después fue
aprobado como un estándar por la ECMA e ISO.
Características
Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma.NET
el cual es similar al de Java aunque incluye mejoras derivadas de otros lenguajes
(entre ellos Delphi).
La creación del nombre del lenguaje, C♯, proviene de dibujar dos signos positivos
encima de los dos signos positivos de "C++", queriendo dar una imagen de salto
evolutivo del mismo modo que ocurrió con el paso de C a C++.
C♯, como parte de la plataforma.NET, está normalizado por ECMA desde diciembre
de 2001 (C# Language Specification "Especificación del lenguaje C♯"). El 7 de
noviembre de 2005 salió la versión 2.0 del lenguaje que incluía mejoras tales como
tipos genéricos, métodos anónimos, iteradores, tipos parciales y tipos anulables. El 19
de noviembre de 2007 salió la versión 3.0 de C# destacando entre las mejoras los
tipos implícitos, tipos anónimos y LINQ (Language Integrated Query -consulta
integrada en el lenguaje).
Aunque C♯ forma parte de la plataforma.NET, ésta es una interfaz de programación
de aplicaciones (API); mientras que C♯ es un lenguaje de programación independiente
diseñado para generar programas sobre dicha plataforma. Ya existe
un compilador implementado que provee el marco de DotGNU - Mono que genera
programas para distintas plataformas como Win32, UNIX y Linux.
Basic
BASIC. Es un lenguaje de programación que originalmente fue desarrollado como una
herramienta de enseñanza; se diseminó entre las microcomputadoras hogareñas a
partir de la década de 1980. Actualmente continúa siendo muy popular, en muchos
dialectos bastante distintos del original.
El BASIC es un lenguaje de programación que se creo con fines pedagógicos, era el lenguaje que
utilizan las microcomputadoras de los años 80. Actualmente sigue siendo muy conocido y tienen
muchísimos dialectos muy diferentes al original. Veamos algo de historia del Basic. En los años
1960, las computadoras tenían un valor elevado y se usaban para tareas específicas, eran mono
tarea. Pero luego, permitiendo que algunas empresas pequeñas pudieran permitirse adquirirlas.
Las computadoras mejoraron mucho en velocidad, capacidad de procesamiento de datos y
también lo hicieron los lenguajes. Aparecieron lenguajes como el FORTRAN, el COBOL y el Basic.
Los creadores del BASIC fueron John George Kemeny y Thomas Eugene Kurtz en el año 1964. Fue
inventado para permitir a los estudiantes escribir programas usando terminales de computador de
tiempo compartido. Con el BASIC se quiso hacer un lenguaje de programación mucho más sencillo
que los que existían por aquel entonces. Porque los lenguajes que existían requerían tener
conocimiento específicos en lenguajes más complejos que eran hechos a medida, principalmente
para científicos y matemáticos.
Los principios que originaron la creación del BASIC eran: que fuese fácil de usar por todos, crear un
lenguaje de programación de propósito general, que se le pudiese incorporar características
avanzadas y siguiese siendo de fácil uso para los principiantes, ser interactivo, que los mensajes de
error fuesen claros, que respondiese rápidamente a los programas pequeños, que no fuese
necesario tener conocimiento del hardware de la computadora, y que protegiese al usuario del
sistema operativo. Porque por entonces, los sistemas operativos no eran tan interactivos como lo
son hoy.
Para crear el BASIC, sus autores se basarón en otros dos lenguajes de programación como el
FORTRAN II y el Algol 60, haciéndo que este lenguaje fuese adecuado para el uso del computador a
tiempo compartido y para la aritmética de matrices.
El BASIC es un lenguaje de programación muy amplio, con una sintaxis fácil, estructura sencilla y
un buen conjunto de operadores. No es un lenguaje específico, es polivalente, potente, se
aprende rápidamente, en poco tiempo cualquier usuario es capaz de utilizar casi la totalidad de su
código.
LOGO
Lenguaje de Programación Logo.Lenguaje flexible, extenso, interactivo y capaz de amoldarse a
nuevos enfoques, razón por la cual suele ser el lenguaje de programación preferido para trabajar
con niños y jóvenes.
Características
LOGO fue diseñado en el Instituto Tecnológico de Massachussets (MIT) como un lenguaje de
aprendizaje. Logo es por naturaleza:
Amigable:
Logo es fácilmente comprendido; podemos relacionarnos con la tortuga y usarla como un objeto
con el cual pensar.
Extensible:
A Logo se le pueden enseñar nuevos comandos y otros comandos pueden construir sobre
aquellos.
Compasivo:
Flexible:
Poderoso:
Logo es un lenguaje de programación que provee todas la herramientas necesarias para crear
programas de cualquier nivel de sofisticación. Por lo que es un lenguaje que incentiva que los
estudiantes exploren, que aprendan y que piensen.
COBOL
El lenguaje COBOL.(Acrónimo de COmmon Business -Oriented Language, Lenguaje
Común Orientado a Negocios) fue creado en el año 1960 con el objetivo de crear
un Lenguaje de programación universal que pudiera ser usado en cualquier
ordenador, ya que en los años 1960 existían numerosos modelos de ordenadores
incompatibles entre sí, y que estuviera orientado principalmente a los negocios, es
decir, a la llamada Informática de gestión
Características
COBOL fue dotado de unas excelentes capacidades de autodocumentación
Una buena gestión de archivos y una excelente gestión de los tipos de datos para la
época, a través de la conocida sentencia PICTURE para la definición de campos
estructurados.
Para evitar errores de redondeo en los cálculos que se producen al convertir los
números a binario y que son inaceptables en temas comerciales, COBOL puede
emplear y emplea por defecto números en Base diez.
Para facilitar la creación de programas en COBOL, la sintaxis del mismo fue creada
de forma que fuese parecida al idioma inglés, evitando el uso de símbolos que se
impusieron en lenguajes de programación posteriores.
Pese a esto, a comienzos de los ochenta se fue quedando anticuado respecto a los
nuevos paradigmas de programación y a los lenguajes que los implementaban. En la
revisión de 1985 se solucionó, incorporando a COBOL variables locales, recursividad,
reserva de memoria dinámica y programación estructurada.
En la revisión de 2002 se le añadió orientación a objetos, aunque desde la revisión
de 1974 se podía crear un entorno de trabajo similar a la orientación a objetos, y un
método de generación de pantallas gráficas estandarizado.
Antes de la inclusión de las nuevas características en el estándar oficial, muchos
fabricantes de compiladores las añadían de forma no estándar. Este proceso se está
viendo con la integración de COBOL con Internet. Existen varios compiladores que
permiten emplear COBOL como Lenguaje de scripting y de Servicio web. También
existen compiladores que permiten generar código COBOL para la
plataforma .NET y EJB.
Empleo
Pese a que muchas personas creen que el lenguaje COBOL está en desuso, la
realidad es que casi todos los sistemas que requieren gran capacidad
de Procesamiento por lotes (Batch), tanto las entidades bancarias como otras grandes
empresas con sistemas Mainframes utilizan COBOL.
Esto permite garantizar la compatibilidad de los sistemas antiguos con los más
modernos, así como tener la seguridad de que el lenguaje es perfectamente estable y
probado.
Según un informe de Gartner Group de 2005, el 75% de los datos generados por
negocios son procesados por programas creados en COBOL, y en otro informe
de 1997 estima que el 80% de los 300.000 millones de líneas de código existentes
están creados en COBOL, escribiéndose 5.000 millones de líneas nuevas de COBOL
cada año. Con todo eso, hoy por hoy, la programación en COBOL es uno de los
negocios más rentables del mundo de la informática. En sistemas PC el COBOL ha
caído en desuso, remplazado por sistemas de programación visuale