Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Si bien es cierto que las computadoras han hecho de una u otra manera que la comunicación
sea más rápida y efectiva, uniendo a iles de personas que tienen la capacidad y oportunidad
de conectarse a la red, también lo es, el hecho de que ésta herramienta discrimina a esa
parte de la población que no tiene acceso a ella. Es cuestión de globalizar el uso de la
computadora y la conexión vía internet para disminuir el impacto social que esta ha
generado; nadie dice que es una tarea fácil, pero es necesaria, ya que al convertirse estas
herramientas en el estilo de vida de la sociedad, es injusto no contribuir en la integración
global de esa minoría.
Estas máquinas están fabricadas para todos los gustos y preferencias, además, se acomodan
a todo tipo de necesidades, a tal punto, que gracias a las mejoras que han tenido, es posible
que personas que viajan de una ciudad a otra o que simplemente se movilizan
constantemente y, que necesitan un instrumento de trabajo que puedan llevar a todos los
lugares y que guarde la información necesaria para llevar a cabo de una manera eficaz y
eficiente sus labores, ya pueden contar con este tipo de computadoras portátiles.
1.3 DEFINICIONES
Otra limitación de los lenguajes de nivel bajo es que se requiere de ciertos conocimientos
de programación para realizar las secuencias de instrucciones lógicas. Los lenguajes de alto
nivel se crearon para que el usuario común pudiese solucionar un problema de
procesamiento de datos de una manera más fácil y rápida.
Por esta razón, a finales de los años 1950 surgió un nuevo tipo de lenguajes de
programación que evitaba estos inconvenientes, a costa de ceder un poco en las ventajas.
Estos lenguajes se llaman de tercera generación o de nivel alto, en contraposición a los de
bajo nivel o de nivel próximo a la máquina.
Bajo nivel y maquina
En los primeros lenguajes de nivel bajo la limitación era que se orientaban a un área
específica y sus instrucciones requerían de una sintaxis predefinida. Se clasifican como
lenguajes procedimentales.
Dicho lenguaje es muy simple o nada complicado, pero estructurar programas a ese nivel es
muy difícil. Dado que este lenguaje viene dado por las especificaciones técnicas del
hardware, no permite una abstracción fuera de lo estipulado para el microprocesador de un
ordenador. Consecuentemente, es fácilmente trasladado a lenguaje de máquina.
0. Código Binario - Es el lenguaje básico, sólo admite positivo (1) o negativo (0). Todo
sistema informático está basado en este código, ya que el positivo quiere decir que se
permite el paso de la electricidad y el negativo no lo permite.
1. Lenguaje Máquina - Las invocaciones a memoria, como los procesos aritmético lógicos
son posiciones literales de conmutadores físicos del hardware en su representación
booleana. Estos lenguajes son literales de tareas.
2. Lenguajes de bajo nivel - Son instrucciones que ensamblan los grupos de conmutadores
necesarios para expresar una mínima lógica aritmética. Están íntimamente vinculados al
hardware. Por norma general están disponibles a nivel firmware, cmos o chip set. Estos
lenguajes están orientados a procesos. Los procesos se componen de tareas. Contienen
tantas instrucciones como la arquitectura del hardware así haya sido diseñada.
Por ejemplo: La arquitectura CISC contiene muchas más instrucciones a este nivel, que la
RISC.
3. Lenguajes de medio nivel - Son aquellos que, basándose en los juegos de instrucciones
disponibles (chip set), permiten el uso de funciones a nivel aritmético, pero a nivel lógico
dependen de literales en ensamblador. Estos lenguajes están orientados a procedimientos.
Los procedimientos se componen de procesos.
Ejemplos: C, Basic.
4. Lenguajes de alto nivel - Son aquellos que permiten una máxima flexibilidad al
programador a la hora de abstraerse o de ser literal. Permiten un camino bidireccional entre
el lenguaje máquina y una expresión casi oral entre la escritura del programa y su posterior
compilación. Estos lenguajes están orientados a objetos. Los objetos se componen de
propiedades cuya naturaleza emerge de procedimientos.
1.3.2 COMPILADOR
Un compilador es un programa que permite traducir el código fuente de un programa en
lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje de máquina).
De esta manera un programador puede diseñar un programa en un lenguaje mucho más
cercano a como piensa un ser humano, para luego compilarlo a un programa más manejable
por una computadora.
1.3.3 TRADUCTOR
Un traductor es un programa que recibe como entrada código escrito en un cierto lenguaje y
produce como salida código en otro lenguaje, generalmente el lenguaje de entrada es de
más alto nivel que el de salida, por ejemplo, los traductores son los ensambladores y los
compiladores.
Uno de los propósitos del sistema operativo que gestiona el núcleo intermediario consiste
en gestionar los recursos de localización y protección de acceso del hardware, hecho que
alivia a los programadores de aplicaciones de tener que tratar con estos detalles. La mayoría
de aparatos electrónicos que utilizan microprocesadores para funcionar, llevan incorporado
un sistema operativo (teléfonos móviles, reproductores de DVD, computadoras, radios,
enrutadores, etc.). En cuyo caso, son manejados mediante una Interfaz Gráfica de Usuario,
un gestor de ventanas o un entorno de escritorio, si es un celular, mediante una consola o
control remoto si es un DVD y, mediante una línea de comandos o navegador web si es un
enrutador.
Surgió en la década de 1960, particularmente del trabajo Böhm y Jacopini,1 y una famosa
carta, La sentencia goto considerada perjudicial, de Edsger Dijkstra en 19682 — y fue
reforzado teóricamente por el teorema del programa estructurado, y prácticamente por la
aparición de lenguajes como ALGOL con adecuadas y ricas estructuras de control.
1.4.2 LA PROGRAMACIÓN ORIENTADA A OBJETOS
POO (OOP según sus siglas en inglés) es un paradigma de programación que usa los
objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está
basado en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo,
acoplamiento y encapsulamiento. Su uso se popularizó a principios de la década de los años
1990. En la actualidad, existe una gran variedad de lenguajes de programación que soportan
la orientad a objetos. Los objetos son entidades que tienen un determinado estado,
comportamiento (método) e identidad:
El estado está compuesto de datos o informaciones; serán uno o varios atributos a los que se
habrán asignado unos valores concretos (datos).
El comportamiento está definido por los métodos o mensajes a los que sabe responder
dicho objeto, es decir, qué operaciones se pueden realizar con él.
La identidad es una propiedad de un objeto que lo diferencia del resto; dicho con otras
palabras, es su identificador (concepto análogo al de identificador de una variable o una
constante).
Un rasgo común a estos lenguajes suele ser la independencia del hardware y la modularidad
o jerarquía, es decir, una vez hecho un diseño éste puede ser usado dentro de otro diseño
más complicado y con otro dispositivo compatible.
Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una
máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.1
Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su
estructura y el significado de sus elementos y expresiones. Al proceso por el cual se
escribe, se prueba, se depura, se compila (de ser necesario) y se mantiene el código fuente
de un programa informático se le llama programación.
Desarrollo de la documentación.
Existe un error común que trata por sinónimos los términos 'lenguaje de programación' y
'lenguaje informático'. Los lenguajes informáticos engloban a los lenguajes de
programación y a otros más, como por ejemplo HTML (lenguaje para el marcado de
páginas web que no es propiamente un lenguaje de programación, sino un conjunto de
instrucciones que permiten diseñar el contenido de los documentos).
Permite especificar de manera precisa sobre qué datos debe operar una computadora, cómo
deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada gama de
circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo
al lenguaje humano o natural. Una característica relevante de los lenguajes de
programación es precisamente que más de un programador pueda usar un conjunto común
de instrucciones que sean comprendidas entre ellos para realizar la construcción de un
programa de forma colaborativa.