You are on page 1of 19

Comparacin de

Lenguajes

Edgar Eduardo Armenta Nuez

Lenguajes de Programacin Comparados

Seccin D06

Son algunas de las caractersticas de algunos lenguajes que, al compararlas,


muestran la eficiencia de cada lenguaje
Comparacin de algunos lenguajes

Equipo # 6
Integrantes del equipo:

Herrera Monte Felipe Osvani.


Navarro Salcedo Gabriel.
Pantoja Gonzlez Diana Gpe.
Crdenas L. Mnica.
Brambila Gonzlez Alejandra.
Armenta Nez E. Eduardo.
Gonzlez Enrquez Viridiana Anahi.

Edgar Eduardo Armenta Nuez


Seccin D06
Comparacin de algunos lenguajes

Comparacin de Lenguajes
Java

El lenguaje de programacin Java, fue diseado por la compaa Sun


Microsystems Inc, con el propsito de crear un lenguaje que pudiera funcionar en
redes computacionales heterogneas ( redes de computadoras formadas por ms
de un tipo de computadora, ya sean PC, MAC's, estaciones de trabajo, etc.),y que
fuera independiente de la plataforma en la que se vaya a ejecutar. Esto significa
que un programa de Java puede ejecutarse en cualquier mquina o plataforma.

Diferencia entre Java y CGI La diferencia es esencialmente simple, un CGI se


ejecuta en el servidor mientras que un programa en Java se ejecuta en la mquina
del usuario.

Java funciona de la siguiente manera: El compilador de Java deja el programa en


un Pseudo-cdigo (no es cdigo maquinal) y luego el intrprete de Java ejecuta el
programa (lo que se conoce como el "Java Virtual Machine"). Por eso Java es
multiplataforma, existe un intrprete para cada mquina diferente. Nota: El cdigo
maquinal es el cdigo binario que la computadora entiende y puede ejecutar.

Para entender bien como funciona un applet de Java vean el siguiente ejemplo:

1. Existe un cdigo de Java en un servidor de Web. (Los cdigos de Java se


caracterizan por tener la extensin *.class).

2. Una persona en Internet, con un browser compatible con Java, realiza una
coneccin al servidor.

3. El servidor enva el documento HTML y el cdigo en Java (*.class).

4. En la computadora del usuario remoto llegan ambos, y la Mquina Virtual


de Java, que est en el browser, transforma el cdigo Java en un cdigo
que entienda la mquina local y se ejecuta el programa dentro de la pgina
de Web.

5. Si el usuario realiza otra conexin a otro URL o se sale del browser, el


programa se deja de ejecutar y en la computadora no queda rastro de el.

Edgar Eduardo Armenta Nuez


Seccin D06
Comparacin de algunos lenguajes

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.

C es un lenguaje maduro de propsitos generales que se desarroll a partir de


estas races; su definicin aparece en 1978 en el apndice ``C Reference Manual''
del libro The C Programming Language, de Brian W. Kernighan y Dennis M.
Ritchie (Englewood Cliffs, Nueva Jersey, Prentice-Hall 1978), pero el estndar
recomendable ms reciente apareci en junio de 1983, en el documento de los
Laboratorios Bell titulado The C Programming Language-Reference Manual,
escrito por Dennis M. Ritchie

Un programa en C

Generalizando, un programa en C consta de tres secciones. La primera seccin es


donde van todos los ``headers''. Estos ``headers'' son comnmente los ``#define'' y
los ``#include''. Como segunda seccin se tienen las ``funciones''. Al igual que
Pascal, en C todas las funciones que se van a ocupar en el programa deben ir
antes que la funcin principal (main()). Declarando las funciones a ocupar al
principio del programa, se logra que la funcin principal est antes que el resto de
las funciones. Ahora, solo se habla de funciones ya que en C no existen los
procedimientos.

Y como ltima seccin se tiene a la funcin principal, llamada main. Cuando se


ejecuta el programa, lo primero que se ejecuta es esta funcin, y de ah sigue el
resto del programa.

Los smbolos { y } indican ``begin'' y ``end'' respectivamente. Si en una funcin o


en un ciclo while, por ejemplo, su contenido es de solamente una lnea, no es
necesario usar ``llaves'' ({ }), en caso contrario es obligacin usarlos.

Edgar Eduardo Armenta Nuez


Seccin D06
Comparacin de algunos lenguajes

Pascal

Pascal es un lenguaje de programacin de alto nivel de propsito general; esto es,


se puede utilizar para escribir programas para fines cientficos y comerciales.

El lenguaje de programacin Pascal fue desarrollado por el profesor Niklaus


(Nicols) Wirth en Zurich, Zuiza, al final de los aos 1960s y principios de los 70s.
Wirth dise este lenguaje para que fuese un buen primer lenguaje de
programacin para personas comenzando a aprender a programar. Pascal tiene
un nmero relativamente pequeo de conceptos para aprender y dominar. Su
diseo facilita escribir programas usando un estilo que est generalmente
aceptado como prctica estndar de programacin buena. Otra de las metas del
diseo de Wirth era la implementacin fcil. l dise un lenguaje para el cual
fuese fcil escribir un compilador para un nuevo tipo de computadora.

QBasic

Qbasic es un lenguaje de alto nivel, el cual consiste en instrucciones que los


humanos pueden relacionar y entender. El compilador de Qbasic se encarga de
traducir el mismo a lenguaje de mquina.

Un programa es una secuencia de instrucciones. El proceso de ejecutar esas


instrucciones se llama correr el programa. Los programas contienen las funciones
de entrada, procesamiento y salida. La persona que resuelve problemas mediante
escribir programas en la computadora se conoce como programador. Despus de
analizar el problema y desarrollar un plan para solucionarlo, escribe y prueba el
programa que instruye a la computadora como llevar a cabo el plan. El
procedimiento que realiza el programador se define como "problem solving". Pero
es necesario especificar que un programador y un usuario no son lo mismo. Un
usuario es cualquier persona que use el programa.

Edgar Eduardo Armenta Nuez


Seccin D06
Comparacin de algunos lenguajes

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

Operadores igualdad y desigualdad


== === != !== JavaScript, PHP
== != C, C#, C++, Java, Perl, Python, Ruby
= <> Basic, Pascal, Logo
= == ~~ ~= Smalltalk
== \== Prolog
eq eqv eql ne Lisp Scheme
Edgar Eduardo Armenta Nuez
Seccin D06
Comparacin de algunos lenguajes

is_equal Eiffel
.EQ. .NE. Fortran

Bloques

Operadores igualdad y desigualdad


{ .. } C, C#, C++, Java, Perl, PHP, JavaScript
begin .. end Ada, Pascal
foo .. end where foo in { if, do, ..} Ruby, Eiffel
sangras Phyton
[ x y .. ] Smalltalk
[ .. ] Logo

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

Llamadas a funciones sin/con parmetros

C, C#, C++, Java, JavaScript,


f() f(a,b)
Perl, PHP, Python
f f(a,b) Ada, Pascal, Eiffel, Prolog
f f[] f.call Ruby
Edgar Eduardo Armenta Nuez
Seccin D06
Comparacin de algunos lenguajes

f(a,b) f[a,b] f.call(a,b)


f f(a,b) f a,b Perl
(f) (f a b) Lisp Scheme
f value a f:b Smalltalk
CALL F CALL F(A,B) Fortran
fabf Forth

Identificadores (expresin regular)


[a-zA-Z][a-zA-Z0-9]* PL/I, Smalltalk
[_a-zA-Z][_a-zA-Z0-9]* C, C#, C++, Perl, PHP, Python
[_a-zA-Z$][_a-zA-Z0-9$]* Java, JavaScript
[^0-9\s]\S* Lisp, Scheme
[_a-zA-Z][_a-zA-Z0-9]* Variables de Ruby
[_a-zA-Z][_a-zA-Z0-9]*[!?]? Funciones de Ruby
[_A-Z][_a-zA-Z0-9]* Variables de Prolog
[_a-z][_a-zA-Z0-9]* Clasulas de Prolog

Otras caractersticas (En Cuanto a Java comparado con otros lenguajes)

a.) Introduccin

