Asignatura
PROGRAMACIÓN l
Facilitador
Gregorio de la Rosa
Correo Electrónico
gregoriodelarosa@[Link]
Tel:809-765-6448
La programación
Es el proceso utilizado para idear y ordenar las acciones
necesarias para realizar un proyecto,
preparar ciertas máquinas o aparatos para que empiecen a
funcionar en el momento y en la forma deseados o elaborar
programas para su empleo en computadoras.
Historia de la programación
En sus comienzos las computadoras interpretaban solo
instrucciones en un lenguaje específico, del más bajo
nivel, conocido como código máquina, siendo este
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 ensamblado
Léxico y programación
La programación se rige por reglas y un conjunto más o menos
reducido de órdenes, expresiones, instrucciones y comandos
que tienden a asemejarse a una lengua natural acotada (en
inglés); y que además tienen la particularidad de una reducida
ambigüedad. Cuanto menos ambiguo es un lenguaje de
programación, se dice, es más potente. Bajo esta premisa, y en
el extremo, el lenguaje más potente existente es el binario, con
ambigüedad nula (lo cual lleva a pensar así del lenguaje
ensamblador).
Programas y algoritmos
Un algoritmo es una secuencia no ambigua, finita y ordenada de
instrucciones que han de seguirse para resolver un problema. Un
programa normalmente implementa (traduce a un lenguaje de
programación concreto) uno o más algoritmos. Un algoritmo
puede expresarse de distintas maneras: en forma gráfica, como
un diagrama de flujo, en forma de código como
en pseudocódigo o un lenguaje de programación, en forma
explicativa.
Los programas suelen subdividirse en partes menores, llamadas
módulos, de modo que la complejidad algorítmica de cada una de
las partes sea menor que la del programa completo, lo cual ayuda
al desarrollo del programa. Esta es una práctica muy utilizada y se
conoce como "refino progresivo".
Según Niklaus Wirth, un programa está formado por
los algoritmos y la estructura de datos.
La programación puede seguir muchos enfoques,
o paradigmas, es decir, diversas maneras de formular la
resolución de un problema dado. Algunos de los principales
paradigmas de la programación son:
Programación declarativa
Programación estructurada
Programación modular
Programación orientada a objetos
Compilación
El programa escrito en un lenguaje de programación de alto
nivel (fácilmente comprensible por el programador) es
llamado programa fuente y no se puede ejecutar
directamente en una computadora.
La opción más común es compilar el programa obteniendo
un módulo objeto, aunque también puede ejecutarse en
forma más directa a través de un intérprete informático.
Habitualmente la creación de un programa ejecutable (un
tí[Link] para Microsoft Windows o DOS) conlleva dos
pasos. El primer paso se llama compilación (propiamente
dicho) y traduce el código fuente escrito en un lenguaje de
programación almacenado en un archivo de texto a código
en bajo nivel (normalmente en código objeto, no
directamente a lenguaje máquina).
Programación e ingeniería del software
Existe una tendencia a identificar el proceso de creación de un
programa informático con la programación, que es cierta cuando
se trata de programas pequeños para uso personal, y que dista de
la realidad cuando se trata de grandes proyectos.
El proceso de creación de software, desde el punto de vista de
la ingeniería, incluye mínimamente los siguientes pasos:
Reconocer la necesidad de un programa para solucionar un
problema o identificar la posibilidad de automatización de una
tarea.
Recoger los requisitos del programa. Debe quedar claro qué
es lo que debe hacer el programa y para qué se necesita.
Realizar el análisis de los requisitos del programa. Debe
quedar claro qué tareas debe realizar el programa. Las
pruebas que comprueben la validez del programa se pueden
especificar en esta fase.
Diseñar la arquitectura del programa. Se debe descomponer el
programa en partes de complejidad abordable.
Implementar el programa. Consiste en realizar un diseño
detallado, especificando completamente todo el funcionamiento
del programa, tras lo cual la codificación (programación
propiamente dicha) debería resultar inmediata.
Probar el programa. Comprobar que pasan pruebas que se han
definido en el análisis de requisitos.
Implantar (instalar) el programa. Consiste en poner el
programa en funcionamiento junto con los componentes que
pueda necesitar (bases de datos, redes de comunicaciones,
etc.).