You are on page 1of 15

Universidad de Oriente Ncleo de Anzotegui Departamento de Computacin y Sistemas Asignatura: Programacin Orientada a Objeto

PROFESOR:
Pedro Dorta

BACHILLER:
Oscarelys Farias Cl: 19 457 310

Pto la Cruz, Mayo del 2011

INDICE
        
Introduccin Historia de la Computacin Evolucin del Hardware Software Software clasificacin y caractersticas Lenguaje de programacin Paradigmas orientados a Objetos Herramientas de Programacin Clase y Objectos Conclusin .. ... . 02 ..3-4 ..5-6 7-8 ...9

. .10- 13 .. 14 15 16

INTRODUCCIN
Por siglos los hombres han tratado de usar fuerzas y artefactos de diferente tipo para realizar sus trabajos, para hacerlos ms simples y rpidos.. En la humanidad se han construido distintos tipos de instrumentos de ayuda para que el hombre pudiera calcular, hasta llegar a la computadora digital moderna. Al desarrollarse las primeras computadoras electrnicas, se vio la necesidad de programarlas, es decir, de almacenar en memoria la informacin sobre la tarea que iban a ejecutar. Cuando programamos le indicamos una serie de instrucciones para que la computadora las ejecute. Para asegurarse que la computadora entienda las instrucciones, se han establecido lenguajes bien definidos para especificar y poder generar la comunicacin con la computadora. Estos lenguajes tienen caractersticas similares a los lenguajes comunes que utilizan las personas para comunicarse unas con otras, pues cuentan con reglas y estructuras que deben seguirse. A continuacin, se describen algunos inventos del pasado, que conforman los antecedentes ms importantes de la computacin, con el fin de entender el proceso por el que se ha pasado, para llegar a crear las diferentes computadoras con las que contamos en la actualidad y tambin entender un poco acerca de los lenguaje de programacin clasificacin y caractersticas.

HISTORIA DE LA COMPUTACIN

Mquinas Mecnicas (Antes de 1930)


En el siglo XVII, Blaise Pascal, un matemtico y filsofo francs, invento la Pascalina, una calculadora mecnica para operaciones de suma y resta. En el siglo XX, cuando Niklaus Wirth invento un lenguaje de programacin estructurado, lo llamo Pascal en honor al inventor de la primera calculadora mecnica. A finales del siglo XVII, el matemtico alemn Gottfried Leibnitz invento una calculadora mecnica ms compleja que poda realizar operaciones de multiplicacin y divisin, as como suma y resta. Se le llamo la Rueda de Leibnitz. La primera mquina que uso la idea de almacenamiento y programacin fue el telar de Jacquard, inventado por Joseph-Marie Jacquard a principios del siglo XIX. El telar usaba tarjetas perforadas (como un programa almacenado) para controlar el aumento de hilos en la fabricacin de textiles. En 1823 Charles Babbage invento la Maquina Diferencial, la cual poda hacer ms que operaciones polinomiales. Posteriormente invento una maquina llamada Maquina Analtica que, en cierta medida, es paralela a la idea de las computadoras modernas. Tena cuatro componentes: un molino (ALU moderno), un almacn (memoria), un operador (unidad de control) y una salida (entrada/salida) En 1890, Herman Hollerit, mientras trabajaba en la Oficina de Censos de Estados Unidos, diseo y construy una maquina programadora que poda leer, contar y ordenar automticamente los datos almacenados en las tarjetas perforadas.

Nacimiento de las Computadoras Electrnicas (1930-1950)


Entre 1930 y 1950, algunos cientficos, que podran considerarse los pioneros de la industria de la computacin electrnica, inventaron varias computadoras. La primera computadora para propsito especial que codificaba informacin de manera elctrica fue inventada por John V. Atanasoff y su asistente Clifford Berry en 1939. Se le llamo ABC (Atanasoff Berry Computer) y se diseo especialmente para resolver un sistema de ecuaciones lineales.