En este apartado se va a comparar Java con los lenguajes C++ y Smalltalk (primer
lenguaje que presentaba un modelo de objeto).

Caracterstica Java Smalltalk C++

Sencillez S S No

Robustez S S No

Seguridad S Algo No

Edgar Eduardo Armenta Nuez


Seccin D06
Comparacin de algunos lenguajes

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

Representacin Alta Media Alta

Tabla 1: Comparacin entre Java, SmallTalk y C++

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:

Eliminacin de la aritmtica de punteros y de las referencias.

Desaparecen los registros (struct), heredados del paradigma estructurado.

No se permite ni la definicin de tipos (typedef) ni la de macros (#define).

Edgar Eduardo Armenta Nuez


Seccin D06
Comparacin de algunos lenguajes

Ya no es necesario liberar memoria (free o delete).

De todas formas, lo que Java hace, en realidad, es la eliminacin de palabras


reservadas, y la utilizacin de un intrprete bastante pequeo.

c.) Robustez

Java realiza verificaciones en busca de problemas tanto en tiempo de compilacin


como en tiempo de ejecucin, lo que hace que se detecten errores lo antes
posible, normalmente en el ciclo de desarrollo. Algunas de estas verificaciones que
hacen que Java sea un lenguaje robusto son:

Verificacin del cdigo de byte.

