13 minute read

Historia y origen de los lenguajes de programación

❖2009:Go,deGoogle

Se trata, nada más y nada menos, que el lenguaje de programación creado por Google. 2009,Go,deGoogle.Seinspiraen C,peroesmáscomplejo.Sigamos descubriendo más lenguajes que formanpartedelaevolucióndelos lenguajesdeprogramación.

Advertisement

❖2014.Swift

DesarrolladoporApplecomo reemplazo de C, C++ y ObjectiveC,Swiftsedesarrollóconelobjeto desermássimplequelosidiomas anteriormente mencionados y permitirmenosmargendeerror.

La versatilidad de Swift supone que se puede utilizar para aplicaciones de escritorio, móviles yenla nube. La aplicaciónjefa en lenguajes ‘Duolingo’ arrojó una totalmente nueva aplicación redactada en Swift.Swift – historia deloslenguajesdeprogramación

❖2012.KOTLIN

Hoy en día, este es uno de los lenguajes de programación de moda, no porque sea el más sencillo, sino que Google lo ha señalado como el lenguaje de programaciónóptimoparaAndroid.

Los tipos de lenguajes de programación se pueden clasificar principalmente como lenguajes de programación de bajo y alto nivel. Aunque son simples en comparación con los lenguajes humanos, los lenguajes de alto nivelsonmáscomplejosquelosde bajo nivel. Al mismo tiempo, un lenguaje de alto nivel ofrece más legibilidad en comparación con su contraparte de bajo nivel, cuya interpretación necesita un conocimiento especializado en arquitecturainformática

Lenguajesdealtonivel

Los lenguajes de alto nivel son aquellos que tiene un alto grado de abstracción y están orientados «al programador»; por tanto, su finalidad es ser más comprensiblesparafacilitarsuuso partedelosdesarrolladores.

Su objetivo es el de simplificar el trabajo del programador, al utilizar instrucciones más sencillas de comprender. Entre este tipo de lenguaje pueden encontrarse los siguientes:traductorycompilador.

Lenguajesdebajonivel

Los lenguajes de bajo nivel coincidencon el lenguajemáquina y presentan un grado de abstracción escaso o nulo. Por tanto, están orientados «a la máquina» y su finalidad es ser directamente ejecutables por el procesador.

Entre este tipo se puede encontrar los siguientes: el lenguajedemáquinasyellenguaje ensamblador.

LENGUAJE DE MÁQUINA.

(LenguajedebajoNivel)

Definición

Ellenguajemáquinaocódigo máquina;esungrupodedatosque conforman la parte física de la computadora,enotraspalabras,el hardware, y que hacen posible el entender e interpretar los códigos binarios que se encuentran entre losvalores 0 y 1 paraluegoformar cadenas de información y completarunainstrucción

Como las computadoras digitales no pueden entender el mismo idioma que los seres humanoshablan,enlugardeesto, estas máquinas utilizan un tipo de lenguaje binario al cual se le conocecon el nombre delenguaje de máquina, el cual encierra una secuenciadeinstruccionessimples pueden ser expresadas por medio de una serie de dígitos binarios o bits.

Se puede decir que; el lenguaje máquina es el lenguaje elemental que poseen todos los ordenadores y es un conjunto de instrucciones codificadas, un sistema de códigos que puede ser interpretado por circuitos micro programables que además se encargandedeterminarcuálesson las acciones que deben de ser completadas o realizadas por una máquinaocomputadora.

Características

Las características que forman parteyquerepresentanallenguaje máquinasonlassiguientes:

✱ Es conocido también con el nombredecódigodemáquina.

✱ Es leído por medio de la unidad central de procesamiento o CPU delordenador.

✱ Se encuentra compuesto por números binarios digitales que forman una larga secuencia de cerosyunos.

✱ Resultaserelúnicolenguajeque puede ser leído y entendido por el hardwaredeunordenador.

✱ Seinterpretadeformadirectaen elmicroprocesador.

✱ Parafuncionar,utilizaelalfabeto binario, el cual solamente consta dedosnúmeros,el0yel1.

✱ A losnúmerosqueformanparte delalfabetoselesconocetambién conelnombredebits.

