You are on page 1of 7

Java

Java es un lenguaje de
programacin de propsito
general, concurrente, orientado a objetos que fue
diseado especficamente para tener tan pocas
dependencias de implementacin como fuera
posible. Su intencin es permitir que
los desarrolladores de aplicaciones escriban el
programa una vez y lo ejecuten en cualquier
dispositivo (conocido en ingls como WORA, o
"write once, run anywhere"), lo que quiere decir
que el cdigo que es ejecutado en una
plataforma no tiene que ser recompilado para
correr en otra. Java es, a partir de 2012, uno de los lenguajes de programacin
ms populares en uso, particularmente para aplicaciones de cliente-servidor de
web, con unos 10 millones de usuarios reportados.1 2

El lenguaje de programacin Java fue originalmente desarrollado por James


Gosling de Sun Microsystems (la cual fue adquirida por la compaa Oracle) y
publicado en 1995 como un componente fundamental de la plataforma Java de
Sun Microsystems. Su sintaxis deriva en gran medida de C y C++, pero tiene
menos utilidades de bajo nivel que cualquiera de ellos. Las aplicaciones de Java
son generalmente compiladas a bytecode (clase Java) que puede ejecutarse en
cualquier mquina virtual Java (JVM) sin importar la arquitectura de la
computadora subyacente.

Orientado a objetos
La primera caracterstica, orientado a objetos (OO), se refiere a un mtodo de
programacin y al diseo del lenguaje. Aunque hay muchas interpretaciones
para OO, una primera idea es disear el software de forma que los distintos
tipos de datos que usen estn unidos a sus operaciones. As, los datos y el
cdigo (funciones o mtodos) se combinan en entidades llamadas objetos. Un
objeto puede verse como un paquete que contiene el comportamiento (el
cdigo) y el estado (datos). El principio es separar aquello que cambia de las
cosas que permanecen inalterables. Frecuentemente, cambiar una estructura
de datos implica un cambio en el cdigo que opera sobre los mismos, o
viceversa. Esta separacin en objetos coherentes e independientes ofrece una
base ms estable para el diseo de un sistema software. El objetivo es hacer
que grandes proyectos sean fciles de gestionar y manejar, mejorando como
consecuencia su calidad y reduciendo el nmero de proyectos fallidos.

Independencia de la plataforma
La segunda caracterstica, la independencia de la plataforma, significa que
programas escritos en el lenguaje Java pueden ejecutarse igualmente en
cualquier tipo de hardware. Este es el significado de ser capaz de escribir un
programa una vez y que pueda ejecutarse en cualquier dispositivo, tal como
reza el axioma de Java, "write once, run anywhere".

Para ello, se compila el cdigo fuente escrito en lenguaje Java, para generar un
cdigo conocido como bytecode (especficamente Java bytecode)
instrucciones mquina simplificadas especficas de la plataforma Java. Esta
pieza est a medio camino entre el cdigo fuente y el cdigo mquina que
entiende el dispositivo destino. El bytecode es ejecutado entonces en la
mquina virtual (JVM), un programa escrito en cdigo nativo de la plataforma
destino (que es el que entiende su hardware), que interpreta y ejecuta el
cdigo. Adems, se suministran bibliotecas adicionales para acceder a las
caractersticas de cada dispositivo (como los grficos, ejecucin mediante
hebras o threads, la interfaz de red) de forma unificada. Se debe tener presente
que, aunque hay una etapa explcita de compilacin, el bytecode generado es
interpretado o convertido a instrucciones mquina del cdigo nativo por el
compilador JIT (Just In Time).

Hay implementaciones del compilador de Java que convierten el cdigo fuente


directamente en cdigo objeto nativo, como GCJ. Esto elimina la etapa
intermedia donde se genera el bytecode, pero la salida de este tipo de
compiladores slo puede ejecutarse en un tipo de arquitectura.

Sintaxis
La sintaxis de Java se deriva en gran medida de C++. Pero a diferencia de ste,
que combina la sintaxis para programacin genrica, estructurada y orientada a
objetos, Java fue construido desde el principio para ser completamente
orientado a objetos. Todo en Java es un objeto (salvo algunas excepciones), y
todo en Java reside en alguna clase (recordemos que una clase es un molde a

partir del cual pueden crearse varios objetos).

C++
C++ es un lenguaje de programacin creado
por Bjarne Stroustrup en los laboratorios de
At&T en 1983. Stroustrup tom como base un
lenguaje de programacin popular en aquella
poca el cual era C.

El C++ es un derivado del mtico lenguaje C, el


