Tema 2. La programación y sus lenguajes

Tema 2. La programación y sus lenguajes

     IÑIGO MARTÍNEZ RODRÍGUEZ, GUILLERMO GARCÍA YAVARONE, MARÍA MEILAI SÁNCHEZ DEL REY



Los lenguajes de programación en el modelo de Ingeniería y Software:

El Software implica la documentación necesaria para la instalación, el uso y el mantenimiento de una aplicación o producto.

La Ingeniería de Software es la producción de sistemas de software desarrollados por grupos o individuos. Esta sirve como base para la producción de software de calidad, que se logra definiendo el proceso del software. La Ingeniería de Software utiliza diversos principios de ingeniería para el desarrollo de los sistemas e incluye aspectos técnicos y no-técnicos. También implica el tener que seguir una metodología de desarrollo en cualquier proyecto de software y utilizar distintas técnicas y herramientas.

Los diferentes procedimientos a seguir en cualquier proyecto de Ingeniería de software son:

-Definición de requerimientos

-Análisis

-Diseño

-Implementación

-Pruebas

-Mantenimiento

Una aplicación no sólo es código, es todo lo producido durante el proceso por el cual se desarrolla el software. El proceso de desarrollo software es la manera en que los requerimientos son trasladados en productos software. La calidad es la totalidad de características de un producto o servicio que se refieren a su habilidad para satisfacer necesidades establecidas o implicadas. 

Un software es funcional si se comporta de acuerdo a las especificaciones de las funciones que debe proveer. El software es confiable si el usuario puede depender de él.

Hay distintos conceptos sobre el software a tomar en cuenta como la usabilidad, la robustez, la eficiencia, la reusabilidad, los análisis de factibilidad, la planificación, las herramientas, los requerimientos, la arquitectura y diseño, pruebas, etc...

Existen varios modelos del ciclo de vida del software:

-Modelo de Cascada: Separar en distintas fases de especificación y desarrollo.

-Desarrollo Evolutivo: La especificación y el desarrollo están intercalados.

-Prototipado: Un modelo sirve de prototipo para la construcción del sistema final.

-Transformación Formal: Un modelo matemático del sistema se transforma formalmente en la implementación.

-Desarrollo basada en Reutilización: El sistema es ensamblado a partir de componentes existentes.


Origen e historia:

La programación es una disciplina que ha evolucionado a lo largo de varias décadas, desde su origen en los primeros lenguajes de programación hasta los modernos sistemas de desarrollo de software. 

El origen de la programación se remonta a la década de 1800, cuando el matemático Charles Babbage ideó una máquina analítica que podía realizar cálculos matemáticos complejos.

Sin embargo, la primera persona en escribir un programa de computadora fue Ada Lovelace, hija del poeta Lord Byron, quien colaboró con Babbage en la creación de su máquina analítica y desarrolló el primer algoritmo destinado a ser procesado por una máquina. Este logro la convierte en la primera programadora de la historia.

En la década de 1940, las primeras computadoras electrónicas comenzaron a aparecer, y con ellas surgieron los primeros lenguajes de programación. Uno de los primeros fue el lenguaje de programación binario, que se utilizaba para programar las primeras computadoras electrónicas de la época.

En la década de 1950, se desarrolló el primer lenguaje de programación de alto nivel, llamado FORTRAN. Este permitía a los programadores escribir programas en un lenguaje más cercano al inglés

En la década de 1960, se desarrolló el lenguaje de programación COBOL, que se convirtió en el estándar para aplicaciones empresariales y gubernamentales. Además, en esta época surgieron los primeros sistemas operativos y bases de datos.

En la década de 1970, se desarrollaron lenguajes de programación orientados a objetos, como C++ y Smalltalk, que permitían a los programadores crear programas más complejos y modulares. También se creó el lenguaje de programación BASIC, que se convirtió en uno de los lenguajes de programación más populares de la época.

En la década de 1980, surgieron los primeros sistemas de desarrollo de software, como Visual Basic y Delphi, que permitían a los programadores crear aplicaciones de manera más rápida y eficiente. También se creó el lenguaje de programación Python.

En la década de 1990, surgieron los lenguajes de programación web, como HTML, CSS y JavaScript, que permitían a los programadores crear sitios web interactivos y dinámicos. Además, se desarrollaron los primeros entornos de desarrollo integrados (IDE), como Eclipse y Visual Studio, que permitían a los programadores escribir y depurar código de manera más eficiente.

En la actualidad, la programación sigue evolucionando rápidamente, con nuevos lenguajes de programación, frameworks y herramientas de desarrollo que surgen constantemente. La programación se ha convertido en una habilidad esencial en el mundo digital actual y ha abierto nuevas oportunidades para la creación de aplicaciones, sitios web y tecnologías innovadoras.


Elementos básicos:

En la programación orientada a datos, contamos con 5 elementos en un programa: La cabecera, donde se situará el nombre del programa y los parámetros de llamada; la declaración de tipos, de constantes y variables, la declaración y cuerpo de Módulos (procedimientos y funciones) y por último el cuerpo principal del programa, donde se llama a los módulos y a las librerías.

Contamos con tipos de datos simples, al declarar un numero real (inter), una cadena de caracteres (char), un booleano, o un puntero.