✱ Estácompuestodeuna seriede instrucciones sencillas que dependen de la estructura del procesadorparaespecificardatos.

✱ No puede ser descifrada por el serhumano. ConformacióndeInstrucciones

En el lenguaje de máquina nos encontramos con las instrucciones,quesonlasórdenes que se utilizan para que un hardware realice una acción determinada. Cuando varias de estas instrucciones se juntan se procede a la creación del lenguaje propiamente dicho, el cual está formado por combinaciones de ceros y unos en relación lógica dentro de cada caso. En el momento en el cual estas instrucciones se representan en unacadenaseproduceunproceso de funcionamiento que ayuda a que la máquina, dentro de la arquitectura propia de la misma, realice la tarea que hubiera sido programada utiliza el lenguaje de máquina se mencionanacontinuación:

La combinación de unos y ceros hace referencia al alfabeto binario,queestáformadaporestos caracteres y que acaban formándose en distintos baremos de voltaje para representar los procesos.

Cuando esta combinación de númerosterminadeprepararseen una instrucción que llegará al microprocesador, se tendrá que darfinalalaoperaciónporpartede un proceso denominado como compilación. De esta forma se reuniránlosdatosyselespodráun “envoltorio” digital que los llevará hasta la máquina para que esta puedaprocederalaejecución.

Enel momentoen el que las instrucciones llegan al ordenador se pueden apreciar dos partes fundamentales: la operación y el comando.Estoesloquederivaen queelequipoinformáticosepacuál es la instrucción que se le ha proporcionadoycómoeslafunción que tendrá que poner en acción. Estos datos permitirán que el sistema pueda saber dónde consultar para poner en marcha el proceso o el lugar en el cual procederconelalmacenadodelos datos.Yapartirdeaquísolohabrá que esperar; aunque el tiempo dependerá de cada proceso, dado que puede haber más o menos comandos dependiendo de cada caso.

✯ Brinda la capacidad de poder transferir programas hacia la memoria sin que éstos deban de sertraducidosposteriormente.

✯ Hace que la velocidad de las aplicaciones de ejecución sea superiora otrostipos delenguajes deprogramación.

Desventajas

Algunasdesusdesventajasson:

✔ Tieneciertogradodedificultad.

✔ Esunpocolentoentérminosde codificación.

✔ Brindapocafiabilidadpuestiene problemas para poder verificar y colocar los puntos en los programas.

Esimportantemencionarque hoy en día, son más sus desventajas, por lo que ha dejado de utilizarse el lenguaje de máquina.

Ventajas

Las principales ventajas que pueden ser obtenidas cuando se

Lenguaje De Ensamble

Definición

Un lenguaje ensamblador también llamado lenguaje de ensamble; es un lenguaje de programación de bajo nivel utilizado para manipular las instrucciones internas de un dispositivo.

El lenguaje ensamblador o assembler (en inglés: assembler language y la abreviación asm) es un lenguaje de programación que se usa en los microprocesadores. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura de procesador y constituye la representación más directa del código máquina específico para cadaarquitecturalegibleporun programador. Esta representación es usualmente definida por el fabricante de hardware, y está basada en los mnemónicos que simbolizan los pasos de procesamiento (las instrucciones), los registros del procesador, las posiciones de memoria, y otras característicasdellenguaje.

Características

✱ El código escrito en lenguaje ensamblador posee una cierta dificultad de ser entendido directamenteporunserhumanoya que su estructura se acerca más bienallenguajemáquina,esdecir, lenguajedebajonivel.

✱ El lenguaje ensamblador es difícilmente portable, es decir, un código escrito para un Microprocesador, suele necesitar ser modificado, muchas veces en su totalidad para poder ser usado enotramáquinadistinta,aunconel mismo Microprocesador, sólo pueden ser reutilizados secciones especialesdelcódigoprogramado.

✱ Los programas hechos en lenguaje ensamblador, al ser programado directamente sobre Hardware, son generalmente más rápidos y consumen menos recursos del sistema (memoria RAM y ROM). Al programar cuidadosamente en lenguaje ensamblador se pueden crear programas que se ejecutan más rápidamente y ocupan menos espacio que con lenguajes de alto nivel.