Al mismo tiempo, el matemtico alemn Konrad Zuse diseo una maquina de propsito general llamada Z1. En la dcada de 1930, el ejrcito estadounidense e IBM patrocinaron un proyecto en la Universidad de Harvard bajo la direccin de Howard Airen para construir una computadora enorme llamada Mark I. Esta computadora usaba componentes elctricos y mecnicos. En Inglaterra, Alan Turing invento una computadora llamada Colossus diseada para descifrar el cdigo Enigma alemn La primera computadora de propsito general totalmente electrnica fue fabricada por John Mauchly y J. Presper Eckert y recibi el nombre de ENIAC (electronic Numerical Integrator and Calculator: Calculadora e integrador numrico electrnico). Se termino en 1946. Utilizaba 18 000 tubos de vacio, media 100 pies de largo por 10 pies de alto y pesaba 30 toneladas

Computadoras basadas en el Modelo de Von Neumann


Las cinco computadoras precedentes utilizaron memoria solo para almacenar datos. Se programaron externamente usando cables o interruptores. John von Neumann propuso que el programa y los datos deberan almacenarse en la memoria. De esta manera, cada vez que usted utilizara una computadora para realizar un tarea nueva, solo necesitara cambiar el programa en lugar de volver a conectar los cables de la maquina o enceder y apagar cientos de interruptores. La primera computadora basada en la idea de von Neumann se construyo en 1950 en la Universidad de Pennsylvania y se llamo EDVAC. Al mismo tiempo, Maurice Wilkes construyo una computadora similar llamada EDSAC en la Universidad de Cambridge en Inglaterra. Generaciones de Computadoras (1950 hoy en da) Las computadoras construidas despus de 1950 siguieron, ms o menos, al modelo de von Neumann. Las computadoras se han vuelto ms rpidas, ms pequeas y ms baratas, pero el principio es casi el mismo. Los historiadores dividen este periodo en generaciones, con cada generacin presenciando un cambio importante en el hardware o el software (pero no en el modelo)

Primera Generacin La primera generacin (aproximadamente de 1950 a 1959) se caracteriza por la aparicin de computadoras comerciales. Durante este periodo, las computadoras eran utilizadas solo por profesionales. Estaban encerradas en habitaciones con acceso restringido nicamente al operador o a especialistas en computacin. Las computadoras eran voluminosas y usaban tubos de vacio como interruptores electrnicos. Segunda Generacin Las computadoras de la segunda generacin (aproximadamente de 1959 a 1965) utilizaban transistores en lugar de tubos de vacio. Esto redujo su tamao asi como su costo y las puso al alcance de las empresas medianas y pequeas. Dos lenguajes de programacin de alto nivel, FORTRAN Y COBOL, se inventaron y facilitaron la programacin de la tarea de la operacin de la computadora. Un ingeniero civil poda escribir un programa en FORTRAN para resolver un problema sin involucrarse en detalles electrnicos de la arquitectura de la computadora. Tercera Generacin La invencin del circuito integrado (transistores, cableados y otros componentes en un solo chip) redujeron el costo y el tamao de las computadoras aun mas. Las minicomputadoras aparecieron en el mercado. Los programas empaquetados, popularmente conocidos como paquetes de software, se volvieron disponibles. Cuarta Generacin
Aqu aparecen los microprocesadores que es un gran adelanto de la microelectrnica, son circuitos integrados de alta densidad y con una velocidadimpresionante. Las microcomputadoras con base en estos circuitos son extremadamente pequeas y baratas, por lo que su uso se extiende al mercado industrial. Aqu nacen las computadoras personales que han adquirido proporciones enormes y que han influido en la sociedad en general sobre la llamada "revolucin informtica". En 1976 Steve Wozniak y Steve Jobs inventan la primera microcomputadora de uso masivo y ms tarde forman la compaa conocida como la Apple que fue la segunda