Gestin de excepciones y errores.

Comprobacin de punteros y de lmites de vectores.

Se aprecia una clara diferencia con C++ quin no realiza ninguna de estas
verificaciones.

d.) Seguridad

En Java no se permite los accesos ilegales a memoria, algo que s se permita en


C++. Esto es algo muy importante puesto que este tipo de problema puede
ocasionar la propagacin de virus y otras clases de programas dainos por la red.

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.

Algunos de los conocimientos que podemos obtener de los cdigos de byte si


pasan la verificacin sin generar ningn mensaje de error son:

El cdigo no produce desbordamiento de operandos en la pila.

El tipo de los parmetros de todos los cdigos de operacin es conocido y


correcto.

Edgar Eduardo Armenta Nuez


Seccin D06
Comparacin de algunos lenguajes

No ha ocurrido ninguna conversin ilegal de datos, tal como convertir


enteros en punteros.

El acceso a los campos de un objeto se sabe si es legal mediante las


palabras reservadas public, private y protected.

No hay ningn intento de violar las reglas de acceso y seguridad


establecidas.

Por todo esto, y por no permitirlo mediante Java la utilizacin de mtodos de un


programa sin los privilegios del ncleo (kernel) del sistema operativo, la obligacin
de autentificacin por clave pblica para la realizacin de modificaciones, se
considera Java un lenguaje seguro. Todo esto no lo incorporan ni C++ ni Smalltalk,
por lo que Java es el nico de los tres considerable como seguro.

e.) Lenguaje interpretado

Java es un lenguaje que puede ejecutar el cdigo directamente, es decir es un


"lenguaje interpretado". Esto es una caracterstica que s que posee Smalltalk,
aunque no C++. No obstante, y aunque en teora se consumen menos recursos
siendo los lenguajes interpretados, el actual compilador que existe es bastante
lento, unas 20 veces menos rpido que C++. Esto normalmente no es vital para la
aplicacin ni demasiado apreciable por el usuario, y adems esta diferencia se
est reduciendo con los nuevos compiladores JIT (Just In Time).

f.) Dinamicidad

Para la obtencin de un mayor provecho de la tecnologa orientada a objetos, Java


no intenta conectar todos los mdulos que comprenden una aplicacin hasta el
tiempo de ejecucin. Esta caracterstica ya es contemplada por Smalltalk, aunque
no C++, que enlaza todos los mdulos cuando se compila.

g.) Portabilidad

Un programa Java puede ser ejecutado en diferentes entornos, algo imposible


para C++.

h.) Neutralidad

Edgar Eduardo Armenta Nuez


Seccin D06
Comparacin de algunos lenguajes

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.

Cualquier mquina que tenga el sistema de ejecucin (JRE o Java Runtime


Enviroment) puede ejecutar ese cdigo objeto, sin importar en modo alguno la
mquina en que ha sido generado.

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.

No es as para C++ y para Smalltalk, donde el cdigo generado podr ejecutarse


nicamente en la plataforma en la que se gener.

i.) Threads

Java permite mltiples hilos (multithreading) antes de su ejecucin y en tiempo de


ejecucin. La posibilidad de construir pequeos procesos o piezas independientes
de un gran proceso permite programar de una forma ms sencilla y es una
herramienta muy potente que no se ofrece en C++.

j.) Recoleccin automtica de basura ( Garbage colection )

Java modifica completamente la gestin de la memoria que se hace en C/C++. En


