Académique Documents
Professionnel Documents
Culture Documents
Lenguajes
Seccin D06
Equipo # 6
Integrantes del equipo:
Comparacin de Lenguajes
Java
Para entender bien como funciona un applet de Java vean el siguiente ejemplo:
2. Una persona en Internet, con un browser compatible con Java, realiza una
coneccin al servidor.
C
C es un lenguaje de programacin diseado por Dennis Ritchie, de los
Laboratorios Bell, y se instal en un PDP-11 en 1972; se dise para ser el
lenguaje de los Sistemas Operativos UNIX1. A su vez, UNIX es un Sistema
Operativo desarrollado por Ken Thompson, quin utiliz el lenguaje ensamblador y
un lenguaje llamado B para producir las versiones originales de UNIX, en 1970. C
se invent para superar las limitaciones de B.
Un programa en C
Pascal
QBasic
Declaracin de Variables
tv C, C#, C++, Java, Perl6
v: t Pascal, Ada, Eiffel
| v1 v2 | Samlltalk
(declare (v t)) Lisp
global v1, v2 Python
var v JavaScript
define Dylan, Scheme
Operacin de Asignacin
= Basic, Fortran, C, C#, C++, Java, JavaScript, Perl, PHP
:= Pascal, Ada, Simula, Smalltalk, Eiffel, Dylan
make "v e Logo
set setq Lisp
set! Scheme
is Prolog
is_equal Eiffel
.EQ. .NE. Fortran
Bloques
if-then
if (c) b C, C#, C++, Java, JavaScript, PHP
if c then b end Ada, Eiffel, Ruby
if c then b Basic, Pascal
if c: b Python
b if c c and b Perl, Ruby
if c [b] Logo
c ifTrue:b c ifFalse:b Smalltalk
if (c): b endif PHP
c if b then Forth
(if c b) Lisp, Scheme
a.) Introduccin
En este apartado se va a comparar Java con los lenguajes C++ y Smalltalk (primer
lenguaje que presentaba un modelo de objeto).
Sencillez S S No
Robustez S S No
Seguridad S Algo No
Interpretado S S No
Dinamicidad S S No
Portabilidad S Algo No
Neutralidad S Algo No
Threads S No No
Garbage Colection S S No
Excepciones S S Algunas
b.) Sencillez
Java tiene una sencillez que no posee C++ aunque s Smalltalk. Esto es debido a
que una de las razones de la creacin de Java es la de obtener un lenguaje
parecido a C++ pero reduciendo los errores ms comunes de la programacin,
algo que se logra con mucho xito puesto que Java reduce un 50% los errores que
se comenten en C++ entre los que destacan:
c.) Robustez
Se aprecia una clara diferencia con C++ quin no realiza ninguna de estas
verificaciones.
d.) Seguridad
El cdigo Java pasa muchos tests antes de ejecutarse en una mquina. El cdigo
se pasa a travs de un verificador de cdigo de byte que comprueba el formato de
los fragmentos de cdigo y aplica un probador de teoremas para detectar
fragmentos de cdigo ilegal, cdigo que falsea punteros, viola derechos de acceso
sobre objetos o intenta cambiar el tipo o clase de un objeto.
f.) Dinamicidad
g.) Portabilidad
h.) Neutralidad
Se dice que Java tiene una arquitectura neutra puesto que compila su cdigo a un
fichero objeto de formato independiente de la arquitectura de la mquina en que
se ejecutar.
Actualmente existen sistemas de ejecucin (JRE) para Solaris 2.x, SunOs 4.1.x,
Windows 95, Windows NT, Linux, Irix, Aix, Mac, Apple y probablemente haya
grupos de desarrollo trabajando el portado a otras plataformas.
i.) Threads
Java tiene operadores nuevos para reservar memoria para los objetos, pero no
existe ninguna funcin explcita para liberarla.
k.) Representacin
Tanto en Java como en C++ se logran unas interfaces con una representacin
mejor que la que se puede alcanzar con Smalltalk.
driven
concurrente, distribuido, genrico,
Ada S, ANSI, ISO
imprescindible, orientado al objeto
ALGOL 58 imprescindible No
ALGOL 60 imprescindible S, ISO
ALGOL 68 concurrente, imprescindible No
APL poner en orden-orientado S, ISO
BASIC procesal S, ANSI
DICHA procesal No
Boo No
S, ANSI C89, ISO
C imprescindible
C90/C99
C++ imprescindible, orientado al objeto, genrico S, ISO
imprescindible, orientado al objeto, genrico,
C# S, ECMA, ISO
reflexivo
Cromo imprescindible, orientado al objeto, genrico No
Limpio funcional, genrico No
COBOL imprescindible, orientado al objeto S
ColdFusion procesal, orientado al objeto No
Lisp comn imprescindible, funcional, orientado al objeto S
event-driven, funcional, imprescindible,
Enrollamiento No
orientado al objeto, genrico, reflexivo
D imprescindible, orientado al objeto, genrico No
Dylan funcional, orientado al objeto No
Eiffel imprescindible, orientado al objeto, genrico S, ECMA, ISO[2]
Erlang funcional, concurrente, distribuido No
Punto de
funcional No
congelacin
funcional, orientado al objeto, imprescindible,
F# No
genrico
Adelante imprescindible, apilar-orientado S, ANSI
FORTRAN imprescindible, procesal, orientado al objeto S
GraphTalk lgica-orientado, orientado al objeto No
imprescindible, orientado al objeto, aspecto-
Maravilloso No
orientado
Haskell funcional, genrico, evaluacin perezosa No
Io imprescindible, orientado al objeto No
poner en orden-orientado, funcin-nivel,
J No
tcito
imprescindible, orientado al objeto, genrico,
Java No
reflexivo
Javascript imprescindible, orientado al objeto, funcional, S
Edgar Eduardo Armenta Nuez
Seccin D06
Comparacin de algunos lenguajes
reflexivo
Alegra funcional, apilar-orientado No
Lisp funcional, reflexivo; otros varan por dialecto solamente lisp comn
Lua procesal, imprescindible, reflexivo No
Mathematica funcional, procesal No
M-cdigo de
imprescindible No
MATLAB
S, ISO/IEC 10514-1:
Modula-2 imprescindible, genrico
1996
Modula-3 imprescindible, orientado al objeto, genrico No
Oberon imprescindible, orientado al objeto No
Objetivo-c imprescindible, orientado al objeto, reflexivo S
orientado al objeto, funcional, imprescindible,
Caml objetivo No
genrico
PASCAL del objeto
imprescindible, orientado al objeto, genrico No
(Delphi)
lgica, funcional, imprescindible, orientado al
Onza No
objeto, concurrente - multi paradigma
PASCAL imprescindible, procesal S
imprescindible, procesal, reflexivo, funcional,
Perl No
orientado al objeto, genrico
PHP imprescindible, orientado al objeto, reflexivo No
Prlogo lgica S, ISO
imprescindible, orientado al objeto, funcional,
Python No[3]
aspecto-orientado, reflexivo
imprescindible, orientado al objeto, aspecto-
Rub No
orientado, reflexivo
Argot imprescindible, procesal No
Scala orientado al objeto, funcional, genrico No
Esquema funcional S
orientado al objeto, concurrente, event-driven,
Palique S, ANSI
imprescindible, declarativo
Tcl imprescindible, procesal, event-driven No
Bsico visual componente-orientado, event-driven No
.NET bsico visual orientado al objeto, event-driven No
lgico, orientado al objeto, funcional, event-
Prlogo visual No
driven, imprescindible, declarativo
Windows imprescindible, orientado al objeto, funcional,
No
PowerShell tubera, reflexivo
programacin del concepto, imperativo (por
XL defecto), orientado al objeto (modelos No
mltiples),
Edgar Eduardo Armenta Nuez
Seccin D06
Comparacin de algunos lenguajes
CONCLUSIONES
Al comparar los lenguajes c y java por tomar un ejemplo vemos que ambos son
de la clase imperativa, son muy distintos ya que depende para la aplicacin que
queramos veremos cual usaremos en java es ms grfico y ms fcil de utilizar ya
que tiene herencias, se puede reutilizar el cdigo, el polimorfismo y todas sus
propiedades que lo facilitan.
Sin duda alguna tenemos a la mano una variedad muy grande de lenguajes, de los
cuales debemos ver para las situaciones que son ms sencillos de utilizar y
aprovecharlos.
Con esto podemos apreciar que hay muchsima variedad de lenguajes, por los cuales,
debemos apreciar cada uno de ellos y dar nuestra opinin, para saber cual es ms simple
para nuestras necesidades y aprovecharlo al 100%.