También con tipos de datos compuestos, como son las tablas (arrays o vectores)  y los registros, donde se almacenan datos.

Contamos también con estructuras de control, algunas repetitivas (bucles for, while…), otras selectivas (if, else…).

Además, podemos crear funciones dentro del programa, que es un bucle de código que realiza alguna operación.

 

Lenguajes de programación para internet:

Existe una diferencia entre el modelo “tradicional” de interpretación de programas y el modelo “internet”.

En el modelo TRADICIONAL, esta interpretación consta de tres partes: Aplicación de usuario (compilador, como Word, Excel…), Sistema Operativo (como Windows, Linux, Unix…) y Hardware (dispositivo, como PC, Sun…).

En la aplicación de usuario, nos encontramos con 3 partes:

-          El código fuente: Archivo que contiene las instrucciones necesarias escritas en un lenguaje de programación para posteriormente compilar uno o varios programas.

-          El código objeto (independiente de la máquina): Conjunto de instrucciones y datos escritos en lenguaje que entiende el ordenador directamente. Resulta de la compilación del código fuente.

-          El ejecutable (que es dependiente de la máquina).

En el modelo INTERNET, a pesar de contar con las mismas partes, el Sistema Operativo y el Hardware son desconocidos, ya que al poder obtenerlo cualquier persona en cualquier parte del mundo y en cualquier momento, debe poder acceder a ese código o programa, independientemente de lo anterior mencionado.

Esto con algunas restricciones, ya que el código será intermedio y válido para cualquier máquina (hardware), por tanto no será tan concreto como en el modelo tradicional. De hecho, el usuario deberá crear su propio ejecutable para su propia máquina en concreto.

Internet hace esto más fácil, ya que el usuario hace una petición en su aplicación de usuario, y al entrar en el servidor (internet), este saca datos de salida como respuesta.

 

Existen distintos tipos de lenguajes de programación, cada uno orientado dependiendo de su finalidad. Aunque en la actualidad existen versiones orientadas a objetos de casi todos los lenguajes en uso.

En el lenguaje orientado a objetos, los datos en sí son objetos, incluso los procesos pueden considerarse objetos, ya que en sí, la palabra objeto representa un ente con atributos, acciones o mensajes. Esta programación, pretende que los programadores se dividan en: Productores de clases y Consumidores de clases.

Una clase es un grupo de objetos con características comunes, osea los atributos comunes de un grupo de objetos. Se estructuran en niveles jerárquicos, cada vez más específicos que el anterior y más genérico que el siguiente. Se utiliza la herencia como mecanismo por el cual una clase permite heredar las características de otra clase.

Algunas definiciones sobre el lenguaje O.O:

-          Abstracción: capacidad de referirse a objetos teniendo en cuenta únicamente algunas de sus características comunes con otros objetos.

-           Especialización: es la definición, en una clase, de características no compartidas con clases superiores a ella en la jerarquía.

-          Encapsulación: es la capacidad de ocultar algunas características de los objetos, a los que solamente podrán acceder ellos mismos u otros objetos de la clase.

-          Agregación o uso: un objeto simple puede tener como atributo otros objetos; decimos en este caso que un objeto “usa” otros objetos.

 

SGML: Es un lenguaje estándar para la descripción de documentos independientemente del dispositivo. Actúa como metalenguaje para la definición de otros lenguajes (ejemplo: HTML).

Un documento en HTML se basa en etiquetas que definen qué datos van a ser representados y la forma en que estos se van a representar. A esto se denomina “Lenguajes de marcado”.

Una página dinámica es cuando se implementa alguna funcionalidad o interactividad, estas son muy dependientes del sistema donde se están ejecutando, lo que se convierte en desventaja, ya que lo que funciona en un navegador puede no funcionar en otro. Se necesitan otros lenguajes a parte de HTML.

-          Una página dinámica es de cliente cuando se procesan en él y su uso típico es para efectos especiales, control de ventanas, formularios… Estas páginas se escriben en dos lenguajes de programación principalmente: Javascript y VBScript, además del código necesario en HTML.

-          Una página dinámica de servidor es útil para crear todo tipo de aplicaciones web, sobre todo su máxima utilidad es en trabajos donde se necesita acceder a una base de datos en el servidor, y por razones de seguridad esta información no se debe ver en el ordenador del usuario (acceder a recursos externos al cliente). Suelen escribirse mezclando con el código HTML lenguajes como CGI, escritos en Perl o C, ASP, PHP y JSP. La ventaja de esta programación es que el cliente no puede ver los scripts, y son independientes del navegador del usuario. Se necesita un servidor más potente que el necesario para las páginas de cliente.

 

En resumen, existen infinidad de lenguajes de programación, cada uno orientado a algo en específico, algunos son compatibles, otros no, otros son tan simples como para ser un lenguaje base del que después se desarrollará más código desde otros lenguajes o extensibles...


Referencias:

https://www.epitech-it.es/cuantos-lenguajes-existen/

https://www.ironhack.com/mx/es/blog/los-10-lenguajes-de-programacion-mas-demandados-en-2022

https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/lenguajes-de-programacion-web/

Comentarios

Entradas populares