compaa ms grande del mundo, antecedida tan solo por IBM; y esta por su parte es an de las cinco compaas ms grandes del mundo.

Quinta generacin
Esta generacin de duracin indefinida comenz en 1985. Presencio la aparicin de las computadoras laptos y palmtop, mejoras en los medios de almacenamiento secundarios (CD-ROM, DVD. Etc), el uso de la multimedia y el fenmeno de la realidad virtual.

GENERACIN Y EVOLUCIN DEL HARDWARE - SOFTWARE

Hardware
La clasificacin evolutiva del hardware del computador electrnico, est dividida en generaciones, donde cada una supone un cambio tecnolgico muy notable. El origen de las primeras es sencillo de establecer, ya que en ellas el hardware fue sufriendo cambios radicales. Los componentes esenciales que constituyen la electrnica del computador fueron totalmente reemplazados en las primeras tres generaciones, originando cambios que resultaron trascendentales. En las ltimas dcadas es ms difcil distinguir las nuevas generaciones, ya que los cambios han sido graduales y existe cierta continuidad en las tecnologas usadas. En principio, se pueden distinguir:


1 Generacin (1945-1956): Electrnica implementada con tubos de vaco. Fueron las primeras mquinas que desplazaron los componentes electromecnicos (rels). 2 Generacin (1957-1963): Electrnica desarrollada con transistores. La lgica discreta era muy parecida a la anterior, pero la implementacin result mucho ms pequea, reduciendo, entre otros factores, el tamao de un computador en notable escala.

3 Generacin (1964-hoy): Electrnica basada en circuitos Integrados . Esta tecnologa permiti integrar cientos de transistores y otros componentes electrnicos en un nico circuito integrado conformando una pastilla de silicio. Las computadoras redujeron as considerablemente su costo, consumo y tamao, incrementndose su capacidad, velocidad y fiabilidad, hasta producir mquinas como las que existen en la actualidad.

4 Generacin (futuro): Probablemente se originar cuando los circuitos de silicio, integrados a alta escala, sean reemplazados por un nuevo tipo de material o tecnologa.

Software
Durante los primeros aos de la era de la computadora, el software se contemplaba como un aadido. La programacin de computadoras era un "arte de andar por casa" para el que existan pocos mtodos sistemticos. El desarrollo del software se realizaba virtualmente sin ninguna planificacin, hasta que los planes comenzaron a descalabrarse y los costes a correr. Los programadores trataban de hacer las cosas bien, y con un esfuerzo heroico, a menudo salan con xito. El software se diseaba a medida para cada aplicacin y tenia una distribucin relativamente pequea. La mayora del software se desarrollaba y era utilizado por la misma persona u organizacin. La misma persona lo escriba, lo ejecutaba y, si fallaba, lo depuraba. El diseo era un proceso implcito, realizado en la mente de alguien y, la documentacin normalmente no exista. La segunda era en la evolucin de los sistemas de computadora se extienden desde la mitad de la dcada de los sesenta hasta finales de los setenta. La multiprogramacin y los sistemas multiusuario introdujeron nuevos conceptos de interaccin hombre - maquina. Tambin se caracterizo por el establecimiento del software como producto y la llegada de las "casas del software". Los patronos de la industria, del gobierno y de la universidad se aprestaban a "desarrollar el mejor paquete de software" y ganar as mucho dinero. La tercera era en la evolucin de los sistemas de computadora comenz a mediados de los aos setenta y contino ms all de una dcada. El sistema distribuido, mltiples computadoras, cada una ejecutando funciones concurrentes y comunicndose con alguna otra, increment notablemente la complejidad de los sistemas informticos. Las redes de rea local y de rea global, las comunicaciones digitales de alto ancho de banda y la creciente demanda de acceso "instantneo" a los datos, supusieron una fuerte presin sobre los desarrolladores del software. La conclusin de la tercera era se caracterizo por la llegada y amplio uso de los microprocesadores. El microprocesador ha producido un extenso grupo de productos inteligentes, desde automviles hasta hornos microondas, desde robots industriales a equipos de diagnsticos de suero sanguneo. La cuarta era de la evolucin de los sistemas informticos se aleja de las computadoras individuales y de los programas de computadoras, dirigindose al impacto colectivo de las computadoras y del software. Potentes mquinas personales controladas por sistemas operativos sofisticados, en redes globales y locales, acompaadas por aplicaciones de software avanzadas se han convertido en la norma. La industria del software ya es la cuna de la economa del mundo. Las tcnicas de la cuarta generacin para el desarrollo del software estn cambiando en la forma en que la comunidad del software construye programas informticos. Las tecnologas orientadas a objetos estn

