Tema 2. La programación y sus lenguajes
Tema 2. La programación y sus lenguajes
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
Publicar un comentario