martes, 22 de febrero de 2011

C++

C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.
Posteriormente se añadieron facilidades de programación genérica, que se sumó a los otros dos paradigmas que ya estaban admitidos (programación estructurada y la programación orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de programación multiparadigma.
Actualmente existe un estándar, denominado ISO C++, al que se han adherido la mayoría de los fabricantes de compiladores más modernos. Existen también algunos intérpretes, tales como ROOT.
Una particularidad del C++ es la posibilidad de redefinir los operadores (sobrecarga de operadores), y de poder crear nuevos tipos que se comporten como tipos fundamentales.
El nombre C++ fue propuesto por Rick Mascitti en el año 1983, cuando el lenguaje fue utilizado por primera vez fuera de un laboratorio científico. Antes se había usado el nombre "C con clases". En C++, la expresión "C++" significa "incremento de C" y se refiere a que C++ es una extensión de C.

PROGAMACION ORIENTADA A OBJETOS(POO)

¿Qué son los objetos?En informática, un OBJETO es un conjunto de variables y de los métodos relacionados con esas variables.
Un poco más sencillo: un objeto contiene en sí mismo la información y los métodos o funciones necesarios para manipular esa información.
Lo más importante de los objetos es que permiten tener un control total sobre 'quién' o 'qué' puede acceder a sus miembros, es decir, los objetos pueden tener miembros públicos a los que podrán acceder otros objetos o miembros privados a los que sólo puede acceder él. Estos miembros pueden ser tanto variables como funciones.
El gran beneficio de todo esto es la encapsulación, el código fuente de un objeto puede escribirse y mantenerse de forma independiente a los otros objetos contenidos en la aplicación.

 ¿Qué son las clases?

Una CLASE es un proyecto, o prototipo, que define las variables y los métodos comunes a un cierto tipo de objetos.
Un poco más sencillo: las clases son las matrices de las que luego se pueden crear múltiples objetos del mismo tipo. La clase define las variables y los métodos comunes a los objetos de ese tipo, pero luego, cada objeto tendrá sus propios valores y compartirán las mismas funciones.
Primero deberemos crear una clase antes de poder crear objetos o ejemplares de esa clase.

 ¿Qué son los mensajes?

Para poder crear una aplicación necesitarás más de un objeto, y estos objetos no pueden estar aislados unos de otros, pues bien, para comunicarse esos objetos se envían mensajes.
Los mensajes son simples llamadas a las funciones o métodos del objeto con el se quiere comunicar para decirle que haga cualquier cosa.

 ¿Qué es la herencia?

Qué significa esto la herencia, quíen hereda qué; bueno tranquilo, esto sólo significa que puedes crear una clase partiendo de otra que ya exista.
Es decir, puedes crear una clase a través de una clase existente, y esta clase tendrá todas las variables y los métodos de su 'superclase', y además se le podrán añadir otras variables y métodos propios.
Se llama 'Superclase' a la clase de la que desciende una clase, puedes ver más sobre la

ENSAMBLADOR

El lenguaje ensamblador, o assembler (assembly language en inglés ) es un lenguaje de programación de bajo nivel para los computadores, microprocesadores, microcontroladores, y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura dada de CPU y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador. Esta representación es usualmente definida por el fabricante de hardware, y está basada en los mnemónicos que simbolizan los pasos de procesamiento (las instrucciones), los registros del procesador, las posiciones de memoria, y otras características del lenguaje. Un lenguaje ensamblador es por lo tanto específico a cierta arquitectura de computador física (o virtual). Esto está en contraste con la mayoría de los lenguajes de programación de alto nivel, que, idealmente son portables.

TRADUCTOR

Un traductor es cualquier programa que toma como entrada un texto escrito en un
lenguaje, llamado fuente y da como salida otro texto en un lenguaje, denominado
objeto.
En el caso de que el lenguaje fuente sea un lenguaje de programación de alto
nivel y el objeto sea un lenguaje de bajo nivel (ensamblador o código de máquina),
a dicho traductor se le denomina compilador. Un ensamblador es un compilador
cuyo lenguaje fuente es el lenguaje ensamblador. Un intérprete no genera un
programa equivalente, sino que toma una sentencia del programa fuente en un
lenguaje de alto nivel y la traduce al código equivalente y al mismo tiempo lo
ejecuta. Históricamente, con la escasez de memoria de los primeros ordenadores,
se puso de moda el uso de intérpretes frente a los compiladores, pues el programa
fuente sin traducir y el intérprete juntos daban una ocupación de memoria menor
que la resultante de los compiladores. Por ello los primeros ordenadores
personales iban siempre acompañados de un intérprete de BASIC (Spectrum,
Commodore VIC-20, PC XT de IBM, etc.). La mejor información sobre los errores
por parte del compilador así como una mayor velocidad de ejecución del código
resultante hizo que poco a poco se impusieran los compiladores. Hoy en día, y con
el problema de la memoria prácticamente resuelto, se puede hablar de un gran
predominio de los compiladores frente a los intérpretes, aunque intérpretes como
los incluidos en los navegadores de Internet para interpretar el código JVM de
Java son la gran excepción.

INTERPRETE

En ciencias de la computación, intérprete o interpretador es un programa informático capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los intérpretes se diferencian de los compiladores en que mientras estos traducen un programa desde su descripción en un lenguaje de programación al código de máquina del sistema, los primeros (los intérpretes) sólo realizan la traducción a medida que sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción.
Usando un intérprete, un solo archivo fuente puede producir resultados iguales incluso en sistemas sumamente diferentes (ej. una PC y un PlayStation 3). Usando un compilador, un solo archivo fuente puede producir resultados iguales solo si es compilado a distintos ejecutables específicos a cada sistema.

COMPILADOR

Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser simplemente texto. Este proceso de traducción se conoce como compilación.
Un compilador es un programa que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje de máquina). De esta manera un programador puede diseñar un programa en un lenguaje mucho más cercano a como piensa un ser humano, para luego compilarlo a un programa más manejable por una computadora.

martes, 8 de febrero de 2011

PROGRAMACION

La programación es el proceso de diseñar, escribir, probar, depurar y mantener el codigo fuente de programas computacionales. El código fuente es escrito en un lenguaje de programacion. El propósito de la programación es crear programas que exhiban un comportamiento deseado. El proceso de escribir código requiere frecuentemente conocimientos en varias áreas distintas, además del dominio del lenguaje a utilizar, algoritmos especializados y lógica formal. Programar no involucra necesariamente otras tareas tales como el análisis y diseño de la aplicación (pero si el diseño del código), aunque si suelen estar fusionadas en el desarrollo de pequeñas aplicaciones.