✱ Conel lenguajeensambladorse tieneuncontrolmuyprecisodelas tareas realizadas por un Microprocesador por lo que se puedencrearsegmentosdecódigo difíciles de programar en un lenguajedealtonivel.

✱ También se puede controlar el tiempoenquetardaunaRutinaen ejecutarse, e impedir que se interrumpadurantesuejecución.

✱ El lenguaje ensamblador es un código estructurado y gravitatorio desarrollado sobre un archivo de programación (.ASM), en el cual pueden existir varios programas, macros o rutinas que pueden ser llamadosentresí.

ConformacióndeInstrucciones

En el lenguaje ensamblador, cada instrucción representa una operación específica que la computadorapuederealizar,como sumar o restar números, mover datos de un lugar a otro o realizar operaciones de entrada y salida. Estas instrucciones se escriben utilizando una sintaxis específica que es fácilmente comprensible para los programadores y que se traduce directamente a código de máquina.

Lasinstruccionesonemónicoscon las que cuenta el lenguaje ensamblador se encuentran clasificadas de acuerdo con su función en instrucciones de transferencia, aritméticas, saltos, lógicasymisceláneas.

Instruccionesdetransferencia: permiten el movimiento, carga y descargadelosregistros.

operacioneslógicas,generalmente utilizanunsolooperador.

Instrucciones aritméticas: encargadasdelaaplicacióndelas pocasoperacionesaritméticasque contieneellenguaje.

Instrucciones de salto: se caracterizan porque el operador contieneunadireccióndememoria en la cual debe continuar la ejecución en el caso que la instrucciónasílodetermine.

Instrucciones lógicas: encargadasdelaaplicacióndelas

Instruccionesmisceláneas: este pequeñoconjuntodeinstrucciones consta de la instrucción para finalización del programa, la instrucción para el llamado a subrutinas de interrupción y la instrucción para leer una dirección efectiva.

ProcesodeEnsamble.

El proceso ensamblador utiliza nemotécnicos para la representacióndeinstruccionesen el código fuente, las cuales corresponden con un código en el lenguaje de máquina. De esta forma el ensamblador traduce los programas del código fuente al código objeto para permitir la ejecucióndelprocesador.

En el caso de los lenguajes de alto nivel, el compilador tiene una función similar y es traducir las instrucciones escritas en el editor de texto al lenguaje de máquina correspondiente.

Elcódigofuentequecontienelas instrucciones nemotécnicamente escritas de acuerdo con las reglas sintácticas y puede ser escrito en cualquier editor de texto. El programa DEBUG incorpora un pequeño editor de líneas utilizado conestefinparagenerarelcódigo objeto.

Elarchivoejecutablefinalpuede tener las extensiones .exe o .com, archivo ejecutable si se han determinado los segmentos de datos, código, pila y extra produciendouncódigofuentebien estructurado.El programaDEBUG y cualquiera de los macroensambladores también puedenproducircódigofuente comoarchivos.comquesibienes cierto también es de tipo ejecutable, se encuentran poco estructurados, por esto también son llamados archivos de comando.

Ventajas

El lenguaje ensamblador, a pesar de ser un lenguaje de programación de bajo nivel, presentaunaseriedeventajasque lo hacen útil en determinadas situaciones. Algunas de estas ventajasson:

✯. Control de bajo nivel: El lenguaje ensamblador permite al programador tener un control preciso sobre el hardware de la computadora, ya que las instrucciones se ejecutan directamenteenlaCPU.

✯Eficiencia: El código ensamblador es muy eficiente y rápido, ya que no hay capas de abstracción que ralenticen la ejecución del programa Esto hace que el lenguaje ensamblador sea ideal para programar aplicaciones que requieren un alto rendimiento como juegos o sistemas operativos.

✯ Tamaño del programa: El código ensamblador es muy compacto, ya que no tiene capas de abstracción que aumenten el tamaño del programa. Esto hace que los programas escritos en lenguajeensambladorseanmucho más pequeños que los escritos en lenguajesde programacióndealto nivel, lo que puede ser útil en sistemas con limitaciones de memoriaoespacioendisco.