C/C++ se utilizan punteros, reservas de memoria (con las ordenes malloc, new,
free, delete...) y otra serie de elementos que dan lugar a graves errores en tiempo
de ejecucin difcilmente depurables.

Java tiene operadores nuevos para reservar memoria para los objetos, pero no
existe ninguna funcin explcita para liberarla.

La recoleccin de basura (objetos ya inservibles) es una parte integral de Java


durante la ejecucin de sus programas. Una vez que se ha almacenado un objeto
en el tiempo de ejecucin, el sistema hace un seguimiento del estado del objeto, y
en el momento en que se detecta que no se va a volver a utilizar ese objeto, el
sistema vaca ese espacio de memoria para un uso futuro.

Esta gestin de la memoria dinmica hace que la programacin en Java sea ms


fcil.

k.) Representacin

Edgar Eduardo Armenta Nuez


Seccin D06
Comparacin de algunos lenguajes

Uno de los objetivos perseguidos en el desarrollo de Java era la obtencin de


programas con interfaces cmodas e intuitivas. Esto tambin se permite en C++,
aunque con unos mtodos ms costosos, y en ningn caso con interfaces
portables como los que Java crea.

Tanto en Java como en C++ se logran unas interfaces con una representacin
mejor que la que se puede alcanzar con Smalltalk.

Lengua Paradigma(s) Estandardizado?


ActionScript 3.0 imprescindible, orientado al objeto, event- S, ECMA
Edgar Eduardo Armenta Nuez
Seccin D06
Comparacin de algunos lenguajes

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

Lengua Uso previsto Metas del diseo


ActionScript 3.0 Diseo del Web
Usos encajados, en tiempo
Ada Confiabilidad
real
ALGOL Uso Legibilidad, estructura
APL De proceso de datos Brevedad, expresividad
AutoIt Automatizacin, Scripting Desarrollo muy rpido
BASIC Educacin Simplicidad
DICHA Sistema Mecanografe libremente
Boo Uso Python-como sintaxis, extensibilidad
Acceso del nivel bajo, constreimiento
C Sistema
mnimo
C++ Uso, sistema Abstraccin, eficacia, compatibilidad
C# Uso Desarrollo rpido del uso
Ampla PASCAL del objeto al trabajo
Cromo Uso
sobre .NET
Limpio General Correccin, modularidad
COBOL Negocio y usos financieros Legibilidad
Desarrollo rpido del uso, facilidad de
ColdFusion Desarrollo del Web
empleo
Lisp comn General Estandardice Lisp
Eficacia, compilacin rpida,
Enrollamiento Usos ricos del Internet
expresividad
D Uso, sistema Compilability, correccin, eficacia
Dinmico pero bien adaptado para el
Dylan Uso, general
software comercial
Correccin, eficacia, diseo por el
Eiffel Uso
contrato
Telecomunicacin y usos
Erlang Tolerancia de avera, Scalability
distribuidos
F# Uso
Adelante Uso, sistemas encajados Puestas en prctica compactas
FORTRAN Usos cientficos y numricos Eficacia Runtime, sintaxis simple
GraphTalk
Maravilloso Uso Compatibilidad de JVM
Evaluacin perezosa, efecto secundario
Haskell Uso
explcito
Io Uso, Scripting Host-driven
J De proceso de datos Brevedad, expresividad, manipulacin
Edgar Eduardo Armenta Nuez
Seccin D06
Comparacin de algunos lenguajes

de datos de gran alcance


