Lenguajes de programación
Lenguaje de programación
¿Qué es un lenguaje de programación?
En informática, se conoce como lenguaje de programación a un programa destinado a la
construcción de otros programas informáticos. Su nombre se debe a que comprende un
lenguaje formal que está diseñado para organizar algoritmos y procesos lógicos que serán
luego llevados a cabo por un ordenador o sistema informático, permitiendo controlar así
su comportamiento físico, lógico y su comunicación con el usuario humano.
Dicho lenguaje está compuesto por símbolos y reglas sintácticas y semánticas,
expresadas en forma de instrucciones y relaciones lógicas, mediante las cuales se
construye el código fuente de una aplicación o pieza de software determinado. Así, puede
llamarse también lenguaje de programación al resultado final de estos procesos creativos.
La implementación de lenguajes de programación permite el trabajo conjunto y
coordinado, a través de un conjunto afín y finito de instrucciones posibles, de diversos
programadores o arquitectos de software, para lo cual estos lenguajes imitan, al menos
formalmente, la lógica de los lenguajes humanos o naturales.
No deben confundirse, sin embargo, con los distintos tipos de lenguaje informático. Estos
últimos representan una categoría mucho más amplia, en donde están contenidos los
lenguajes de programación y muchos otros protocolos informáticos, como el HTML de las
páginas web.
Ver además: CPU
Tipos de lenguaje de programación
lenguaje de programación
Los lenguajes de bajo nivel están diseñados para un hardware especifico.
Normalmente se distingue entre los siguientes tipos de lenguaje de programación:
Lenguajes de bajo nivel. Se trata de lenguajes de programación que están diseñados para
un hardware específico y que por lo tanto no pueden migrar o exportarse a otros
computadores. Sacan el mayor provecho posible al sistema para el que fueron diseñados,
pero no aplican para ningún otro.
Lenguajes de alto nivel. Se trata de lenguajes de programación que aspiran a ser un
lenguaje más universal, por lo que pueden emplearse indistintamente de la arquitectura
del hardware, es decir, en diversos tipos de sistemas. Los hay de propósito general y de
propósito específico.
Lenguajes de nivel medio. Este término no siempre es aceptado, que propone lenguajes
de programación que se ubican en un punto medio entre los dos anteriores: pues permite
operaciones de alto nivel y a la vez la gestión local de la arquitectura del sistema.
Otra forma de clasificación a menudo es la siguiente:
Lenguajes imperativos. Menos flexibles, dada la secuencialidad en que construyen sus
instrucciones, estos lenguajes programan mediante órdenes condicionales y un bloque de
comandos al que retornan una vez llevada a cabo la función.
Lenguajes funcionales. También llamados procedimentales, estos lenguajes programan
mediante funciones que son invocadas conforme a la entrada recibida, que a su vez son
resultado de otras funciones.
Ejemplos de lenguajes de programación
Algunos de los lenguajes de programación más conocidos son:
BASIC. Su nombre proviene de las siglas de Beginner’s All- purpose Symbolic Instruction
Code (Código simbólico de instrucciones de propósito general para principiantes), y es
una familia de lenguajes imperativos de alto nivel, aparecidos por primera vez en 1964. Su
versión más actual es Visual Basic .NET.
COBOL. Su nombre es un acrónimo para Common Business-Oriented Lenguage
(Lenguaje común orientado a los negocios) y se trata de un lenguaje de programación
universal creado en 1959, orientado principalmente a la informática de gestión, es decir,
empresarial.
FORTRAN. Su nombre proviene de The IBM Mathematical Formula Translating System
(El sistema de traducción de fórmulas matemáticas de IBM), y es un lenguaje de
programación de alto nivel, propósito general y de tipo imperativo, diseñado para
aplicaciones científicas y de ingeniería.
Java. Un lenguaje de programación de propósito general, orientado a objetos, cuyo
espíritu se resume en las siglas WORA: Written Once, Run Anywhere, es decir: Escrito
una vez, funciona en cualquier parte. La idea era diseñar un lenguaje universal
empleando sintaxis derivada de los lenguajes C y C++, pero empleando menos utilidades
de bajo nivel que cualquiera de ambos.
Programa
Un programa informático o programa de computadora es una secuencia de instrucciones
u órdenes basadas en un lenguaje de programación que una computadora interpreta para
resolver un problema o una función específica. Este dispositivo requiere programas para
funcionar, por lo general, ejecutando las instrucciones del programa en un procesador
central.
El programa tiene un formato ejecutable que la computadora puede utilizar directamente
para ejecutar las instrucciones. El mismo programa en su formato de código fuente legible
para humanos, del cual se derivan los programas ejecutables (por ejemplo, compilados),
le permite a un programador estudiar y desarrollar sus algoritmos. Una colección de
programas de computadora y datos relacionados se conoce como software.
Generalmente, el código fuente lo escriben profesionales conocidos como programadores
de computadora. Este código se escribe en un lenguaje de programación que sigue uno
de los siguientes dos paradigmas: imperativo o declarativo, y que posteriormente puede
ser convertido en un archivo ejecutable (usualmente llamado un programa ejecutable o un
binario) por un compilador y más tarde ejecutado por una unidad central de
procesamiento. Por otra parte, los programas de computadora se pueden ejecutar con la
ayuda de un intérprete, o pueden ser empotrados directamente en hardware.
De acuerdo a sus funciones, los programas informáticos se clasifican en software de
sistema y software de aplicación. En las computadoras modernas, al hecho de ejecutar
varios programas de forma simultánea y eficiente, se lo conoce como multitarea.
Operadores
Un operador en programación es un símbolo o palabra que indica a un compilador o
intérprete que debe realizar una operación específica. Los operadores son fundamentales
en la creación de expresiones y la ejecución de instrucciones dentro de un programa.
Su función principal es manipular los datos y variables para producir un resultado
deseado. Estos pueden variar desde operaciones matemáticas básicas, como la suma y
la resta, hasta comparaciones lógicas complejas y asignaciones de valores.
En esencia, los operadores son las herramientas que permiten a los programadores
construir la lógica y funcionalidad de sus programas. Sin ellos, no sería posible realizar
cálculos, comparar valores o tomar decisiones basadas en condiciones específicas.
Tipos de operadores en programación: aritméticos, de comparación y lógicos
A continuación, exploraremos una lista de operadores para entender mejor su jerarquía y
función.
Operadores aritméticos
Los operadores aritméticos son los más básicos y se utilizan para realizar operaciones
matemáticas simples. Estos incluyen:
Suma (+): Añade dos valores. Por ejemplo, `5 + 3` da `8`.
Resta (-): Sustrae un valor de otro. Por ejemplo, `5 - 3` da `2`.
Multiplicación (*): Multiplica dos valores. Por ejemplo, `5 * 3` da `15`.
División (/): Divide un valor por otro. Por ejemplo la división entera de: `6 / 3` da `2`.
Módulo (%): Devuelve el resto de la división de un valor por otro. Por ejemplo, `5 % 3` da
`2`.
Operadores de comparación
Los operadores de comparación se utilizan para comparar dos valores y devolver un valor
booleano (verdadero o falso). Estos incluyen:
Igual a (==): Comprueba si dos valores son iguales. Por ejemplo, `5 == 3` da `false`.
No igual a (!=): Comprueba si dos valores no son iguales. Por ejemplo, `5 != 3` da `true`.
Mayor que (>): Comprueba si un valor es mayor que otro. Por ejemplo, `5 > 3` da `true`.
Menor que (<): Comprueba si un valor es menor que otro. Por ejemplo, `5 < 3` da `false`.
Mayor o igual que (>=): Comprueba si un valor es mayor o igual que otro. Por ejemplo, `5
>= 3` da `true`.
Menor o igual que (<=): Comprueba si un valor es menor o igual que otro. Por ejemplo, `5
<= 3` da `false`.
Operadores lógicos
Los operadores lógicos se utilizan para combinar o invertir expresiones booleanas. Estos
incluyen:
Y lógico (&&): Devuelve `true` si ambas expresiones son verdaderas. Por ejemplo, `(5 > 3)
&& (3 < 5)` da `true`.
O lógico (||): Devuelve `true` si al menos una de las expresiones es verdadera. Por
ejemplo, `(5 > 3) || (3 > 5)` da `true`.
No lógico (!): Invierte el valor de una expresión booleana. Por ejemplo, `!(5 > 3)` da `false`.
Prioridad de los Operadores en General
La prioridad de los operadores, también conocida como precedencia de operadores,
determina el orden en el que se evalúan los operadores en una expresión. Al igual que en
matemáticas, donde las multiplicaciones y divisiones se realizan antes que las sumas y
restas, en programación, ciertos operadores tienen mayor prioridad que otros.
Programador
Un programador es aquella persona que elabora programas de computadora. Para la
creación de software, los programadores utilizan lenguajes de programación, que son
similares a idiomas que permiten entenderse con el ordenador y escribir instrucciones que
generan nuevos programas.
Un programador escribe, depura y mantiene el código fuente de un programa informático,
que ejecuta el hardware de una computadora, para realizar una tarea determinada.
Los programadores también son denominados desarrolladores de software, aunque
estrictamente forman parte de un equipo de personas de distintas especialidades
(mayormente informáticas).
Lenguaje de maquina
El lenguaje de máquina o código máquina es el sistema de códigos directamente
interpretable por un circuito microprogramable, como el microprocesador de una
computadora o el microcontrolador de un autómata. Este lenguaje está compuesto por un
conjunto de instrucciones que determinan acciones a ser tomadas por la máquina. Un
programa consiste en una cadena de estas instrucciones más un conjunto cual se trabaja.
Estas instrucciones son normalmente ejecutadas en secuencia, con eventuales cambios
de flujo causados por el propio programa o eventos externos. El lenguaje de máquina es
específico de la arquitectura de la máquina, aunque el conjunto de instrucciones
disponibles pueda ser similar entre arquitecturas distintas.
Los circuitos microprogramables son digitales, lo que significa que trabajan con dos
únicos niveles de tensión. Dichos niveles, por abstracción, se simbolizan con los números
0 y 1, por eso el lenguaje de máquina solo utiliza dichos signos. Esto permite el empleo de
las teorías del álgebra booleana y del sistema binario en el diseño de este tipo de circuitos
y en su programación.
Claude Elwood Shannon, en su libro Analysis of Relay and Switching Circuits, y con sus
experiencias en redes de conmutación, sentó las bases para la aplicación del álgebra de
Boole a las redes de conmutación. Una red de conmutación es un circuito de interruptores
eléctricos que al cumplir ciertas combinaciones booleanas con las variables de entrada,
define el estado de la salida. Este concepto es el núcleo de las puertas lógicas, las cuales
son, por su parte, los ladrillos con que se construyen sistemas lógicos cada vez más
complejos. Shannon utilizaba el relé como dispositivo físico de conmutación en sus redes,
dado que el relé, a igual que una lámpara eléctrica, posee dos estados: activado
(encendido) o (apagado).
El desarrollo tecnológico ha permitido evolucionar desde las redes de relés
electromagnéticos a circuitos con tubos de vacío, luego a redes transistorizadas, hasta
llegar a los modernos circuitos integrados, en cuya cúspide se encuentran los circuitos
microprogramados.
El llamado código máquina consistía en introducir la programación de la máquina
mediante unos y ceros. cualquier programa de ordenador debe, finalmente, ser convertido
a este código para que un ordenador pueda ejecutar las instrucciones de dicho programa.
Los ordenadores solo leen este tipo de lenguaje, en donde la combinación de números
logra convertirse en acciones. Dada su complejidad existen los lenguajes de
programación como JavaScript para programar páginas web o C++ para programar
videojuegos entre muchos otros.
Fuentes de información:
[Link]
[Link]
[Link]
operador-en-informatica
[Link]
[Link]