PROGRAMA: ES UN CONJUNTO DE INSTRUCCIONES QUE UNA VEZ EJECUTADAS REALIZARÁN UNA O VARIAS TAREAS EN UNA COMPUTADORA. SIN PROGRAMAS, ESTAS MÁQUINAS NO PUEDEN FUNCIONAR.AL CONJUNTO GENERAL DE PROGRAMAS, SE LE DENOMINA SOFTWARE, QUE MÁS GENÉRICAMENTE SE REFIERE AL EQUIPAMIENTO LÓGICO O SOPORTE LÓGICO DE UNA COMPUTADORA DIGITAL.
EN INFORMÁTICA, SE LOS DENOMINA COMÚNMENTE BINARIOS, (PROPIO EN SISTEMAS UNIX, DONDE DEBIDO A LA ESTRUCTURA DE ESTE ÚLTIMO, LOS FICHEROS NO NECESITAN HACER USO DE EXTENSIONES. POSTERIORMENTE, LOS PRESENTARON COMO FICHEROS EJECUTABLES, CON EXTENSIÓN .EXE, EN LOS SISTEMAS OPERATIVOS DE LA FAMILIA WINDOWS) DEBIDO A QUE UNA VEZ QUE HAN PASADO POR EL PROCESO DE COMPILACIÓN Y HAN SIDO CREADOS, LAS INSTRUCCIONES QUE SE ESCRIBIERON EN UN LENGUAJE DE PROGRAMACIÓN QUE LOS HUMANOS USAN PARA ESCRIBIRLOS CON MAYOR FACILIDAD, SE HAN TRADUCIDO AL ÚNICO IDIOMA QUE LA MÁQUINA COMPRENDE, COMBINACIONES DE CEROS Y UNOS LLAMADA CÓDIGO MÁQUINA. EL MISMO TÉRMINO, PUEDE REFERIRSE TANTO A UN PROGRAMA EJECUTABLE, COMO A SU CÓDIGO FUENTE, EL CUAL ES TRANSFORMADO EN UN BINARIO CUANDO ES COMPILADO.
GENERALMENTE EL CÓDIGO FUENTE LO ESCRIBEN PROFESIONALES CONOCIDOS COMO PROGRAMADORES. SE ESCRIBE EN UN LENGUAJE QUE SIGUE UNO DE LOS SIGUIENTES DOS PARADIGMAS: IMPERATIVO O DECLARATIVO Y QUE POSTERIORMENTE PUEDE SER CONVERTIDO EN UNA IMAGEN EJECUTABLE POR UN COMPILADOR. CUANDO SE PIDE QUE EL PROGRAMA SEA EJECUTADO, EL PROCESADOR EJECUTA INSTRUCCIÓN POR INSTRUCCIÓN.
DE ACUERDO A SUS FUNCIONES, SE CLASIFICAN EN SOFTWARE DE SISTEMA Y SOFTWARE DE APLICACIÓN. EN LOS COMPUTADORES ACTUALES, AL HECHO DE EJECUTAR VARIOS PROGRAMAS DE FORMA SIMULTÁNEA Y EFICIENTE, SE LE CONOCE COMO MULTITAREA.
LA PRIMERA PROGRAMADORA DE COMPUTADORA CONOCIDA FUE ADA LOVELACE, HIJA DE ANABELLA MILBANKE BYRON Y LORD BYRON. ANABELLA INTRODUJO EN LAS MATEMÁTICAS A ADA QUIEN, DESPUÉS DE CONOCER A CHARLES BABBAGE, TRADUJO Y AMPLIÓ UNA DESCRIPCIÓN DE SU MÁQUINA ANALÍTICA. INCLUSO AUNQUE BABBAGE NUNCA COMPLETÓ LA CONSTRUCCIÓN DE CUALQUIERA DE SUS MÁQUINAS, EL TRABAJO QUE ADA REALIZÓ CON ÉSTAS LE HIZO GANARSE EL TÍTULO DE PRIMERA PROGRAMADORA DE COMPUTADORAS DEL MUNDO. EL NOMBRE DEL LENGUAJE DE PROGRAMACIÓN ADA FUE ESCOGIDO COMO HOMENAJE A ESTA PROGRAMADORA.
NO OLVIDEMOS QUE ESTE PROCESO ESTÁ APLICADO A TODOS LOS MÉTODOS CIENTÍFICOS QUE ACTUALMENTE SE PRACTICAN.
PROGRAMACION: ES EL PROCESO DE DISEÑAR, ESCRIBIR Y MANTENER EL CODIGO FUENTE DE PROGRAMAS COMPUTACIONALES; EL CODIGO FUENTE ES ESCRITO EN UN LENGUAJE DE PROGRAMACION, SU PROPOSITO ES CREAR PROGRAMAS QUE MUESTREN 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.
PARADIGMA DE PROGRAMACIÓN: ES UNA PROPUESTA TECNOLÓGICA QUE ES ADOPTADA POR UNA COMUNIDAD DE PROGRAMADORES CUYO NÚCLEO CENTRAL ES INCUESTIONABLE EN CUANTO A QUE UNÍVOCAMENTE TRATA DE RESOLVER UNO O VARIOS PROBLEMAS CLARAMENTE DELIMITADOS. LA RESOLUCIÓN DE ESTOS PROBLEMAS DEBE SUPONER CONSECUENTEMENTE UN AVANCE SIGNIFICATIVO EN AL MENOS UN PARÁMETRO QUE AFECTE A LA INGENIERÍA DE SOFTWARE. TIENE UNA ESTRECHA RELACIÓN CON LA FORMALIZACIÓN DE DETERMINADOS LENGUAJES EN SU MOMENTO DE DEFINICIÓN. UN PARADIGMA DE PROGRAMACIÓN ESTÁ DELIMITADO EN EL TIEMPO EN CUANTO A ACEPTACIÓN Y USO YA QUE NUEVOS PARADIGMAS APORTAN NUEVAS O MEJORES SOLUCIONES QUE LA SUSTITUYEN PARCIAL O TOTALMENTE.
TIPOS DE PARADIGMAS DE PROGRAMACIÓN MÁS COMUNES
- IMPERATIVO O POR PROCEDIMIENTOS: ES CONSIDERADO EL MÁS COMÚN Y ESTÁ REPRESENTADO, POR EJEMPLO, POR C O BASIC.
- FUNCINAL: ESTÁ REPRESENTADO POR SCHEME O HASKELL. ESTE ES UN CASO DEL PARADIGMA DECLARATIVO.
- LOGICO: ESTÁ REPRESENTADO POR ROLOG. ESTE ES OTRO CASO DEL PARADIGMA DECLARATIVO.
- DECLARATIVO: POR EJEMPLO LA PROGRAMACIO FUNCIONAL, LA PROGRAMACIÓN LOGICA, O LA COMBINACIÓN LÓGICO-FUNCIONAL.
- ORIENTADO A OBJETOS: ESTÁ REPRESENTADO POR SMALLTALK, UN LENGUAJE COMPLETAMENTE ORIENTADO A OBJETOS.
SI BIEN PUEDE SELECCIONARSE LA FORMA PURA DE ESTOS PARADIGMAS AL MOMENTO DE PROGRAMAR, EN LA PRÁCTICA ES HABITUAL QUE SE MEZCLEN, DANDO LUGAR A LA PROGRAMACIÓN MULTIPARADIGMA.
ACTUALMENTE EL PARADIGMA DE PROGRAMACIÓN MÁS USADO ES EL DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.
LA PROGRAMACIÓN ORIENTADA A OBJETOS: ES UN PARADIGMA QUE UTILIZA OBJETOS COMO ELEMENTOS FUNDAMENTALES EN LA CONSTRUCCIÓN DE LA SOLUCIÓN. SURGE EN LOS AÑOS 70. UN OBJETO ES UNA ABSTRACCIÓN DE ALGÚN HECHO O ENTE DEL MUNDO REAL QUE TIENE ATRIBUTOS QUE REPRESENTAN SUS CARACTERÍSTICAS O PROPIEDADES Y MÉTODOS QUE REPRESENTAN SU COMPORTAMIENTO O ACCIONES QUE REALIZAN. TODAS LAS PROPIEDADES Y MÉTODOS COMUNES A LOS OBJETOS SE ENCAPSULAN O SE AGRUPAN EN CLASES. UNA CLASE ES UNA PLANTILLA O UN PROTOTIPO PARA CREAR OBJETOS, POR ESO SE DICE QUE LOS OBJETOS SON INSTANCIAS DE CLASES.
LENGUAJES ORIENTADOS A OBJETOS
SIMULA (1967) ES ACEPTADO COMO EL PRIMER LENGUAJE QUE POSEE LAS CARACTERÍSTICAS PRINCIPALES DE UN LENGUAJE ORIENTADO A OBJETOS. FUE CREADO PARA HACER PROGRAMAS DE SIMULACIÓN, EN DONDE LOS "OBJETOS" SON LA REPRESENTACIÓN DE LA INFORMACIÓN MÁS IMPORTANTE. SMALLTALK (1972 A 1980) ES POSIBLEMENTE EL EJEMPLO CANÓNICO, Y CON EL QUE GRAN PARTE DE LA TEORÍA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS SE HA DESARROLLADO.
ENTRE LOS LENGUAJES ORIENTADOS A OBJETOS SE DESTACAN LOS SIGUIENTES:
- ABAP
- ABL LENGUAJE DE PROGRAMACIÓN DE OPENEDGE DE PROGRESS SOFTWARE
- ACTION SCRIPT
- ACTION SCRIPT 3
- ADA
- C++
- C#
- CLARIÓN
- ENTRE OTROS
MUCHOS DE ESTOS LENGUAJES DE PROGRAMACIÓN NO SON PURAMENTE ORIENTADOS A OBJETOS, SINO QUE SON HÍBRIDOS QUE COMBINAN LA POO CON OTROS PARADIGMAS.
AL IGUAL QUE C++ OTROS LENGUAJES, COMO OOCOBOL, OOLISP, OOPROLOG, Y OBJECT REXX, HAN SIDO CREADOS AÑADIENDO EXTENSIONES ORIENTADAS A OBJETOS A UN LENGUAJE DE PROGRAMACIÓN CLÁSICO.