desplazando rpidamente los enfoques de desarrollo de software ms convencionales en muchas reas de aplicaciones.

SOFTWARE CLASIFICACIN Y CARACTERSTICAS


El software se clasifica en tres grandes tipos:


Software de sistema: Su objetivo es desvincular adecuadamente al usuario y al programador de los detalles de la computadora en particular que se use, aislndolo especialmente del procesamiento referido a las caractersticas internas de: memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc. El software de sistema le procura al usuario y programador adecuadas interfaces de alto nivel, herramientas y utilidades de apoyo que permiten su mantenimiento. Incluye entre otros:
     

Sistemas operativos Controladores de dispositivos Herramientas de diagnstico Herramientas de Correccin y Optimizacin Servidores Utilidades de programacin: Es el conjunto de herramientas que permiten

Software

al programador desarrollar programas informticos, usando diferentes alternativas y lenguajes de programacin, de una manera prctica. Incluye entre otros:
     

Editores de texto Compiladores Intrpretes Enlazadores Depuradores Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores herramientas, usualmente en un entorno visual, de forma tal que el programador no necesite introducir mltiplescomandos para compilar, interpretar, depurar, etc. Habitualmente cuentan con una avanzada interfaz grfica de usuario (GUI).

Software de aplicacin: Es aquel que permite a los usuarios llevar a cabo una o varias tareas especficas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial nfasis en los negocios. Incluye entre otros:

          

Aplicaciones para Control de sistemas y automatizacin industrial Aplicaciones ofimticas Software educativo Software empresarial Bases de datos Telecomunicaciones (por ejemplo Internet y toda su estructura lgica) Videojuegos Software mdico Software de Clculo Numrico y simblico. Software de Diseo Asistido (CAD) Software de Control Numrico (CAM)

LENGUAJE DE PROGRAMACIN

Un lenguaje de programacin es un idioma artificial diseado para expresar computaciones que pueden ser llevadas a cabo por mquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento fsico y lgico de una mquina, para expresar algoritmos con precisin, o como modo de comunicacin humana. Est formado por un conjunto de smbolos y reglas sintcticas y semnticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el cdigo fuente de un programa informtico se le llama programacin. Clasificacin
Tradicionalmente los lenguajes de programacin se pueden clasificar atendiendo a varios factores:  Segn su nivel . Hace referencia a lo prxima al hombre que est la forma de expresar las sentencias: * Lenguajes de bajo nivel y ensambladores (cercanos a la mquina). * Lenguajes de alto nivel (cercanos al hombre).  Segn la relacin traduccin-ejecucin. * Compiladores. * Intrpretes.  Segn su campo de aplicacin: * Aplicaciones Cientficas. Predominan los algoritmos de clculo numrico y matrices.

* Aplicaciones de Procesamiento de Datos. Sobresalen las tareas relativas a la creacin, mantenimiento, consulta y listado de datos. Estos datos se organizan en registros, ficheros y bases de datos. * Aplicaciones de Tratamiento de Textos. Llevan a cabo la manipulacin de textos en lenguaje natural. * Aplicaciones en Inteligencia Artificial. Estn constituidas por programas que emulan un comportamiento inteligente. Ej. juegos inteligentes (ajedrez, tres en raya, ...), robtica, sistemas expertos, ... * Aplicaciones de Programacin de Sistemas. Como por ejemplo aqullos que se utilizan para desarrollar los mdulos de un Sistema Operativo, traductores de lenguajes, ...  Segn el estilo de programacin: * Imperativos. * Declarativos.

