
LA PROGRAMACIÓN.
Es el
proceso de diseñar, codificar, depurar y mantener el código fuente de programas
computacionales. El código fuente es escrito en un lenguaje de programación. El
propósito de la programación es crear programas que exhiban un comportamiento
deseado. El proceso de escribir código requiere frecuentemente conocimientos en
varias áreas distintas, además del dominio del lenguaje a utilizar, algoritmos
especializados y lógica formal. Programar no involucra necesariamente otras
tareas tales como el análisis y diseño de la aplicación (pero sí el diseño del
código), aunque sí suelen estar fusionadas en el desarrollo de pequeñas
aplicaciones.
HISTORIA
Para crear
un programa, y que la computadora lo interprete y ejecute las instrucciones
escritas en él, debe escribirse en un lenguaje de programación. En sus inicios
las computadoras interpretaban solo instrucciones en un lenguaje específico,
del más bajo nivel, conocido como código máquina, siendo éste excesivamente
complicado para programar. De hecho solo consiste en cadenas de números 1 y 0
(sistema binario). Para facilitar el trabajo de programación, los primeros
científicos, que trabajaban en el área, decidieron reemplazar las
instrucciones, secuencias de unos y ceros, por palabras o abreviaturas
provenientes del inglés; las codificaron y crearon así un lenguaje de mayor nivel,
que se conoce como Assembly o lenguaje ensamblador. Por ejemplo, para sumar se
podría usar la letra A de la palabra inglesa add (sumar). En realidad escribir
en lenguaje ensamblador es básicamente lo mismo que hacerlo en lenguaje
máquina, pero las letras y palabras son bastante más fáciles de recordar y
entender que secuencias de números binarios. A medida que la complejidad de las
tareas que realizaban las computadoras aumentaba, se hizo necesario disponer de
un método sencillo para programar. Entonces, se crearon los lenguajes de alto
nivel. Mientras que una tarea tan trivial como multiplicar dos números puede
necesitar un conjunto de instrucciones en lenguaje ensamblador, en un lenguaje
de alto nivel bastará con solo una. Una vez que se termina de escribir un
programa, sea en ensamblador o en algunos lenguajes de alto nivel, es necesario
compilarlo, es decir, traducirlo completo a lenguaje máquina. Eventualmente
será necesaria otra fase denominada comúnmente link o enlace, durante la cual
se anexan al código, generado durante la compilación, los recursos necesarios
de alguna biblioteca. En algunos lenguajes de programación, puede no ser
requerido el proceso de compilación y enlace, ya que pueden trabajar en modo
intérprete. Esta modalidad de trabajo es equivalente pero se realiza
instrucción por instrucción, a medida que es ejecutado el programa.
BENEFICIOS
1.
Desarrolla habilidades para la solución de problemas lógicos. Estimula la
creatividad y el pensamiento crítico. Todas estas son habilidades del siglo XXI
requeridas en cualquier sector.
2.Mayores
oportunidades de empleo. Actualmente, no hay suficiente talento para cubrir la
demanda laboral en el sector tecnológico.
3,
Proporciona mayor capacidad de adaptación al estilo de vida actual. El mundo
depende de la tecnología cada vez más. Con el fin de alcanzar su pleno
potencial, los jóvenes necesitan tener una comprensión de cómo funciona la
tecnología y cómo hacer que funcione para ellos.
4. El
emprendimiento se vuelve una opción tangible. Grandes negocios han surgido
gracias al conocimiento del lenguaje de programación. Emprendedores han sabido
capitalizar su conocimiento a favor de la creación y crecimiento de sus negocios.
TIPOS DE PROGRAMACIÓN
Programación declarativa: mantiene un paradigma de
programación el cual se basa en el desarrollo de programas que están
especificando un conjunto de determinadas condiciones, proposiciones,
afirmaciones, restricción, ecuaciones o transformaciones las cuales pueden
mostrar, describir y detallar un problema y su solución. Esta solución se
obtiene mediante diversos mecanismos internos de control. Las mismas no son
específicas en cuanto a su localización, solo se le pide a la computadora que
busque algo.
Programación estructurada: conocido también como un paradigma
de la programación el cual se encuentra orientado a mejorar la calidad,
claridad y el tiempo que tarde en se desarrollado un programa de computadora.
Para esto
utiliza solamente subrutinas y tres estructuras: secuencia, selección e interacción. Este surgió en 1960 del trabajo de Böhm y Jacopini.
Programación modular: este tipo de programación consiste
principalmente en dividir los programas en partes llamadas sub programas o
módulos, los cuales son más legibles y manejables, es decir, tienen como fin
facilitar su uso. Es el resultado evolutivo de la programación estructura para
solucionar algunos problemas más grandes y difíciles de lo que la primera puede
llegar a resolver.
Una vez
aplicada la programación modular, un problema de índole complejo se divide en
varios subproblemas mucho más simples los cuales son divididos, a su vez, en
otros subproblemas más simples todavía. Este proceso se continúa hasta que se
encuentra un subproblema lo suficientemente simple como para poder ser resuelto
fácilmente. Esta técnica es conocida como refinamiento sucesivo o análisis
descendente.
Un módulo es
considerado cada una de las partes de un programa que puede resolver uno de los
subproblemas encontrados, en los que se divide el problema original. Todos estos
módulos contienen una tarea específica y definida diferente una de otra por lo
que es posible que unos necesiten de otros para poder operar y concretar la
finalización de un subproblema.
En los casos
en los que un módulo necesita de otro, pueden comunicarse a través de una
interfaz de comunicación la cual también se encuentra bien definida. En la
práctica el módulo es considerado un proceso y función, muy diferente a la
parte teórica el cual puede entenderse como una parte del programa. Sin
embargo, no debe ser confundido el término procedimiento o función con el
término módulo ya que el mismo puede contener muchos de ellos por lo que se
debe tener cuidado.
Programación orientada a objetos: puede ser encontrado bajo las
siglas POO, y se refiere a un paradigma de la programación el cual utiliza los
objetos resultantes en sus interacciones para poder diseñar aplicaciones y
programas informáticos.
Para esto
basa sus conceptos en varias técnicas como la herencia, la cohesión, la
abstracción, el polimorfismo, el encapsula miento y el acoplamiento. Comienza su
utilización en la década de los años 1990 y se mantiene hasta hoy, donde pueden
encontrarse grandes variedades de lenguajes de programación que soportan la
orientación a objetos
LENGUAJE COMPILADO
Un programa
escrito en un lenguaje compilado se traduce a través de un programa anexo
llamado compilador que, a su vez, crea un nuevo archivo independiente que no
necesita ningún otro programa para ejecutarse a sí mismo. Este archivo se llama
ejecutable.
Un programa
escrito en un lenguaje compilado posee la ventaja de no necesitar un programa
anexo para ser ejecutado una vez que ha sido compilado. Además, como sólo es
necesaria una traducción, la ejecución se vuelve más rápida. Sin embargo, no es
tan flexible como un programa escrito en lenguaje interpretado, ya que cada
modificación del archivo fuente (el archivo comprensible para los seres
humanos: el archivo a compilar) requiere de la compilación del programa para
aplicar los cambios.
Por otra
parte, un programa compilado tiene la ventaja de garantizar la seguridad del
código fuente. En efecto, el lenguaje interpretado, al ser directamente un
lenguaje legible, hace que cualquier persona pueda conocer los secretos de
fabricación de un programa y, de ese modo, copiar su código o incluso
modificarlo. Por lo tanto, existe el riesgo de que los derechos de autor no
sean respetados. Por otro lado, ciertas aplicaciones aseguradas necesitan
confidencialidad de código para evitar las copias ilegales (transacciones
bancarias, pagos en línea, comunicaciones seguras...).
LENGUAJE INTERPRETADO.
Un lenguaje
de programación es, por definición, diferente al lenguaje máquina. Por lo
tanto, debe traducirse para que el procesador pueda comprenderlo. Un programa
escrito en un lenguaje interpretado requiere de un programa auxiliar (el
intérprete), que traduce los comandos de los programas según sea necesario.
Ventajas de los lenguajes interpretados
Ventajas:
- Pueden ser ejecutados en cualquier plataforma.
- Ocupan menos espacio en la memoria.
- El framework es el que se encarga de que el hardware ejecute las instrucciones.
- Las variables de datos son dinámicas y no se restringen a un solo tipo.
- Son mas utilizados en desarrollo web y en electrónica