Escriba una vez el funcionamiento
Java Uso
dondequiera
Tela lateral del cliente
Javascript
scripting
Investigacin de la
Alegra Concatenative
programacin funcional
Notacin simple para el clculo de la
Lisp General
lambda, Homoiconicity
Lua Scripting Host-driven Pequeo, encajado, configuracin.
Cmputo y visualizacin
Mathematica
numricos
M-cdigo de Cmputo y visualizacin
MATLAB numricos
Uso, programacin de Mdulos de fuente, Co-rutinas,
Modula-2
sistemas brevedad.
Modula-3 Extensin de OO de Modula-2
Uso, programacin de Simplicidad, seguridad y eficacia;
Oberon
sistemas Tipo-segura Simplifed Modula-2
El palique tiene gusto, reutilizacin
Objetivo-c Uso basada componente del cdigo,
compatibilidad de C
Caml objetivo Uso Eficacia, robustez, correccin
PASCAL del objeto Legibilidad, desarrollo rpido del uso,
Uso, sistema
(Delphi) modularidad
Onza Educacin
PASCAL Educacin Legibilidad, disciplina, modularidad
Perl Proceso de texto, Scripting Brevedad, expresividad
PHP Uso del Web, CLI Robustez y simplicidad
El solucionar de problema,
Prlogo Programacin declarativa
inteligencia artificial
Simplicidad, legibilidad, expresividad,
Python Uso, educacin, Scripting
modularidad
Desarrollo rpido del uso, simplicidad,
REALbasic Uso
Multi-plataforma
Rub Uso, Scripting Expresividad, legibilidad
Huella pequea, caracteres numricos
Argot Uso, numrico, Scripting
encajados, rpidos
Scala Educacin
Esquema General, educacin Minimalistic, Scoping lxico
Palique Uso, educacin Uniformidad, orientado al objeto puro
SNOBOL Proceso de texto

Edgar Eduardo Armenta Nuez


Seccin D06
Comparacin de algunos lenguajes

Tcl Uso, Scripting


Bsico visual Uso Desarrollo rpido del uso, simplicidad
.NET bsico visual Uso Desarrollo rpido del uso, simplicidad
Windows Aplicabilidad, una lengua para
Automatizacin, Scripting
PowerShell programarlos todos
XL

CONCLUSIONES

Alejandra Brambila Gonzlez.

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.

C es un poco ms complicado, no tan grfico pero muy bueno para hacer


programas de procesos ya que est dividido en bloques y podemos detectar los
errores ms rpido.

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.

Edgar Eduardo Armenta Nuez


Seccin D06
Comparacin de algunos lenguajes

Edgar Eduardo Armenta Nuez

Si comparas varios lenguajes, tiendes a conocerlos un poco ms, adems que


identificas cuales son ms efectivos en unos casos y cules no son efectivos.
Conoces los usos de cada lenguaje y su manipulacin. Adems de las diferencias,
encontrars que la mayora de los lenguajes tienen una estructura similar de
codificacin, aunque hay otros que son diferentes.

Gabriel Navarro Salcedo

Pues prcticamente los lenguajes de programacin tienen una semntica diferente,


adems que unos pertenecen a los paradigmas imperativo y otros a los declarativos, en el
primer paradigma se puede accesar a la memoria el usuario, utiliza algoritmos, se
declaran variables. Mientras que en los declarativos el sistema se encarga de hacer el
acceso, ya no es necesario declarar variables y se preocupa por el Que, que por el cmo.
Entre el paradigma imperativo se encuentran los lenguajes Estructurados en Bloques,
Basados en Objetos y la Programacin Distribuida. En el Paradigma Declarativo, Lgico,
Funcional y Lenguajes de Base de Datos. Es por esto que cada lenguaje es diferente, al
comparar cada uno de los lenguajes nos damos cuenta que cada uno tiene
caractersticas, diferentes y un paradigma diferente, adems de pertenecer a un lenguaje
diferente, por ejemplo, C y Pascal son lenguajes estructurados en bloques, pero adems
C++ y Java tambin lo son, pero se consideran hbridos, ya que tambin son basados en
objetos, Simula, fue el primer lenguaje basado en objetos, mientras que Smalltack, es
puro en objetos, otros basados en objetos son Ada, Y Modula, Ada, tambin es un
lenguaje perteneciente a la programacin distribuida. Entre el paradigma declarativo
tenemos a los lenguajes: Prolog, Lisp, SQL, el primero pertenece a la programacin
lgica, que se basa en el clculo de predicados, mientras que Lisp, se encuentra en la
programacin funcional, ya que solamente operan a travs de funciones, y SQL, es
perteneciente al lenguaje de base de datos, los cuales se basan en Entidad y Relacin.
Tambin existe lenguajes visuales y basados en scripts, los visuales se basan en
formularios, iconos y diagramas entre los cuales estn, Hiperpascal, Pick, etc. y los
basados en script, son diseados para un fin especfico, y se almacenan como texto sin
formato en ASCII, entre estos tenemos a: Miva, PHP, Sheme, etc.

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

Edgar Eduardo Armenta Nuez


Seccin D06

You might also like