PARADIGMAS ORIENTADO A OBJECTO Usa objetos y sus interacciones, para disear aplicaciones y programas informticos. Est basado en varias tcnicas, incluyendo herencia, abstraccin, polimorfismo y encapsulamiento. Su uso se populariz a principios de la dcada de los aos 1990. En la actualidad, existe variedad de lenguajes de programacin que soportan la orientacin a objetos.

Caractersticas
Existe un acuerdo acerca de qu caractersticas contempla la "orientacin a objetos", las caractersticas siguientes son las ms importantes:


Abstraccin: denota las caractersticas esenciales de un objeto, donde se capturan sus comportamientos. Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cmo se implementan estas caractersticas. Los procesos, las funciones o los mtodos pueden tambin ser abstrados y cuando lo estn, una variedad de tcnicas son requeridas para ampliar una abstraccin. El proceso de abstraccin permite seleccionar las caractersticas relevantes dentro de un conjunto e identificar comportamientos comunes para definir nuevos tipos de entidades en el mundo real. La abstraccin es clave en el proceso de anlisis y diseo orientado a objetos, ya que mediante ella podemos llegar a armar un conjunto de clases que permitan modelar la realidad o el problema que se quiere atacar.

Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstraccin. Esto permite aumentar la cohesin de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultacin, principalmente porque se suelen emplear conjuntamente.