✯ Acceso directo alosregistros y memoria: El lenguaje ensamblador permite acceder directament.e a los registros de la CPUyalamemoria,loquelohace útil para programar dispositivos de hardware y controladores de dispositivos

✯ Capacidad de depuración: Al trabajar con un lenguaje de bajo nivel, el programador puede detectar y solucionar problemas con mayor facilidad y precisión. Esto es especialmente útil cuando se depuran problemas en código críticoocuandosebuscanerrores enelhardwaredelsistema.

Desventajas

✔ Tiempo de programación, como es un lenguaje de bajo nivel requieremásinstruccionespara realizarelmismoproceso.Porotro lado, requiere más cuidado del programador, pues es propenso a queloserroresdelógicasereflejen enlaejecución.

✔ No existe una sintaxis estandarizada.

✔ Programas fuentes grandes, simplemente requerimos más instrucciones primitivas para describir procesos equivalentes. Esto es una desventaja porque dificulta el mantenimiento de los programas, y nuevamente reduce la productividad de los programadores.

✔ Peligro de afectar recursos inesperadamente. Que todo error que podamos cometer o todo riesgo que podamos tener, puede afectarlosrecursosdelamáquina.

✔ Falta de portabilidad, porque para cada máquina existe un lenguajeensamblador.

Definición

Unlenguajedeprogramación de alto nivel o de segunda generación; también denominado high-level lenguaje en el idioma inglés; es aquel que utiliza un lenguajemáscercanoalhumanoy que necesita de un intérprete o compilador paratraducir el código; de manera que, pueda ser comprendidoporlamáquina.

Conunlenguajedealtonivel un programador puede escribir código utilizando expresiones muy similaresallenguajenatural.

Los lenguajes de alto nivel permiten al programador escribir programas (algoritmos) que son másomenosindependientesdeun tipoparticulardecomputadora(del hardware). Están dirigidos a solucionar problemas mediante el uso de EDD’s. EDD’s son las abreviaturas de Estructuras Dinámicas de Datos, algo muy utilizadoentodosloslenguajesde programación.Sonestructurasque pueden cambiar de tamaño durantelaejecucióndelprograma. Nos permiten crear estructuras de datos que se adapten a las necesidades reales de un programa.

Entre algunos lenguajes de alto nivel; se pueden mencionar los siguientes:

• BASIC

• FORTRAN

• Java

•PYTHON

•php

• VB.NET

• Erlang

• Ada

• ALGOL

• BASIC

• CSharp

•C++ Características

✱ No gestiona registros básicos, sino que maneja variables y matricesdiversas.

✱ Utiliza objetos complejos y expresionesdeltipobooleanas.

✱ Representa las acciones por medio de subrutinas y funciones diversas.

✱ Utilizabucles,hilosycierrespara complementarlasinstrucciones.

✱ Es un lenguaje abstracto que tiene ciertos denominadores comunes.

✱ No es entendido por usuarios comunes

CompiladoreseIntérpretes

Los lenguajes de alto nivel son aquellos que utilizan el lenguaje natural para realizar programas y, por tanto; necesitan otro programa para generar el código máquina ya que el ordenador no los entiende directamente. Este programa puedeser:

Compiladores

Un compilador es un programa informático que traduce todo el código fuente de un proyecto de software a código máquina antes de ejecutarlo. Solo entonces el procesador ejecuta el software, obteniendo todas las instrucciones en código máquina antes de comenzar. De esta manera, el procesador cuenta con todosloscomponentesnecesarios paraejecutarelsoftware,procesar las entradas y generar los resultados. No obstante, en muchos casos, durante el proceso decompilacióntienelugarunpaso intermedio fundamental: antes de generar la traducción final en código máquina, lamayoría de los compiladores suelen convertir el código fuente en un código intermedio (también llamado código objeto) que, a menudo, es compatible con diversas plataformas y que, además, tambiénpuedeserutilizadoporun intérprete.

Al producir el código, el compilador determina qué instrucciones van a enviarse al procesador y en qué orden. Si las instrucciones no son interdependientes, incluso es posiblequepuedanprocesarseen paralelo.

EjemplosdeCompiladores

Ejemplos de lenguaje compilado son:Haskell,C,C++,Cobol,Basic, Algol,BasicyPascaletc.

