Nacimiento de la programación moderna: lenguajes de programación de referencia (C, C++, Java, Python y C#) | EL Informático GO Sistemas

Nacimiento de la programación moderna: lenguajes de programación de referencia (C, C++, Java, Python y C#)

El índice TIOBE relativo al ranking de programas más populares y utilizados por programadores, desarrolladores y distribuidores de software recoge como los cinco primeros lenguajes de programación a Java, C, Python, C++ y Cf. En este apartado y con el objeto de que el lector las conozca, se describen las características más notables de cada lenguaje y sus aplicaciones y sectores de mayor impacto.

C:

La creación de C supuso una revolución en el mundo de la programación, como posteriormente supuso Java. Fue un resultado directo de la necesidad de disponer de un lenguaje de alto nivel, estructurado y eficiente que pudiera reemplazar al código ensamblador cuando se necesitaban crear programas del sistema.

Antes de C, los programadores tenían que elegir entre lenguajes clásicos como Cobol, Fortran y Basic posteriormente aparecieron Pascal y Object Pascal. Fortran se utilizaba para escribir programas eficientes para aplicaciones científicas, aunque era complejo de codificar. Cobol era el lenguaje por excelencia para aplicaciones de negocios y empresariales. Basic era un lenguaje fácil de aprender, pero no muy potente, ya que carecía de estructura y no era muy adecuado para realizar programas grandes. Los tres lenguajes no estaban diseñados para programación estructurada. Posteriormente, como hemos comentado, nació Pascal, ya estructurado, fácil de aprender, pero con fallos en un amplio rango de programas.

El lenguaje ensamblador, alternativa a todos ellos, permite la realización de programas más eficientes, pero no es fácil de aprender ni de utilizar con eficiencia; además, la depuración del código ensamblador suele ser bastante difícil.

C fue la evolución lógica para desarrollar un lenguaje de programación estructurado, completo y eficiente. Fue creado por Dennis Ritchie y su primera implementación se ejecutó sobre una computadora DEC PDP-11 con un sistema operativo UNIX. Se desarrolló en la década de 1970 y fue de facto el estándar de programación; su lanza- miento fue la publicación del libro The C Programming Language (Prentice-Hall, 1978) por Brian Kernighan y Dennis Ritchie. C fue formalmente estandarizado en diciembre de 1989 por el American National Standards Institute (ANSI) y adoptado universalmente.

La creación de C está considerada como el principio de la era moderna de los lenguajes de programación de computadoras. El resultado fue un lenguaje potente, eficiente y estructurado que es relativamente fácil de aprender y que hoy, al comienzo de la tercera década del siglo XXI sigue siendo uno de los más utilizados, ya que fue diseña- do pensando en la eficiencia de los programadores. Java, del que posteriormente hablaremos, heredó muchas de esas propiedades.

C++

C era el lenguaje por excelencia en la década de 1980, pero era difícil de gestionar cuando se necesitaban programas complejos. C++ fue la solución apoyándose en técnicas orientadas a objetos que ayudaban a organizar problemas complejos a través del uso de características como encapsulamiento, herencia y polimorfismo ya comentadas anterior- mente, lo que facilitó la resolución de problemas complejos mediante la descomposición en módulos y el concepto de clases.

C++ fue creado por Bjarne Stroustrup que le llamó "lenguaje C con clases". En 1983 cambió el nombre a C++ y le añadió características orientadas a objetos. En 1985, Stroustrup publicó su libro The C++ Programming Language que describía el lenguaje C++. En 1998 fue estandarizado por ANSI, como ANSI C++. En 2012 se publicó el están- dar C++11. En 2014 se lanzó la última versión estándar, la nueva C++ 14 standard. Ambas versiones fueron estandarizas también por la International Organization for Standarization (ISO) y la International Electrotechnical Comission (IEC). C++ es un lenguaje híbrido cuya última versión estables es C++17. 1 de diciembre de 2017 (ISO/IEC 14882-2017). Última versión en pruebas C++20 (2020).

Java:

Las dos características más sobresalientes de Java son: seguridad y portabilidad. La clave para direccionar ambas características es que la salida de un compilador de Java no es código ejecutable, sino bytecode. Bytecode es un conjunto de instrucciones altamente optimizadas diseñadas para ser ejecutadas en la denominada máquina virtual de Java (JVM, Java Virtual Machine). En esencia, el JVM fue creado como "un intérprete de bytecode. Antes de que se pueda compilar y ejecutar un programa Java se debe tener instalado un entorno de programación JDK.

Los orígenes de Java:

Java fue creado por James Gosling, Patrick Naughton, Crist Warth, Ed Frank y Mike Sheridan en Sun Microsystems en 1991. El lenguaje se llamó inicialmente "Oak" y se renombró a Java en 1995. Curiosamente como señalan sus autores su principal motivación no fue Internet, por aquel entonces con la W3 emergente, sino que fue la necesidad de crear un lenguaje independiente de la plataforma que se pudiera utilizar para crear software que se pudiera em- beber en diferentes dispositivos electrónicos de consumo como hornos de microondas, tostadoras o dispositivos con mando a distancia (como los de control de televisión). En aquella época muchos tipos diferentes de CPUs se utilizaban como controladores. El problema era que, en ese momento, la mayoría de los lenguajes de computadoras estaban diseñados para compilarse en un código máquina destinado a un tipo específico de CPU, por ejemplo, Cy C++. Sin embargo, a medida que avanzaba la evolución de Java, Internet y la Web jugaron un rol crucial en Java. Java estuvo influenciado por C y C++. Java heredó su sintaxis principalmente de C, y de C++ su modelo de objetos. La relación de Java con C y C++, como señala Schildt (2019, p. 15) es importante por numerosas razones: 

  • 1. La creación de Java: muchos programadores estaban familiarizados con la sintaxis de C/C++.
  • 2. Los diseñadores de Java no querían "reinventar la rueda", ya que la evolución de la programación moderna comenzó con C, se movió a C++ y luego a Java.
  • 3. Java no es una versión mejorada de C++ ni fue creado para reemplazarlo. Java fue diseñado para resolver un determinado número de problemas y no pensando en Internet ni en C++.

Internet ayudó a catapultar Java en programación y, a su vez, Java tuvo un profundo efecto en internet, ya que di- rigió a muchos programadores a la Web. Asimismo, Java innovó un nuevo tipo de programa en red llamado applet que cambió el mundo online y sus contenidos. Por último, Java potenció temas asociados a Internet, especialmente portabilidad y seguridad.

Un applet de Java es un tipo especial de programa (Schildt, p. 16) Java que se diseña para ser transmitido por Internet y ejecutado automáticamente en el interior de un navegador web compatible con Java. Si el usuario hace clic en un enlace que contiene un applet, éste se descargará y ejecutará en el navegador automáticamente. Los applets fueron concebidos como pequeños programas, normalmente utilizados para visualizar datos proporcionados por el servidor, manejar la entrada del usuario o proporcionar funciones sencillas tales como un calculador de préstamos (loan calculator). La característica clave de los applets es que se ejecutan localmente en lugar de en el servidor. En esencia, los applets permitían que alguna funcionalidad se moviera del servidor al lado del cliente.

Java 8 apareció en 2014, Oracle lanza la nueva versión JDK 9. Java 11 inicia una nueva era en las licencias de uso. Hasta ahora se podía descargar y programar con el kit de Desarrollo de Java oficial de Oracle y luego poner la aplicación en producción y distribuirla sin tener que pagar por ello. Java 11 se puede seguir desarrollando pero habrá que pagar una licencia a Oracle si se desea utilizar para poner aplicaciones en producción: 2.5 dólares al mes por cada usuario de escritorio y 2.5 dólares al mes por procesador en caso de aplicación de servidor. JDK con Java ya no es gratuita (OpenJDK). Se debe pagar una licencia mensual por usuario o por procesador si se quiere usar en producción. En marzo de 2019 se presentó la versión Java 12 y en septiembre de 2019, la versión Java 13.

Python

Python Surgió a principio de los 90, desarrollado inicialmente por Guido van Rossum, ingeniero holandés del CWI de Ams- terdam (Centro de Investigación en Ciencias de la Computación de Holanda), y presentado en diciembre de 1989. Su nombre Python, cuenta su historia, proviene del famoso grupo cómico británico Monty Python del que Guido era un gran fan. Python nació como un proyecto de software libre y hoy está gestionado por la Python Software Foundation. Está licenciado bajo PSFL, derivada de BSD, y compatible con GPL.

Es un lenguaje más fácil de aprender que los lenguajes de programación populares como C, C++, Java y C#. Es más fácil de leer que otros lenguajes de programación y muy utilizado en el sector de educación.

Python es un lenguaje de programación interpretado cuya filosofía es hacer resaltar una situación que favorezca la lectura de dicho código. Un lenguaje interpretado necesita de un programa intérprete que realice la traducción a medida que sea necesario, normalmente, instrucción a instrucción y generalmente no guardan el resultado de dicha traducción. Python es un lenguaje multiparadigma, es decir, soporta diferentes tipos de estructuración: programación orientada a objetos, imperativa-procedimental y en menor medida funcional. Además, es multiplataforma y usa un tipado dinámico, es decir, una variable puede cambiar su tipo de valor a lo largo de un programa.

Es un lenguaje muy demandado y la demanda de empleo de profesionales expertos en programación de Python es muy grande. Python es un lenguaje de programación muy utilizado para desarrollo de aplicaciones en Big Data, en ciencia de datos (data science), inteligencia artificial (desarrollo de algoritmos en aprendizaje automático machine learning y aprendizaje profundo deep learning) y en Internet de las Cosas.

Python 1.0 se lanzó en 1994, Python 2.0 en 2000 y Python 3.0 en 2008. La versión de Python 3.7.2 se lanzó el 24 de diciembre de 2018. El 18 de diciembre de 2019 se lanzó la última versión estable, Phyton 3.8.1.

Características destacadas

• De código abierto (open source), libre y ampliamente disponible con una comunidad masiva de programadores y desarrolladores. Existen numerosas aplicaciones de Python gratuitas y de código abierto.

• Multiparadigma (orientado a objetos, estructurado y funcional).

• Multiplataforma (originalmente se desarrolló en Unix); es compatible con cualquier sistema operativo que integre un intérprete programado.

• Interpretado (o de script) utiliza un intérprete. El código fuente se traduce a un pseudocódigo máquina intermedio llamado bytecode, la primera vez que se ejecuta, genera archivos .pyc o .pyv que son ejecutables. Los len- guajes interpretados son más flexibles y portables frente a los compilados que, por el contrario, tienen una ejecución más rápida.

• Interactivo. Dispone de un intérprete por la línea de comandos en el que se pueden introducir sentencias. Cada sentencia se ejecuta y produce un resultado visible que facilita la interpretación y probar los resultados de la ejecución rápidamente.

• Funciones y librería. Dispone de muchas funciones incorporadas en el propio lenguaje, para el tratamiento de cadenas de texto, números, archivos, etcétera. Además, existen muchas librerías de las que se pueden importar a un programa, incluso crear archivos comprimidos .zip.


• Sintaxis clara y legible. Es una sintaxis visual gracias a una notación indentada (con sangrado de texto mediante tabulación o espacios) de obligado cumplimiento. En lugar de palabras reservadas como begin-end, llaves se utilizan los espacios en Python para separar las porciones de código. Se debe tabular hacia dentro colocando un margen al código que iría dentro de una función o bucle. Esta característica facilita que todos los programa- dores adopten unas mismas notaciones y que los programas tengan aspectos similares.

• Desarrollo web. Muy popular en el desarrollo web (aplicaciones como Django, Dropbox, YouTube, Reddit, Instagram, Quora, Netflix utilizan Python).

C#

Unos años después de la creación de Java, Microsoft desarrolló el lenguaje C#, combinando propiedades de C++ y de Java, especialmente. De hecho, muchas características de C# descienden directamente de Java y ambos soportan propiedades de C++, en particular las propiedades de objetos y distribuidos. El aprendizaje de C# es relativamente fácil caso de conocer Java.


QR De este contenido:

Publicar un comentario

Tema Anterior Tema Siguiente