cual fue creado en la dcada de los 70 por la
mano del finado Dennis Ritchie para la
programacin del sistema operativo [1] (un
sistema parecido a Unix es GNU/Linux), el cual
surgi como un lenguaje orientado a la
programacin de sistemas (System
Programming) y de herramientas (Utilities) recomendado sobre todo para
programadores expertos, y que no llevaba implementadas muchas funciones
[cmo cules?] que hacen a un lenguaje ms comprensible.
Sin embargo, aunque esto en un inicio se puede convertir en un problema, en la
prctica es su mayor virtud, ya que permite al programador un mayor control
sobre lo que est haciendo. Aos ms tarde, un programador llamado Bjarne
Stroustrup, creo lo que se conoce como C++.

Necesitaba ciertas facilidades de programacin, incluidas en otros lenguajes


pero que C no soportaba, al menos directamente, como son las llamadas clases
y objetos, principios usados en la programacin actual. Para ello redise C,
ampliando sus posibilidades pero manteniendo su mayor cualidad, la de
permitir al programador en todo momento tener controlado lo que est
haciendo, consiguiendo as una mayor rapidez que no se conseguira en otros
lenguajes.

C++ pretende llevar a C a un nuevo paradigma de clases y objetos con los que
se realiza una comprensin ms humana basndose en la construccin de
objetos, con caractersticas propias solo de ellos, agrupados en clases. Es decir,
si yo quisiera hacer un programa sobre animales, creara una clase llamada
animales, en la cual cada animal, por ejemplo un pato, sera un objeto, de tal
manera que se ve el intento de esta forma de programar por ser un fiel reflejo
de cmo los humanos (en teora) manejamos la realidad[referencia].

Se dice que nuestro cerebro trabaja de forma relacional[referencia]


(relacionando hechos), es por ello que cada vez que recuerdas algo, (cuentas un
hecho), termina siendo diferente (se agregan u omiten partes).

Qu es C++
C++ es un lenguaje de programacin orientado a objetos que toma la base del
lenguaje C y le agrega la capacidad de abstraer tipos como en Smalltalk.

La intencin de su creacin fue el extender al exitoso lenguaje de programacin


C con mecanismos que permitieran la manipulacin de objetos. En ese sentido,
desde el punto de vista de los lenguajes orientados a objetos, el C++ es un
lenguaje hbrido [por? fusionar con el siguiente].

Posteriormente se aadieron facilidades de programacin genrica, que se


sum a los otros dos paradigmas que ya estaban admitidos (programacin
estructurada y la programacin orientada a objetos). Por esto se suele decir que
el C++ es un lenguaje de programacin multiparadigma.
Python

Python es un lenguaje de
programacin interpretado cuya
filosofa hace hincapi en una sintaxis
que favorezca un cdigo legible.

Se trata de un lenguaje de
programacin multiparadigma, ya que
soporta orientacin a
objetos, programacin imperativa y,
en menor medida, programacin
funcional. Es un lenguaje interpretado, usa tipado dinmico y
es multiplataforma.

Es administrado por la Python Software Foundation. Posee una licencia


de cdigo abierto, denominada Python Software Foundation License,1 que es
compatible con la Licencia pblica general de GNU a partir de la versin 2.1.1, e
incompatible en ciertas versiones anteriores.

Caractersticas y paradigmas

Python es un lenguaje de programacin multiparadigma. Esto significa que ms


que forzar a los programadores a adoptar un estilo particular de programacin,
permite varios estilos: programacin orientada a objetos, programacin
imperativa y programacin funcional. Otros paradigmas estn soportados
mediante el uso de extensiones.

Python usa tipado dinmico y conteo de referencias para la administracin de


memoria.

Una caracterstica importante de Python es la resolucin dinmica de nombres;


es decir, lo que enlaza un mtodo y un nombre de variable durante la ejecucin
del programa (tambin llamado enlace dinmico de mtodos).

Otro objetivo del diseo del lenguaje es la facilidad de extensin. Se pueden


escribir nuevos mdulos fcilmente en C o C++. Python puede incluirse en
aplicaciones que necesitan una interfaz programable.

Aunque la programacin en Python podra considerarse en algunas situaciones


hostil a la programacin funcional tradicional del Lisp, existen bastantes
analogas entre Python y los lenguajes minimalistas de la familia Lisp como

puede ser Scheme.

BIBLIOGRAFA

https://www.java.com/es/download/faq/whatis_java.xml

https://es.wikipedia.org/wiki/Java_(lenguaje_de_programaci%C3%B3n)

https://es.wikipedia.org/wiki/Python

http://docs.python.org.ar/tutorial/pdfs/TutorialPython2.pdf

https://es.wikipedia.org/wiki/C%2B%2B

www.uv.es/~sto/cursos/c++/curso95.pdf

You might also like