Intérpretes

Unintérpreteesunprograma informático que procesa el código fuente de un proyecto de software durantesutiempodeejecución,es decir, mientras el software se está ejecutando, y actúa como una interfaz entre ese proyecto y el procesador. Un intérprete siempre procesa el código líneo por línea, demodoquelee,analizayprepara cada secuencia de forma consecutivaparaelprocesador.

Este principio también se aplica a las secuencias recurrentes, que se ejecutan de nuevo cada vez que vuelven a aparecerenelcódigo.

Para procesar el código fuente del software,elintérpreterecurreasus propias bibliotecas internas: en cuanto una línea de código fuente se ha traducido a los correspondientes comandos legiblespormáquina,estaseenvía directamentealprocesador.

El proceso de conversión no finaliza hasta que se ha interpretadotodoelcódigo.Solose interrumpe prematuramente si se produce un fallo durante el procesamiento, lo que simplifica mucholaresolucióndeloserrores, ya que la línea de código problemática se detecta inmediatamentedespuésdeocurrir elfallo.

EjemplosdeIntérpretes

BASIC, Perl, Python, Ruby y PHP son algunos de los lenguajes de programación más famosos que dependendeunintérpreteparaser traducidos de código fuente a códigomáquina.

DiferenciasentreCompiladore Intérprete

Ventajas y Desventajas de un CompiladoreIntérprete

VentajasdelLenguajedeAlto Nivel Las ventajas relacionadas al lenguaje de alto nivel son las siguientes:

✯ En comparación con otros lenguajes, el tiempo de formación del programador es relativamente corto.

✯ La programación se basa en reglas sintácticas similares al lenguajehumano.

✯ Nombre del comando, como READ, WRITE, PRINT, OPEN, entreotros.

✯ La modificación y el ajuste de programassonmásfáciles.

✯ Reducirloscostosdelprograma Transportabilidad.

DesventajasdelLenguajede AltoNivel Las desventajas relacionadas al lenguaje de alto nivel son los siguientes:

✔ El tiempo de configuración aumenta porque se requieren diferentes traducciones del programa fuente, para obtener el programafinal.

✔ Los recursos internos de la máquinanoseutilizanyseutilizan mejor en lenguaje máquina y ensamblador.

✔ Mayor huella de memoria. El tiempo de ejecución del programa esmayor.

Definición

Loslenguajesde programaciónde cuarta generación (4GL) son lenguajes de alto nivel diseñados para facilitar el desarrollo de aplicacionesdesoftwarecomplejas

Estos lenguajes se caracterizan porsuenfoqueenlaproductividad y la abstracción, lo que permite a los programadores escribir código de manera más rápida y eficiente. Los lenguajes de cuarta generación se usan comúnmente en la programación de bases de datos y los ejemplos de scripts incluyen Unix Shell, Perl, PHP, Python,RubyySQL

✱ Orientaciónalaproductividad: Los lenguajes de cuarta generación están diseñados para maximizar la productividad del programador. Proporcionan abstracciones de alto nivel y herramientas que simplifican el desarrollo de aplicaciones complejas.

✱ Enfoque en la lógica del problema: Los 4GLse centran en la lógica del problema en lugar de los detalles de implementación. Esto permite a los programadores expresar conceptos complejos de manera más concisa y comprensible.

Características

Los lenguajes de programación de cuarta generación (4GL) tienen varias características distintivas que los diferencian de los lenguajes de generaciones anteriores. Algunas estasdecaracterísticasson:

✱ Manipulación de bases de datos: Los lenguajes de cuarta generación están diseñados para trabajar eficientemente con bases de datos. Proporcionan facilidades paralamanipulaciónyconsultade datos, lo que facilita el desarrollo de aplicaciones empresariales y sistemas de gestión de bases de datos.

✱ Generación automática de código: Los 4GL a menudo incluyenherramientasquegeneran automáticamente código de bajo nivelapartirdeespecificacionesde alto nivel. Esto acelera el proceso de desarrollo y reduce la cantidad de código que los programadores debenescribirmanualmente.

