miércoles, 25 de agosto de 2010

Clases de Programación

Existen varias clases de programación, dependiendo de los métodos utilizados y las técnicas empleadas.

Los tipos o técnicas de programación son bastante variados, aunque puede que muchos sólo conozcan una metodología para realizar programas. En la mayoría de los casos, las técnicas se centran en programación modular y programación estructurada, pero existen otros tipos de programación.

Programación estructurada (PE)


La programación estructurada está compuesta por un conjunto de técnicas que han ido evolucionando aumentando considerablemente la productividad del programa reduciendo el tiempo de depuración y mantenimiento del mismo.

Esta programación estructurada utiliza un número limitado de estructuras de control, reduciendo así considerablemente los errores.


Esta técnica incorpora:

  • Diseño descendente (top-dow): el problema se descompone en etapas o estructuras jerárquicas.
  • Recursos abstractos (simplicidad): consiste en descomponer las acciones complejas en otras más simples capaces de ser resueltas con mayor facilidad.
  • Estructuras básicas: existen tres tipos de estructuras básicas:
    • Estructuras secuénciales: cada acción sigue a otra acción secuencialmente. La salida de una acción es la entrada de otra.
    • Estructuras selectivas: en estas estructuras se evalúan las condiciones y en función del resultado de las mismas se realizan unas acciones u otras. Se utilizan expresiones lógicas.
    • Estructuras repetitivas: son secuencias de instrucciones que se repiten un número determinado de veces.

Las principales ventajas de la programación estructurada son:

  • Los programas son mas fáciles de entender
  • Se reduce la complejidad de las pruebas
  • Aumenta la productividad del programador
  • Los programas queden mejor documentados internamente.
Un programa esta estructurado si posee un único punto de entrada y sólo uno de salida, existen de "1 a n" caminos desde el principio hasta el fin del programa y por último, que todas las instrucciones son ejecutables sin que aparezcan bucles infinitos.


Programación modular


En la programación modular consta de varias secciones dividas de forma que interactúan a través de llamadas a procedimientos, que integran el programa en su totalidad.


En la programación modular, el programa principal coordina las llamadas a los módulos secundarios y pasa los datos necesarios en forma de parámetros.


A su vez cada modulo puede contener sus propios datos y llamar a otros módulos o funciones.



Programación orientada a objetos (POO)


Se trata de una técnica que aumenta considerablemente la velocidad de desarrollo de los programas gracias a la reutilización de los objetos.


El elemento principal de la programación orientada a objetos es el objeto.

El objeto es un conjunto complejo de datos y programas que poseen estructura y forman parte de una organización.

Un objeto contiene varios datos bien estructurados y pueden ser visibles o no dependiendo del programador y las acciones del programa en ese momento.


El polimorfismo y la herencia son unas de sus principales características.



Programación concurrente


Este tipo de programación se utiliza cuando tenemos que realizar varias acciones a la vez.


Se suele utilizar para controlar los accesos de usuarios y programas a un recurso de forma simultanea.


Se trata de una programación más lenta y laboriosa, obteniendo unos resultados lentos en las acciones.



Programación funcional


Se caracteriza principalmente por permitir declarar y llamar a funciones dentro de otras funciones.



Programación lógica


Se suele utilizar en la inteligencia artificial y pequeños programas infantiles. Se trata de una programación basada en el cálculo de predicados (una teoría matemática que permite lograr que un ordenador basándose en hecho y reglas lógicas, pueda dar soluciones inteligentes).

miércoles, 18 de agosto de 2010

Computo en la Nube

La computación en la nube es una tecnología que ofrece servicios informáticos desde internet, donde no es necesario tener la aplicación instalada en el computador y el usuario puede acceder a este servicio desde la nube o Internet.

La computación en la nube o cloud computing es la nueva arquitectura informática que se define como “una tecnología que permite ofrecer servicios de computación a través de Internet”, donde la nube se refiere a la Internet.

El computo en la nube quiere decir que todo lo que hagamos en el computador lo trabajemos directamente de Internet y los datos se almacenen encriptados en grandes servidores, y para acceder a las aplicaciones se puede hacer desde cualquier dispositivo, en cualquier lugar y en el momento que se quiera a través de Internet.

EN LA NUBE

Este término no es nuevo se viene hablando de él hace algunos años pero no se había tratado de implementar debido a la falta de madurez para aceptar los cambios, pero hoy en día se puede dar debido al avance de la tecnología como es la vitalización, el almacenamiento de datos y el aumento en la confianza.

El internet se puede ver como una gran nube donde todo está interconectado, al conectarse se puede acceder a las aplicaciones que necesito y las cuales me suministra un proveedor.

Permite de esta manera que las tecnologías de la información se convierten en un servicio y los programas no tiene que estar instalados en el computador y si no acceder a ellos por medio de internet, sin preocupación de actualizaciones o mantenimiento, un ejemplo de esto sería cuando usamos el servicio de agua o luz, se consumen y mensualmente se paga una factura por lo que se consumió y la cual es entendible por el usuario, con este servicio se necesitaría que un proveedor suministrara los servicios o aplicaciones que el usuario necesitara y mensualmente pagara por este servicio solo se necesitaría una conexión a internet.

Este servicio nos da una alta capacidad de procesamiento y almacenamiento ya que no se necesitaría tener un computador instalado, lo que nos ahorra tiempo y dinero tanto a personas normales como a grandes empresas que para manejar sus procesos tiene que hacer una gran inversión en hardware permitiendo que las empresas sean más competitivas sin necesidad de invertir un alto capital al inicio lo que es la principal barrera para ingresar al mercado así se podría competir con otras empresas al mismo nivel y las ventajas para acceder al mercado ya no serian de la empresa que más recursos tecnológicos tengan sino de la empresa que sepa aprovechar mejor estos recursos.

El cambio para esta tecnología es gradual ya que todo cambio toma tiempo en ser aceptado por las personas, de igual manera también tendrá un cambio cultural lo que llevara a que no todas las personas lo acepten de la misma forma.

Estamos en un mundo globalizado donde las empresas de países subdesarrollados compiten con empresas de países desarrollados donde estas han tenido oportunidades con el empleo de las TICS, lo que muchas veces no tiene las empresas de países subdesarrollados pero con esta tecnología se tendrá acceso a mejores recursos con un menor costo debido a que no se implementan, y así impulsar pequeñas empresas y competir a un mismo nivel con cualquier empresa.