lunes, 13 de julio de 2015

actividad: julio-13 - Daniel bonilla



historia de la programación


Gottfried Wilheml von Leibniz (1646-1716)construyó una máquina similar a la de Pascal, aunque algo más compleja, podía dividir, multiplicar y resolver raíces cuadradas.

Pero quien realmente influyó en el diseño de los primeros computadores fue Charles Babbage (1793-1871). Babbage diseñó y construyó la "máquina diferencial" para el cálculo de polinomios. Más tarde diseñó la "máquina analítica" de propósito general, capaz de resolver cualquier operación matemática. Murió sin poder terminarla, debido al escepticismo de sus patrocinadores y a que la tecnología de la época no era lo suficientemente avanzada.

Un hito importante en la historia de la informática fueron las tarjetas perforadas como medio para "alimentar" los computadores. Lady Ada Lovelace propuso la utilización de las tarjetas perforadas en la máquina de Babbage.

Las computadoras de hoy en día se sustentan en la lógica matemática basada en un sistema binario. Dicho sistema se implementa sobre dispositivos electrónicos que permiten, o no, pasar la corriente, con lo que se consiguen los 2 estados binarios: 0 y 1. A mediados del siglo XX, cuando se empezaron a construir las primeras computadoras digitales, se utilizaban tubos de vacío para implementar los 2 estados binario. Tuvo mucha influencia en el desarrollo de la lógica matemática. En 1937 hizo una de sus primeras contribuciones a la lógica matemática y en 1943 plasmó sus ideas en una computadora que utilizaba tubos de vacío. George Boole (1815-1864) también contribuyó al algebra binaria y a los sistemas de circuitos de computadora, de hecho, en su honor fue bautizada el álgebra booleana.

La primera computadora digital electrónica patentada fue obra de John Vincent Atanasoff (1903-1995). Conocedor de las inventos de Pascal y Babbage, y ayudado por Clifford Berry (1918-1963), construyó el Atanasoff Berry Computer (ABC). El ABC se desarrolló entre 1937 y 1942. Consistía en una calculadora electrónica que utilizaba tubos de vacío y estaba basada en el sistema binario (sistema numérico en el que se combinan los valores verdadero y falso, o 0 y 1).

Junto a John Presper Eckert (1919-1995), Mauchly desarrolló una computadora electrónica completamente operacional a gran escala, para acelerar los complicados cálculos del proyecto militar de la universidad Moore. Se terminó en 1946 y se llamó Electronic Numerical Integrator And Computer (ENIAC). El ENIAC tenía 18.000 tubos electrónicos integrados en un volumen de 84 metros cúbicos. Pesaba unas 30 toneladas y consumía alrededor de 100.000 vatios. Su capacidad de cálculo era de 5.000 operaciones por segundo, aunque tenía que programarse manualmente conectándola a 3 tableros que contenían más de 6000 interruptores. Cargar un programa podía ser una tarea de varios días. El calor dispado por semejante monstruo debía ser importante, y se necesitaba una instalación de aire acondicionado. En definitiva, un ordenador portátil... más o menos.

En cuanto a la aparición de los lenguajes de programación, el archiconocido COBOL, que tantos problemas causó con el "efecto 2000", fue el primer lenguaje en el que no había que programar directamente en código binario, y fue Grace Murray Hoper en 1952, una oficial de la Marina de Estados Unidos desarrolló el primer compilador, un programa que puede traducir enunciados parecidos al inglés en un código binario comprensible para la maquina llamado COBOL (COmmon Business-Oriented Languaje).


A partir de ahí, los avances han sido vertiginosos.


  • La utilización del transistor en las computadoras en 1958, sustituyendo los tubos de vacío
  • La aparición del circuito integrado de mano de Jack Kilby, también en 1958
  • La miniaturización de un circuito electrónico en un chip de silicio en 1961
  • El primer microprocesador, el 4004 de Intel, en 1971
  • Gary Kildall crea el sistema operativo CP/M en 1973
  • IBM comercializa el primer PC en 1980


2.tipos de programación

Programación estructurada (PE)


La programación estructurada esta 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.

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 re-utilizació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.

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).

3.diferencias y similitudes entre programación orientada a objetos y programación estructurada.

diferencias:


  • El elemento principal de la programación orientada a objetos es el objeto de la estructurada no.
  • en la POO el objeto es un conjunto complejo de datos y programas y la PE consiste en descompones las acciones complejas en otras más simples capaces de ser resueltas con mayor facilidad.
  • POO posee un codigo mas reducido mientras que es PE tiende a ser mas largo.


semejanzas:


  • los dos no poseen de mucha complejidad para poder ser entendidos.



4.programas para el desarrollo de software

Microsoft Visual Studio.NET

Básicamente, Microsoft Visual Studio.NET es un entorno de desarrollo integrado (IDE, en inglés) desarrollado para crear aplicaciones para el sistema operativo Windows. Este entorno es capaz de ofrecer soporte a múltiples lenguajes de programación como Visual C++, Visual C#, Visual J#, y Visual Basic .NET. Del mismo modo, ofrece soporte a entornos de desarrollo web como ASP.NET.


Java SDK

Java es un lenguaje de programación diseñado para que el producto desarrollado con el lenguaje pueda ser interpretado y ejecutado independientemente del sistema operativo en el que se utilice mediante una máquina virtual Java (JVM).

La principal característica de Java es que fue diseñado para tener la menor cantidad de dependencias posibles, lo que favorece que los desarrolladores, ya que sólo tendrán que escribir el programa una sola vez, sin necesidad de tener que recompilarlo para otras plataformas o sistemas operativos.

NetBeans

Básicamente, NetBeans es un entorno de desarrollo integrado (IDE) libre con el cual el desarrollador podrá diseñar sus aplicaciones de escritorio usando el lenguaje Java a partir de un conjunto de componentes llamados “Módulos”.

Delphi

Delphi es un entorno de desarrollo de software orientado a la programación general con un marcado hincapié en la programación visual. Utilizando Object Pascal como lenguaje, es posible desarrollar programas para Windows y el sistema .




5.ejemplos :

Con Visual Studio se pueden desarrollar múltiples proyectos, incluyendo aplicaciones de escritorio y aplicaciones y servicios web, y asimismo permite a los desarrolladores crear aplicaciones, sitios y aplicaciones web para distintas versiones de Windows

con java sdk las aplicaciones generadas con Java funcionan dentro de las llamadas “Máquinas Virtuales Java”, permitiéndoles también ser ejecutadas en prácticamente cualquier tipo de dispositivo.

Algunos de los usos más comunes en los que se utiliza Delphi es el desarrollo

No hay comentarios:

Publicar un comentario