Sie sind auf Seite 1von 2

Comparacin entre Lenguaje Orientado a Objetos y

Lenguaje Imperativo
Ponce Castillo Carlos Orlando
Escuela de Informtica, Universidad Nacional de Trujillo
Trujillo - Per
orlandocarlos66@gmail.com
Resumen En este paper, describo las definiciones de los
Lenguajes Orientado a Objetos e Imperativo, adems
mostraremos las principales diferencias y semejanzas entre
ambos Lenguajes.
ndice de trminos Paradigma, Lenguaje, Lenguaje orientado
a ojetos, Lenguaje Im!erativo, Programaci"n Im!erativa,
Programaci"n Orientado a Ojetos#
Introduccin
Algunos lenguajes de programacin pueden
soportar mltiples paradigmas de programacin. Por
ejemplo, C++ puede ser empleado para desarrollar sot!are
utili"ando para ello un modelo de programacin puramente
orientado a objetos o bien puramente estructurado. #n casos
como el de C++, somos los programadores los $ue
decidimos $ue utili"ar.
Por otro lado, algunos lenguajes %an sido dise&ados para
soportar un nico paradigma de programacin, ese es el
caso de 'malltal( $ue soporta nicamente la programacin
orientada a objetos o )as(ell $ue solo soporta
la programacin uncional.
#s realmente comn el dise&o de lenguajes $ue soporten
mltiples paradigmas de programacin. #stos lenguajes son
a$uellos $ue soportan al menos dos paradigmas. *entro de
esta categor+a podemos encontrar nuevas caras y viejos
conocidos,
cala, Imperativo, orientado a objetos, uncional,
gen-rico y concurrente
Erlang, .uncional, concurrente y distribuido
!erl, Imperativo, orientado a objetos y uncional
!"!, Imperativo, orientado a objetos, uncional y
rele/ivo
#avacript, Imperativo, orientado a objetos
0prototipos1 y uncional
#ava, Imperativo, orientado a objetos, rele/ivo y
gen-rico
!yt$on y %uby, Imperativo, orientado a objetos,
rele/ivo y uncional
&'', Imperativo, orientado a objetos, uncional y
gen-rico
&(, Imperativo, orientado a objetos, uncional
0lambda1, rele/ivo y gen-rico
I. LE)*+,#E O%IE)-,.O , O/#E-O
'e le llama as+ a cual$uier lenguaje de programacin $ue
implemente los conceptos deinidos por la programacin
orientada a objetos.
Cabe notar $ue los conceptos deinidos en la programacin
orientada a objetos no son una condicin sino $ue son para
deinir $ue un lenguaje es orientado a objetos. e/isten
conceptos $ue pueden estar ausentes en un lenguaje dado y
sin embargo, no invalidar su deinicin como lenguaje
orientado a objetos.
2ui"3s las condiciones m+nimas necesarias las provee
el ormalismo $ue modeli"a mejor las propiedades de un
sistema orientado a objetos, los tipos de datos abstractos.
'iguiendo esa idea, cual$uier lenguaje $ue permita la
deinicin de tipos de datos, de operaciones nuevas sobre
esos tipos de datos, y de instanciar el tipo de datos podr+a
ser considerado orientado a objetos.
II. !%O*%,0,&I1) I0!E%,-I2,
#n la programacin imperativa se describen sentencias $ue
modiican el estado de un programa. #n muc%os sentidos
la programacin imperativa es la programacin natural
para las CP4s $ue se basan en ese paradigma al nivel m3s
b3sico.
#n este paradigma se e/presa como debe solucionarse un
problema especiicando una secuencia de acciones a
reali"ar a trav-s de uno o m3s procedimientos
denominados subrutinas o unciones.
*entro de esta categor+a se engloban la programacin
estructurada $ue restringe el uso de la instruccin goto,
la programacin modular y la programacin orientada a
objetos. Cada una de estas e/tensiones o evoluciones %an
permitido mejorar la mantenibilidad y la calidad de los
programas imperativos.
III. *I.#5#6CIA' P5I6CIPAL#'
La principal diferencia entre ambos paradigmas es $ue en la
programacin imperativa se describe paso a paso un conjunto
de instrucciones $ue %an de ejecutarse con la inalidad de
variar el estado del programa y resolver un problema para
%allar una solucin. #s decir, se describe un algoritmo en el
$ue se detallan los pasos secuenciales necesarios a seguir para
la resolucin de un problema.
7 en la programacin declarativa solo se describe el problema
pero no los pasos necesarios para llegar a su solucin, la cual
es %allada mediante mecanismos internos de inferencia de
informacina partir de la descripcin del problema en si.
La programacin imperativa se basa en la m3uina de
-uring mientras $ue la programacin declarativa se basa en
el clculo lambda.
I8. 9C:;O *I.#5#6CIA5 46A *# LA O<5A=
Podemos dierenciarlas sin temor a e$uivocarnos en los
siguientes supuestos,
4n programa $ue describe $ue problemas deben
resolverse pero no como, est3 programado con
programacin declarativa
Cual$uier programa $ue evita los eectos secundarios
o es referencialmente transparente, est3 programado
con programacin declarativa
<odo lo $ue no cuadre con las dos airmaciones
anteriores usa programacin imperativa o una me"cla de
ambas
45 3u6 $ay de la programacin orientada a objetos7
>ueno, como ya %e dic%o anteriormente, la programacin
orientada a objetos es una forma de programacin
imperativa puesto $ue al programar orientando a objetos se
describe la secuencia $ue debe seguir el programa para
resolver un problema dado.
La dierencia con otras ormas de programacin imperativas
como la programacin estructurada es $ue en la orientacin a
objetos se %ace uso de estructuras de datos llamadas objetos
$ueaglutinan propiedades y m6todos conjuntamente con sus
interacciones.
4n objeto es una estructura abstracta $ue describe con la
mayor iabilidad posible un objeto del mundo real y como se
relaciona o interacta con el resto del mundo $ue lo rodea a
trav6s de interfaces. La programacin orientada a objetos se
basa tambi-n en conceptos como la abstraccin de datos,
la encapsulacin, los eventos, la modularidad, la $erencia y
el polimorfismo.
8. CO6CL4'I:6
Aun$ue la dierencia entre la programacin estructurada y la
programacin orientada a objetos es grande, realmente la
mayor dierencia se encuentra en las ramas superiores. Las
dierencias entre programacin imperativa y programacin
declarativa es muc%o ms severa y compleja $ue las
dierencias entre dierentes sub?paradigmas dentro de la
programacin imperativa.
'obre lo $ue nos depara el uturo, no estoy seguro, ni si3uiera
tengo una opinin propia bien formada al respecto, pero es
aconsejable no perder la pista de lenguajes como )as(ell e
intentar comprender el paradigma de la programacin
declarativa para crecer como proesionales del desarrollo de
sot!are y sobre todo mantener una postura abierta y alejar
los talibanismos y la pol6mica est6ril.
8I. 5#.#5#6CIA'
89: Andre! '. <anenbaum., $istemas O!erativos, @era ed., 5#6<IC#
)ALL )I'PA6OA;#5ICA6A '.A. 6aucalpa de Auare", ;e/ico,
I'>6 BCD DDE CFG G, @BBD.
8;: '. H%ang, C. H%u, A. I. O. 'in, and P. I. <. ;o(, J'istemas
Operativos,K IEEE Electron %evice Lett#, vol. FE, pp. LCBMLG@, 6ov.
@BBB.
8<: 5. #. 'orace, 8. '. 5ein%ardt, and '. A. 8aug%n, J'isteas paralelos y
*istribuidos,K
8=: 'istemas Paralelos y *istribuidos. Available,
%ttp,NNldc.usb.veNOspdN*ocenciaNci?PDF@N<ema@NnodeP.%tml

Das könnte Ihnen auch gefallen