INFORME SOBRE CONCEPTOS DE PROGRAMACION
Un programa de cómputo es un conjunto de instrucciones o declaraciones (también
conocidas como código) que debe realizar la CPU de una computadora. Los programas, o
software, toman distintas formas. Hemos visto que los programas se pueden dividir en
tres categorías principales: sistemas operativos, herramientas y aplicaciones. Un
programa normalmente esta compuesto de un módulo principal y submódulos. Estos
módulos están almacenados como un conjunto de archivos; los programas grandes
pueden contener miles de archivos individuales, cada uno para un propósito especifico.
Algunos de los archivos contienen instrucciones para la computadora mientras que otros
archivos contienen datos.
ALGUNAS EXTENCIONES DE ARCHIVOS
• Archivos ejecutables. Un archivo ejecutable (.exe, .com) contiene los comandos que
se envían al procesador. De hecho, cuando ejecutamos un programa, ejecutamos el
archivo ejecutable. Los archivos ejecutables normalmente (pero no siempre) tienen la
extensión .exe.
• Archivos de biblioteca dinámica de vinculos. Un archivo de biblioteca dinámica de
vínculos (.dll) es un archivo .exe parcial. Un archivo .dll no puede ejecutarse por si
mismo; sus comandos son accedidos por otro programa que esta ejecutándose. Se
utilizan para dividir programas grandes en componentes pequeños que son
reemplazables. Permiten que el programa completo sea más fácil de actualizar. Los
archivos .dll pueden ser compartidos por distintos programas al mismo tiempo.
• Archivos de inicialización. Un archivo de inicialización (.ini) contiene información
sobre configuraciones, por ejemplo, el tamaño y punto de inicio de una ventana, el color
del fondo, el nombre del usuario y otros aspectos. Contienen información que los
programas pueden utilizar cuando se ejecutan.
• Archivos de ayuda. Un archivo de ayuda (.hlp, .chm) contiene información en formato
indexado y con vínculos cruzados. Se utilizan para proporcionar al usuario información
de ayuda en línea.
CODIFICACION
Escritura de la aplicación utilizando un lenguaje de programación (C, Pascal, C++,
Java,...). Normalmente la herramienta utilizada en el diseño debe ser compatible con el
lenguaje que se utilizará para codificar. Es decir si se utiliza un lenguaje orientado a
objetos, la herramienta de diseño debe ser una herramienta que permita utilizar
objetos. Y
METODOLOGÍAS DE PROGRAMACIÓN
Algunas de las metodologías mas comunes son:
Programación estructurada
Esta metodología de programación surgió en los años 70. El nombre se refiere a la práctica de crear programas utilizando módulos pequeños que son fáciles de leer y entender. Las prácticas de la programación estructurada se pueden utilizar con cualquier lenguaje de programación.
Existen tres estructuras de control:
- La estructura secuencial define el flujo de control predeterminado de un
programa. Ejecuta líneas de código en el orden en que fueron escritas.
- Las estructuras de selección utilizan construcciones de un flujo de programa
especial llamadas declaraciones condicionales. Cuando el programa toma una decisión utilizando una declaración condicional, el flujo del programa frecuentemente se dirige en una de dos direcciones distintas.
- Las estructuras de repetición (ó estructuras de ciclo) están basadas en
construcciones llamadas bucles. Un bucle es un fragmento de código que se repite
una y otra vez hasta que se cumpla la condición de salida del bucle.
Programación orientada a objetos
Los conceptos de la programación orientada a objetos, pueden parecer abstractos al principio, pero la orientación a objetos es una forma natural de pensar. Debido a que la POO ofrece una manera intuitiva de modelar el mundo, las ventajas se traducen en programas más sencillos, una programación más rápida y reducción de las tareas de mantenimiento. En un programa se definen los objetos, que representan datos, y se definen las acciones ó métodos entre ellos para obtener los resultados deseados.
LENGUAJES DE PROGRAMACION
Un lenguaje de programación es una notación para escribir programas, permiten la
comunicación con el hardware y dar así las órdenes adecuadas para la realización de un
determinado proceso. Un lenguaje está definido por una gramática o conjunto de reglas que se aplican a un alfabeto constituido por el conjunto de símbolos utilizados.
Sin embargo, a pesar de sus diferencias, la mayoría de los lenguajes de programación comparten una característica: cada lenguaje de programación requiere que el programador siga un conjunto de reglas muy estrictas.
CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓN
Lenguajes de bajo nivel (máquina)
El lenguaje máquina es el único que entiende directamente la computadora. Utiliza el
alfabeto binario, que consta de los dos únicos símbolos 0 y 1, denominados bits. Fue el primer lenguaje utilizado en la programación de computadoras, pero dejó de utilizarse por su dificultad y complicación, siendo sustituido por otros lenguajes más fáciles de aprender y utilizar, que además reducen la posibilidad de cometer errores.
Generalmente, en la codificación de los programas, se empleaba el sistema hexadecimal
para simplificar el trabajo de escritura.
Lenguajes intermedios (ensambladores)
El lenguaje ensamblador es el primer intento de sustituir el lenguaje máquina por otro más
fácil de usar por las personas. En este lenguaje cada instrucción equivale a una instrucción en lenguaje máquina, utilizando para su escritura palabras nemotécnicas en lugar de cadenas de bits. Este lenguaje presenta la mayoría de los inconvenientes del lenguaje máquina Por otro lado, tanto el lenguaje máquina como el ensamblador tienen la ventaja de mínima ocupación de memoria y mínimo tiempo de ejecución en comparación con el resultado de la compilación del programa equivalente escrito en otros lenguajes.
Lenguajes de alto nivel (evolucionados)
Fueron diseñados para que la programación sea más sencilla. Se llaman de alto nivel porque la sintaxis requerida es más parecida al idioma humano que al de la máquina. Además, persiguen otros objetivos, entre otros: Lograr independencia de la máquina, pudiendo utilizar un mismo programa en diferentes equipos con la única condición de disponer de un programa traductor o compilador que permita obtener el programa ejecutable en lenguaje binario de la máquina que se trate.
GENERACIONES DE LENGUAJES DE PROGRAMACIÓN
Atendiendo a esta clasificación, los lenguajes de máquina o de bajo nivel, corresponden a la primera generación y los ensambladores a la segunda generación. Los lenguajes de alto nivel comenzaron con la tercera generación:
Lenguajes de tercera generación (3GL):
Los lenguajes de tercera generación hacen que sea más fácil escribir programas y permiten que los programadores compartan el desarrollo.
Algunos lenguajes de tercera generación y sus características son:
C, C++, Java, ActiveX
Lenguajes de cuarta generación (4GL):
Los lenguajes de cuarta generación son más fáciles de usar que los de tercera generación. Puede presentarse como entorno de texto o entorno visual. En un entorno de texto, el programador utiliza palabras del idioma inglés para generar el código, normalmente una sola declaración de un lenguaje 4GL puede realizar las mismas tareas que varias líneas de un lenguaje 3GL.
4GL, permiten que el programador trabaje en un entorno de desarrollo integrado o IDE (por sus siglas en inglés). Los IDE ofrecen todas las herramientas necesarias para desarrollar aplicaciones. Visual Studio de Microsoft y Java Studio de Sun, son dos IDE profesionales.
Entre los lenguajes de cuarta generación se incluyen:
- .NET, Entornos de autoría.
Lenguajes de quinta generación:
Los expertos no están de acuerdo en la definición de esta generación, algunos consideran que los entornos de autoría más avanzados caerían en esta categoría. Otros consideran que un 5GL debería utilizar técnicas de inteligencia artificial.
LENGUAJES DE DESARROLLO DE LA WWW (WORD WIDE WEB)
Lenguaje de marcación de hipertexto (HTML). Se utiliza para crear documentos para la
Web. La estructura de una página Web utiliza atributos y etiquetas. Las etiquetas
Proporcionan vínculos a otra parte del documento o a otro documento. Permiten también insertar imágenes y otros elementos multimedia. En realidad, por la simplicidad del HTML no se lo considera un lenguaje de programación (no tiene sentencias de bifurcación). Otras herramientas de desarrollo para la Web son: Dreamweaver, Flash, Director, todos de la empresa Macromedia.
Lenguajes de secuencias de comandos
Existen distintos lenguajes de secuencia de comandos para la Web. Estos lenguajes tienen la capacidad de crear páginas Web dinámicas. Las páginas dinámicas pueden cambiar de acuerdo con la información que proporcionan al usuario. En los sitios de venta de productos, un lenguaje de secuencia de comandos lee una base de datos para desplegar los productos. Entre estas herramientas se encuentran:
- JavaScript:
- Páginas de Active Server (ASP):
ASP.NET. Preprocesador de hipertexto (PHP).
PARADIGMAS DE PROGRAMACIÓN
Es una colección de modelos conceptuales que modelan el proceso de diseño y determinan la estructura de un programa. Esa estructura conceptual de modelos está pensada de forma que esos modelos determinan la forma correcta de los programas y controlan el modo en que se formulan las soluciones. Para que este proceso sea efectivo las características del lenguaje deben reflejar adecuadamente los modelos conceptuales de ese paradigma. Cuando un lenguaje refleja bien un paradigma particular, se dice que soporta el paradigma.
Tipos de paradigmas
Se agrupan en tres categorías de acuerdo con la solución que aportan para resolver el
problema:
• Lenguajes imperativos o procedurales: Utilizan instrucciones como unidad de
trabajo de los programas (COBOL, PASCAL, C, ADA). La mayoría de los lenguajes son
de este tipo.
• Lenguajes funcionales o lógicos: Basados en la definición de funciones o
relaciones. No utilizan instrucciones de asignación (sus variables no almacenan
valores). Los programas están formados por una serie de definiciones de funciones
(Lenguajes funcionales, como LISP) o de predicados ó expresiones lógicas (Lenguajes
de programación lógica, como PROLOG).
• Lenguajes orientados a objetos. Los programas se descomponen en objetos que
implementan parte del sistema encapsulando los datos que almacenan su estado junto
con los métodos que se utilizan para acceder a ellos. De este modo, las distintas
partes del programa son menos dependiente entre sí, lo que facilita el mantenimiento
de las aplicaciones. (Lenguajes SMALLTALK, C++, Java).
CICLO DE VIDA DEL SOFTWARE
· Análisis: Consiste en el estudio detallado del problema con el fin de obtener unas especificaciones para la solución del problema.
· Diseño del programa: Consiste en la realización de una solución o algoritmo del problema planteado. Esta solución se diseña utilizando seudocódigo o diagramas de flujo.
· Desarrollo: También conocido como codificación, se relaciona con la escritura y las pruebas del código fuente.
· Implementación: El software se instala y queda a disposición de los usuarios para la realización de todo tipo de pruebas.
· Mantenimiento. Esto incluye la corrección de errores menores que no fueron detectados en la etapa de implementación. Esta es la fase más larga del ciclo de vida de desarrollo de software y puede durar muchos años.
FASES DE COMPILACION
La compilación es el proceso de traducción de programas fuente a programas objeto. El programa objeto obtenido de la compilación ha sido traducido normalmente al código común del lenguaje de máquina.
Existen diversas fases de compilación o también llamadas etapas de la compilación que se ilustrarán en la siguiente imagen:
Mis expectativas en este semestre respecto a programación, es que el conocimiento que adquiera este semestre me sea de mucha utilidad mas adelante en mi carrea de electrónica.
No hay comentarios:
Publicar un comentario