✱ Interfaz gráfica de usuario (GUI): Los lenguajes de cuarta generación suelen proporcionar facilidades para crear interfaces gráficas de usuario. Esto facilita el desarrollodeaplicacionesconuna interfazvisual atractivaymejorala experienciadelusuario.

✱ Reutilización de código: Los 4GL promueven la reutilización de código a través de bibliotecas y componentes predefinidos. Esto permite a los programadores aprovechar el trabajo previo y acelerar el desarrollo de nuevas aplicaciones

✱ Enfoque en el análisis y la toma de decisiones: Los lenguajes de cuarta generación a menudo incluyen características que facilitan el análisis de datos y latomadedecisiones.

Proporcionan herramientas para realizar cálculos complejos, generarinformesyvisualizardatos demaneraefectiva.

Estas características hacen queloslenguajesdeprogramación de cuarta generación sean especialmente adecuados para el desarrollo rápido de aplicaciones empresariales,sistemasdegestión de bases de datos y aplicaciones científicasydeanálisisdedatos.

Ventajas

✯ Productividad: Los lenguajes de cuarta generación están diseñados para maximizar la productividad del programador. Proporcionanabstraccionesdealto nivel y herramientas que simplifican el desarrollo de aplicaciones complejas, lo que permite a los programadores escribir código más rápido y eficientemente.

✯ Facilidad de uso: Los 4GL suelentenerunasintaxismás sencilla y comprensible en comparación con los lenguajes de programación de generaciones anteriores. Esto facilita el aprendizaje y la escritura de código, especialmente para aquellos que no tienen una formacióntécnicaprofunda.

✯ Manipulación de bases de datos: Los lenguajes de cuarta generación están diseñados para trabajar eficientemente con bases de datos. Proporcionan facilidades paralamanipulaciónyconsultade datos, lo que facilita el desarrollo de aplicaciones empresariales y sistemas de gestión de bases de datos

✯ Generación automática de código: Los 4GL a menudo incluyenherramientasquegeneran automáticamente código de bajo nivelapartirdeespecificacionesde alto nivel. Esto acelera el proceso de desarrollo y reduce la cantidad de código que los programadores debenescribirmanualmente.

Desventajas

✔ Limitaciones de control: Debido a su enfoque en la abstracción y la productividad, los lenguajes de cuarta generación pueden tener limitaciones en el control y la optimización de bajo nivel. Esto puede ser un desafío cuando se requiere un control preciso sobre el rendimiento o la eficienciadelcódigo.

✔ Menor flexibilidad: Los 4GL están diseñados para abordar problemas específicos y pueden tener limitaciones en términos de flexibilidad y adaptabilidad a diferentes escenarios. Esto puede dificultar la implementación de soluciones personalizadas o el manejodecasosexcepcionales.

✔ Curva de aprendizaje: Aunque loslenguajesdecuartageneración suelensermásfácilesdeaprender queloslenguajesdegeneraciones anteriores, aún requieren cierto nivel de familiaridad con los conceptos de programación. Para aquellos sin experiencia previa en programación,puedellevartiempo adquirir las habilidades necesarias parautilizareficazmenteun4GL. enfoque en la abstracción y la productividad Aquí hay un ejemplo básico de SQL que muestra cómo crear una tablaenunabasededatos

Es importante evaluar cuidadosamente las ventajas y desventajas de los lenguajes de cuarta generación en relación con los requisitos y objetivos específicos del proyecto antes de decidirutilizarlos.

EjemplodeLenguajes(4GL)

Un ejemplo de lenguaje de programación de cuarta generación es SQL (Structured Query Language). SQL es un lenguaje de programación diseñado específicamente para trabajar con bases de datos relacionales.AunqueSQLseutiliza principalmente para consultar y manipulardatosenbasesdedatos, también se considera un lenguaje de cuarta generación debido a su

En este ejemplo, se utiliza SQL para crear una tabla llamada "Customers" concolumnas para el IDdelcliente,elnombreyapellido, y el correo electrónico. La declaración CREATE TABLE es una de las muchas instrucciones quesepuedenutilizarenSQLpara interactuarconbasesdedatos

SQL también proporciona instrucciones para insertar, actualizar y eliminar datos, así como para realizar consultas complejas para recuperar información específica de la base dedatos.

This article is from: