Herramientas Informaticas

Categoría: PROGRAMACIÓN

Capítulo 1

 

El Camino del Programa

El objetivo de este libro es enseñarle a pensar como lo hacen los científicos informáticos. Esta manera de pensar combina las mejores características de la matemática, la ingeniería, y las ciencias naturales. Como los matemáticos, los científicos informáticos usan lenguajes formales para designar ideas (específicamente, computaciones). Como los ingenieros, ellos diseñan cosas, ensamblando sistemas a partir de componentes y evaluando ventajas y desventajas de cada una de las alternativas. Como los científicos, ellos observan el comportamiento de sistemas complejos, forman hipótesis, y prueban sus predicciones.

La habilidad más importante del científico informático es la soluciún de problemas. La soluciún de problemas incluye poder formular problemas, pensar en la solución de manera creativa, y expresar una solución con claridad y precisión.

Como se verá, el proceso de aprender a programar es la oportunidad perfecta para desarrollar la habilidad de resolver problemas. Por esa razón este capítulo se llama “El Camino del programa”.

A cierto nivel, usted aprenderá a programar, lo cual es una habilidad muy útil por sí misma. A otro nivel, usted utilizará la programaciún para obtener algún resultado. Ese resultado se verá más claramente durante el proceso.

1.2. ¿Qué es un programa?

Un programa es una secuencia de instrucciones que especifican cómo ejecutar una computación. La computación puede ser algo matemático, como solucionar un sistema de ecuaciones o determinar las raíces de un polinomio, pero también puede ser una computación simbólica, como buscar y reemplazar el texto de un documento o (aunque parezca raro) compilar un programa.

Las instrucciones (comandos, órdenes) tienen una apariencia diferente en lenguajes de programación diferentes, pero existen algunas funciones básicas que
se presentan en casi todo lenguaje:

entrada: Recibir datos del teclado, o un archivo u otro aparato.

salida: Mostrar datos en el monitor o enviar datos a un archivo u otro aparato.

matemáticas: Ejecutar operaciones básicas de matemáticas como la adición y la multiplicación.

operación condicional: Probar la veracidad de alguna condición y ejecutar una secuencia de instrucciones apropiada.
repetición: Ejecutar alguna acción repetidas veces, normalmente con alguna variación.

Lo crea o no, eso es todo. Todos los programas que existen, por complicados que sean, están formulados exclusivamente con tales instrucciones. Así, una manera de describir la programación es: El proceso de romper una tarea en tareas cada vez más pequeñas hasta que estas tareas sean suficientemente simples para ser ejecutadas con una de estas instrucciones simples.

Quizás esta descripción sea un poco ambigua. No se preocupe. Lo explicaremos con más detalle con el tema de los algoritmos.

1.3.3. Errores semánticos

El tercer tipo de error es el error semántico. Si hay un error de lógica en su programa, el programa se ejecutará sin ningún mensaje de error, pero el resultado no será el deseado. Será cualquier otra cosa. Concretamente, el programa hará lo que usted le dijo.

A veces ocurre que el programa escrito no es el programa que se tenía en mente.

El sentido o significado del programa (su semántica) no es correcto. Es difícil hallar errores de lógica, porque requiere trabajar al revés, observando el resultado del programa para averiguar lo que hace.

1.3.2. Errores en tiempo de ejecución

El segundo tipo de error es un error en tiempo de ejecución. Este error no aparece hasta que se ejecuta el programa. Estos errores también se llaman excepciones

porque indican que algo excepcional (y malo) ha ocurrido.

Con los programas que vamos a escribir al principio, los errores en tiempo de ejecución ocurrirán con poca frecuencia, así que puede pasar bastante tiempo hasta que vea uno.

1.5. El primer programa

Tradicionalmente el primer programa en un lenguaje nuevo se llama “Hola, mundo” (Hello world!) porque sólo muestra las palabras “Hola a todo el mundo”.

En Python es así:

   1: print "Hola, mundo"

 

Este es un ejemplo de una sentencia print, la cual no imprime nada en papel, más bien muestra un valor. En este caso, el resultado es las palabras Hola, mundo

Las comillas señalan el comienzo y el final del valor; no aparecen en el resultado.

Alguna gente evalúa la calidad de un lenguaje de programación por la simplicidad del programa “Hola, mundo”. Si seguimos ese criterio, Python cumple con todas sus metas.

Desarrollo de aplicaciones para ambientes distribuidos

Objetivo:
Desarrollara aplicaciones utilizando métodos, herramientas y técnicas para el desarrollo de aplicaciones distribuidas, observando estándares y arquitecturas abiertas.
Temario:
1.      Panorama general de las aplicaciones distribuidas.
1.1.   Evolución de las aplicaciones informáticas.
1.1.1.     Aplicaciones monolíticas.
1.1.2.     Aplicaciones cliente/servidor.
1.1.3.     Aplicaciones de 2,3 y n capas.
1.1.4.     Aplicaciones distribuidas.
1.2.   Evolución de las tecnologías para el desarrollo de aplicaciones distribuidas
1.2.1.     De interfaz de usuario.
1.2.2.     De aplicación.
1.2.3.     De base de datos.
1.2.4.     De conexión entre capas.
1.3.   Escenarios de utilización de las aplicaciones distribuidas.
1.4.   Problemas comunes en el desarrollo y uso de aplicaciones distribuidas.
2.      Arquitectura de aplicaciones distribuidas
2.1.   Capa de interfaz de usuario.
2.2.   Capa de manejo de datos.
2.3.   Capa de procesamiento de datos.
2.4.   Integración de sistemas heredados.
2.5.   Distribución de elementos de una aplicación.
2.6.   Integración de tecnologías heterogéneas y homogéneas.
2.7.   Servicios de arquitectura (e-mail, web, base de datos, aplicaciones, transacciones, sistemas operativos, firewall.
3.      Diseño de aplicaciones distribuidas.
3.1.   Diseño e implementación de manejo de datos.
3.2.   Diseño de procesamiento de datos.
3.3.   Diseño de interfaz de usuario.
4.      Implementación de procesamiento de datos.
4.1.   Construcción de componentes.
4.2.   Comunicación con manejo de datos.
5.      Implementación de interfaz de usuario.
5.1.   Lenguajes de marcado
5.2.   Tecnologías para implementación de interfaces de usuario.
5.3.   Programación.
5.3.1.     Del lado del cliente.
5.3.2.     Del lado del servidor.
6.      Integración de aplicaciones distribuidas.
6.1.   Asignación de las partes de la aplicación.
6.2.   Distribución de la aplicación.
6.3.   Instalación de los componentes.
6.4.   Configuración de los componentes.
6.5.   Configuración  de la aplicación.
6.6.   Evaluar desempeño.
6.7.   Optimización de desempeño.

Página 4 de 4

Creado con WordPress & Tema de Anders Norén