Modularidad: Se denomina Modularidad a la propiedad que permite subdividir una aplicacin en partes ms pequeas (llamadas mdulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicacin en s y de las restantes partes. Estos mdulos se pueden compilar por separado, pero tienen conexiones con otros mdulos. Al igual que la encapsulacin, los lenguajes soportan la Modularidad de diversas formas.

Principio de ocultacin: Cada objeto est aislado del exterior, es un mdulo natural, y cada tipo de objeto expone una interfaz a otros objetos que especifica cmo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificacin por quien no tenga derecho a acceder a ellas, solamente los propios mtodos internos del objeto pueden acceder a su estado. Esto asegura que otros objetos no pueden cambiar el estado interno de un objeto de maneras inesperadas, eliminando efectos secundarios e interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una manera controlada y limitando el grado de abstraccin. La aplicacin entera se reduce a un agregado o rompecabezas de objetos.

Polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizar el comportamiento correspondiente al objeto que se est usando. O dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocacin de un comportamiento en una referencia producir el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en "tiempo de ejecucin", esta ltima caracterstica se llama asignacin tarda o asignacin dinmica. Algunos lenguajes proporcionan medios ms estticos (en "tiempo de compilacin") de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++.

Herencia: las clases no estn aisladas, sino que se relacionan entre s, formando una jerarqua de clasificacin. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el

encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en rboles o enrejados que reflejan un comportamiento comn. Cuando un objeto hereda de ms de una clase se dice que hay herencia mltiple.


Recoleccin de basura: la recoleccin de basura o garbage collector es la tcnica por la cual el entorno de objetos se encarga de destruir automticamente, y por tanto desvincular la memoria asociada, los objetos que hayan quedado sin ninguna referencia a ellos. Esto significa que el programador no debe preocuparse por la asignacin o liberacin de memoria, ya que el entorno la asignar al crear un nuevo objeto y la liberar cuando nadie lo est usando. En la mayora de los lenguajes hbridos que se extendieron para soportar el Paradigma de Programacin Orientada a Objetos como C++ u Object Pascal, esta caracterstica no existe y la memoria debe desasignarse manualmente.

HERRAMIENTAS DE PROGRAMACIN Las herramientas de programacin, son aquellas que permiten realizar aplicativos, programas, rutinas, utilitarios y sistemas para que la parte fsica del computador u ordenador, funcione y pueda producir resultados. Hoy dia existen mltiples herramientas de programacin en el mercado, tanto para analistas expertos como para analistas inexpertos. Las herramientas de programacin ms comunes del mercado, cuentan hoy dia con programas de depuracin o debugger, que son utilitarios que nos permiten detectar los posibles errores en tiempo de ejecucion o corrida de rutinas y programas. Entre otras herramientas de programacin encontramos libreras y componentes, dados por algunos lenguajes de programacin como son el C++ y delphi. Otras herramientas de programacin son los lenguajes de programacin, que nos permiten crear rutinas, programas y utilitarios. Entre algunas de estas herramientas de programacin tenemos: Basic y Pascal que son herramientas de programacin, idoneas para la inicializacion de los programadores. C y C++ que sirven para la programacin de sistemas.

Cobol, que es una herramienta de programacin orientada hacia sistemas de gestion empresarial como nominas y contabilidad. Fortran, que son lenguajes especficos para clculos matemticos y o numricos. Herramientas de programacin para ambientes grficos como son Visual Basic, Delphi y Visual C. Html y Java, que permiten la creacin de pginas WEB para internet.

CLASE Y OBJECTO
Un objeto no es ms que un conjunto de variables (o datos) y mtodos (o funciones) relacionados entre s. Los objetos en programacin se usan para modelar objetos o entidades del mundo real (el objeto hijo, madre, o farmacutica, por ejemplo). Un objeto es, por tanto, la representacin en un programa de un concepto, y contiene toda la informacin necesaria para abstraerlo: datos que describen sus atributos y operaciones que pueden realizarse sobre los mismos. Una clase es una plantilla que define las variables y los mtodos que son comunes para todos los objetos de un cierto tipo. En nuestro ejemplo, la clase bicicleta definira variables miembro comunes a todas las bicicletas, como la marcha actual, la cadencia actual, etc. Esta clase tambin debe declarar e implementar los mtodos o funciones miembro que permiten al ciclista cambiar de marcha, frenar, y cambiar la cadencia de pedaleo

CONCLUSION
El avance tecnolgico que ha tenido la computadora con el paso del tiempo es muy satisfactorio ya que se muestran mejoras y nuevas ideas con respecto al diseo y los fines de cada mquina, pero lo que tienen en comn estos aparatos y por lo cual se les considera antecesores de la computadora es la finalidad de simplificar la solucin de clculos matemticos muy complicados, por ejemplo el baco que solo se utiliza para sumar y restar, simplifica estas operaciones y podemos realizar estos clculos con mas rapidez, otro ejemplo seria el sistema del Telar Automatizado el cual realizaba diseos en tela por medio de tarjetas perforadas que determinaban cada diseo y este a su vez se poda modificar intercambiando dichas tarjetas. Estas maquinas en la actualidad son obsoletas ya que contamos con tecnologas mas avanzadas que nos permiten realizar no solo clculos matemticos si no que a su vez nos permite intercambiar informacin (imagen, sonido, texto, etc.), pero sin la invencin de estos aparatos no podramos disfrutar de estas tecnologas ya que gracias a ellos fue posible la construccin y el descubrimiento de lo que en la actualidad llamamos computadora. La computadora es una mquina electrnica capaz de ordenar procesar y elegir un resultado con una informacin. Un lenguaje de programacin es un idioma artificial diseado expresar computaciones que pueden ser llevadas a cabo por mquinas las computadoras. para como

Las herramientas de programacin, son aquellas que permiten realizar aplicativos, programas, rutinas, utilitarios y sistemas para que la parte fsica del computador u ordenador, funcione y pueda producir resultados. Una clase es la definicin de un tipo de objeto. Por lo tanto un objeto es una realizacin o instancia de una clase.

You might also like