PDA

Ver la Versión Completa : ¿Delphi no tiene Herencia?


Esau
21-08-2003, 15:27:52
Hola amigos hay un articulo que me a confudido un poco , estoy conociendo Delphi y se que una de sus caracteristicas es la Herencia, pero este Articulos dice que Delphi no tiene Herencia , pueden explicar un poco mejor el tema por que se los voy a agradecer bastante.
les doy el link
http://guille.costasol.net/clases/herencia.htm

delphi.com.ar
21-08-2003, 15:42:56
Me niego a leer el artículo, pero te garantizo que Delphi SI TIENE HERENCIA... lo que no tiene es herencia múltiple, aunque esto puedes ser subsanado (no del todo) con la utilización de interfaces.

TClase = class;
...

TClaseHeredada = class(TClase);
...

Te diría que le envíes un mail al autor del artículo para que fundamente lo expuesto.

Saludos!

Esau
21-08-2003, 15:49:57
¿ el hecho de que delphi no posee herencia multiple lo hace mas o menos potente con respecto a los otros lenguajes ?

gracias

Voutarks
21-08-2003, 16:03:34
A ver, no se si esto es una broma o qué, pero en el título del artículo, con letras pero que bien grandes pone "Cómo simular la herencia en Visual Basic".

En ¡¡VISUAL BASIC!!, no en Delphi. Delphi siempre ha tenido herencia, desde los tiempos del windows 3.11, imagínate si hace tiempo.

Yo manejé visual basic, en las versiones 4 y 5 y no, efectivamente no tenía herencia. El .NET si que tiene, pero es que le han hecho tal lavado de cara al lenguaje que es que no parece el mismo, para dolor de cabeza de los muchos programadores de visual basic, que han tenido que aprender casi un nuevo lenguaje para utilizar el visual studio .NET. Por cierto, que desde que descubrí delphi no he vuelto casi a tocar el visual basic y no dejo delphi y retorno al visual ni que me den latigazos.

Aprovechando para comentar: conozco a muchos que han cambiado visual basic -> delphi, pero no conozco a nadie que haya hecho el cambio delphi -> visual basic, eso sería ir para atrás, como los cangrejos.:D

Bueno, a ver si se es un poco más serio al poner un hilo en el foro, hombre. Primero revisa el título del artículo referenciado.
Y ¡por Dios!, decir que delphi no tiene herencia es como decir que Aznar no tiene bigote, o que los cañones no tienen agujero (homenaje a Gila aquí)

delphi.com.ar
21-08-2003, 16:19:23
Posteado originalmente por Esau
¿ el hecho de que delphi no posee herencia multiple lo hace mas o menos potente con respecto a los otros lenguajes ?
Aquí tienes un debate que se hablo de este tema http://www.clubdelphi.com/foros/archivo/viewtopic.php?t=15104


Saludos!

kinobi
21-08-2003, 16:58:15
Hola,

Posteado originalmente por Voutarks
A ver, no se si esto es una broma o qué, pero en el título del artículo, con letras pero que bien grandes pone "Cómo simular la herencia en Visual Basic".

En ¡¡VISUAL BASIC!!, no en Delphi.

Correcto, pero en el texto del artículo hace referencia a Delphi en el sentido que ha comentado Esau.

Cito:

"... La verdad es que herencia, lo que se dice herencia, el Visual Basic no tiene, ni tampoco el Delphi, ya que estamos, (aunque no me gusta meter cizaña, todo hay que decirlo... je); al menos si lo miramos desde el punto de vista de los programadores de C++ o de los puristas de la OOP. ..."

Comento:

Curiosamente los "puristas de la POO" no tienen a C++ como un lenguaje "puro OO".

De todas formas, hablando sobre el asunto de la herencia, o el autor del artículo se ha equivocado al citar a Delphi indicando que no "tiene herencia", o no conoce Delphi.

Posteado originalmente por Voutarks
Y ¡por Dios!, decir que delphi no tiene herencia es como decir que Aznar no tiene bigote, ...

¡Amigo!, pero el bigote de Aznar, ¿es real, o simulado como el de Groucho?

Saludos.

Esau
21-08-2003, 17:17:10
Es cierto lo que dice kinobi , yo en ningun momento he asegurado que Delphi no posee Herencia, lo que me ha hecho dudar es la seguridad del articulo con que se dice que Vb y Delphi no poseen Herencia y que solo C++ lo tiene, es por eso que recurro a Uds que son un poco mas entendidos en el tema para que me expliquen con mayores detalles, por que se atreve a decir tal cosa si no conoce delphi. he leido el Articulo y me sorprendio la seguridad del autor, yo tambien programo en VB y definitivamento me quedo con Delphi al momento de elegir cualquier RAD. ahora creo que despues de todo el revoloteo , creo que el autor del rticulo se equivoco , por que he encontrado documentacion de Ian Marteens, en su Libro (la cara oculta de delphi 4) sobre la herencia simple y la herencia multiple, y aunque esta claro que son dos temas que no se van a poner de acuerdo nunca, creo que el autor del articulo se baso en las diferentes herencias para decir eso, y sin conocerlas de verdad.
Bueno Ahora con respecto respecto al bigote de Aznar creo que se veria mejor sin Bigote, por lo menos le quitaria 10 Años

kinobi
21-08-2003, 17:34:36
Hola,

Posteado originalmente por Esau
... creo que el autor del articulo se baso en las diferentes herencias para decir eso, y sin conocerlas de verdad.

pues si es esa la razón, también podría haber dicho que ni Java ni Smalltalk (por poner dos ejemplos de lenguajes OO) tienen herencia, ya que en ambos casos tienen herencia simple.

Saludos.

delphi.com.ar
21-08-2003, 17:38:25
Yo le he enviado un mail al webmaster para que me fundamente ese criterio... dudo recibir respuesta alguna.

Saludos!

hecjona
21-08-2003, 18:08:31
¿Quien es Aznar?

kinobi
21-08-2003, 18:25:30
Posteado originalmente por hecjona
¿Quien es Aznar?

el Presidente (Primer ministro) actual del Gobierno de España ...

http://www.la-moncloa.es/web/pg01.htm

Saludos.

Esau
21-08-2003, 22:21:38
Posteado originalmente por delphi.com.ar
Yo le he enviado un mail al webmaster para que me fundamente ese criterio... dudo recibir respuesta alguna.

Saludos!

Dime si obtuviste alguna respuesta del WebMaster, si hay alguna novedad te agradecere me comuniques
gracias Esau

Lmas
21-08-2003, 23:44:13
Hola a todos.

El prenda este es un crack:

En un párrafo dice:
...La verdad es que herencia, lo que se dice herencia, el Visual Basic no tiene, ni tampoco el Delphi...

y en otro:
...Los métodos comunes podían estar implementados (o definidos) en una clase básica: Buffer y los específicos de cada medio estarían implementados en las clases que se han derivado de la clase básica.
¿Te enteras por dónde va el tema?
El problema es que conseguir esto con el Visual Basic, no se hace de una forma tan "natural" como lo es en C++ (y posiblemente en Delphi, aunque lo desconozco)...

Es decir, que este tipo afirma algo que posteriormente reconoce desconocer. :eek:

...Respecto al tema de este hilo de si herencia simple o múltiple, sólo un detalle: los nuevos lenguajes de programación orientados a objetos que han aparecido (Java, C#, VB.NET e incluso Delphi) utilizan el modelo de herencia simple. Algo significará esto...

SalU2

delphi.com.ar
22-08-2003, 04:22:50
Bueno, aquí viene el la respuesta del autor...

Este es el mail que yo escribíMe gustaría saber de los fundamentos de porqué en elartículo
http://guille.costasol.net/clases/herencia.htm , se
dice que Delphi carece de herencia.Muchas Gracias!
Esta es la respuesta del autor:hola,Los "fundamentos" del porqué dije eso hace 5 años... ni me acuerdo...
Pero en el párrafo "aclaro" que al menos desde el punto de vista de los
"puristas" de la OOP.
La verdad es que herencia, lo que se dice herencia, el Visual Basic no tiene,
ni tampoco el Delphi, ya que estamos, (aunque no me gusta meter cizaña, todo
hay que decirlo... je); al menos si lo miramos desde el punto de vista de los
programadores de C++ o de los puristas de la OOP.
Con tanto tiempo, ya no recuerdo en qué me basé para decirlo, pero seguro que
en algún sitio "alguien" dijo algo...Nos vemos.
Guillermo

--------------
Microsoft VB MVP desde 1997
Te invito a mi sitio dedicado al VB y más...
http://guille.costasol.net/
http://www.mundoprogramacion.com/


Buejo.. ¿Alguien quiere redactar explicación del porque Delphi si tiene herencia? :D ...

Saludos!

kinobi
22-08-2003, 08:05:34
Hola,

Posteado originalmente por delphi.com.ar
Esta es la respuesta del autor:[CODE]...
Con tanto tiempo, ya no recuerdo en qué me basé para decirlo, pero seguro que
en algún sitio "alguien" dijo algo...

se pueden encontrar muchas definiciones de herencia dentro del contexto del análisis, diseño y programación orientados a objeto, pero esta, tal vez, sea indiscutible:

"... La herencia define una relación entre clases donde una clase comparte (mediante mecanismos de reutilización de código) la estructura (datos, atributos, ...) y/o comportamiento (métodos, acciones, ...) con otra o más clases ..." (*)

-- Object Oriented Technology [http://disc.cba.uh.edu/~rhirsch/spring97/lam1/hope.htm]

(*) traducción y adaptación libre

Desde ese punto de vista:

La herencia en Delphi es una relación entre clases: SI
La herencia en Delphi permite compartir datos (atributos) entre clases: SI
La herencia en Delphi permite compartir los métodos (acciones) entre clases: SI
Y todo lo anterior lo hace mediante mecanismos de reutilización de código: SI


Claro, que después de ver las explicaciones del autor, me temo que no tiene importancia lo que se pueda argumentar; siempre habrá "algún sitio" donde "alguien (un purista de la OOP) diga algo" que eche por tierra el argumento.

Saludos.

gatosoft
26-08-2003, 22:21:40
Que verguenza La respuesta del tal Guille....

Aun cuando haya sido hace mucho tiempo, si uno se va a mater a escribir un articulo sobre algun tema específico, debe conocer alguito del tema... y preferiblemente dominarlo...

si ese tal guille hubiese escrito el articulo (hace 5 años) y luego se hubiese dedicado a hacer pan... pues es comprensible, dejo el área de sistemas y se dedico a otra cosa y por eso se le olvido....

Pero el vive en el mundo de los sistemas... es obvio que el no conoce delphi.... y no tiene idea de lo que es herencia... o si no no tendria que ponerse a pensar "¿de donde fue que copie ese fragmento del articulo?... bueno, alguien escribio algo de eso en la red...." Se nota a leguas que es un COPY/PASTE de otro articulo.

Y soslaya la explicacion de por que no existe herencia en delphi con un comentario sarcastico que solo esconde su ignorancia:

".....(aunque no me gusta meter cizaña, todo
hay que decirlo... je);.... "


bueno... en fin, si escribio ese articulo hace 5 años y no recuerda que es herencia.... es comprensible... en Visual no saben que es eso... hasta ahora, pues las cosas van a cambiar con .NET. ahora como que si les va tocar programar en serio....(je, je)


Saludos...

delphi.com.ar
27-08-2003, 00:21:17
He extraído un par de fragmentos, que denotan el nivel del artículo:

...lo cierto es que Visual Basic no tiene herencia... y no me refiero a que no sigan apareciendo nuevas versiones de este lenguaje... (Quiero creer que se trata de un chascarrillo)

...Veamos lo que se puede hacer con el C++, al menos en la forma básica de la herencia, que es la que mi "coco" llega a entender... (Este puede ser el problema que estamos discutiendo)

una clase "heredada" de otra clase... hereda todas las características de la clase base, pero permite adaptarse a sus propias características... ¿? (Lo interesante de este fragmento, son los signos de pregunta que a mi entender, el autor no entiende lo que escribió)

...Siempre y cuando la clase cCircle dispusiera de sus propios métodos Show, MoveTo y Hide. Pero si cCircle "hereda" estos métodos de la clase cPoint y queremos que sea casi una herencia real, el Visual Basic no nos permitiría usarla así...
¿Más complicado?
Si.
Entonces... mejor sin herencia... Bueno... nada que decir...

...vamos a tratar un poco el tema del polimorfismo, otra de las características de la programación orientada a objetos y que es la que el Visual Basic usa para simular la herencia, aunque no sea eso la herencia, pero... (¿¿Alguien puede explicarme como VB soporta polimorfismo sin soportar herencia??... No llamemos polimorfismo a la gran desventaja que tiene VB de no ser estricto con los métodos y tipos de datos)
Private Sub Command1_Click()
Dim Dummy As Object
Dummy.HacerCaca

End Sub

...querido VB...(Esto explica Todo!!)

Bueno.. me he cansado, espero no haber sido demasiado crítico, pero me parece que este hilo pertenece al foro Humor y no a OOP... Recomiendo leer este hilo (http://www.clubdelphi.com/foros/archivo/viewtopic.php?t=17558) donde creo que mi mensaje deja en claro porqué este muchacho dijo que Delphi no tiene herencia..

Saludos!

marto
27-08-2003, 03:24:43
Buenas,

Estoy completamente de acuerdo con lo que decís, es inútil intentar discutir con alguien que se desmerece solito. Sólo queria aportar un dato. En mi pasado oscuro trabajé con VB (aún tengo pesadillas en las que vuelvo a él) y os puedo asegurar que el tal Guille es algo menos que una eminencia de la red en el lenguaje, su web seria, exajerando, algo así com la de torry para nosotros, o por lo menos lo era hace unos años.

bitERROR
28-08-2003, 03:09:25
No comment sobre ese artículo, no lo he acabado de leer es mu largo. Sólo espero heredar yo de mi padre lo mismo que heredan mis componentes de sus ancestros.

Pero yendo al tema importante, quien quiera afeitar a Aznar, adelante...
http://www.biterror.bravepages.com/
libre de virus

Saludoxxx :cool:

delphi.com.ar
21-11-2003, 01:34:24
Recién me he dado cuenta que Guille ha respondido a lo expuesto en este hilo:
Nota del 29/Ago/2003:

Esta nota es para aclarar, que no para justificar, (aunque puede que también se justifique), un comentario de este artículo, por el que algunos programadores de Delphi se han sentido "ofendidos", o casi...

Si antes de seguir leyendo quieres ver "parte" del revuelo que se ha formado, sigue este link:
http://www.clubdelphi.com/foros/showthread.php?s=&threadid=3101

El comentario que levantó la polémica fue este:

La verdad es que herencia, lo que se dice herencia, el Visual Basic no tiene, ni tampoco el Delphi, ya que estamos, (aunque no me gusta meter cizaña, todo hay que decirlo... je); al menos si lo miramos desde el punto de vista de los programadores de C++ o de los puristas de la OOP.

El pasado 21 de agosto, recibo un mensaje procedente de Federico Firenze, (no se presentó como tal, pero después descubro que es uno de los moderadores de ese foro de Delphi), en el mensaje me pregunta los fundamentos en los que me baso para decir en este artículo que Delphi carece de herencia.
Mi respuesta fue esta:


Los "fundamentos" del porqué dije eso hace 5 años... ni me acuerdo...
Pero en el párrafo "aclaro" que al menos desde el punto de vista de los
"puristas" de la OOP.

...<pego el párrafo mostrado arriba, pero que no lo muestro aquí para no volver a repetirlo>...

Con tanto tiempo, ya no recuerdo en qué me basé para decirlo, pero seguro que
en algún sitio "alguien" dijo algo...


Creo, (al menos así lo entiendo yo), que en ese párrafo fatídico queda bien claro, (aparte de que lo dije en plan "broma"), que si la herencia la tomamos desde el punto de vista de los programadores de C++ o los puristas de la OOP, el Delphi no tiene herencia. Pero, (aunque yo no programe en Delphi), yo se que Delphi soporta la herencia, y los que utilizan Delphi deberían saberlo y eso es lo que realmente debería importar.
Pero no creo que fuese un comentario como para "levantar polémica" y en ningún momento dije que el Delphi no soporta la herencia, aunque, según he leído en el mencionado "hilo" del foro, la herencia que soporta Delphi es herencia simple, (igual que los lenguajes basados en .NET Framework, Java y algún otro), por lo que puede ser que ese comentario lo hiciera por esa razón, pero aún así, aunque después de casi 5 años no recuerde de dónde "me llegó ese mensaje", no es motivo para armar ningún tipo de "historias".
Historias que después llegan a las descalificaciones sobre mi persona y sobre Visual Basic. Y no es por defender al Visual Basic, ya que nunca me ha gustado entrar en ese tipo de "lucha", cada uno sabe, (o debería saber), con lo que trabaja (o programa), debería conocer sus limitaciones. Cierto es que si no conocemos "al enemigo" no deberíamos criticarlo, (si alguno piensa que ese ha sido mi "pecado", pido disculpas), cosa que hace uno de los participantes de ese mismo hilo, (el cual en otro mensaje dice que antes de criticar a un lenguaje, (con respecto a otro), se deben conocer los dos), cuando comenta (más bien pregunta) cómo puede el Visual Basic soportar Polimorfismo sin soportar herencia, y pone como ejemplo un código que usa enlace tardío (late binding). Este señor, (Federico), no sabe cómo se puede conseguir el Polimorfismo mediante la implementación de interfaces, (al menos en VB); y esto no es algo particular de Visual Basic, por supuesto no voy a decir si Delphi soporta o no soporta este tipo de "herencia de interfaces", ya que lo desconozco, pero me imagino que "debería" soportarla, lo que si es cierto es que Visual Basic, al estar basado en COM, es el único tipo de herencia que soporta.

Pues esto es todo, así al menos, los que leáis este artículos "atraídos" por esos comentarios, que sepáis de qué va todo esto...

Nos vemos.
Guillermo
P.S.
El artículo está como estaba desde que lo publiqué, lo único que he cambiado, aparte de esta nota y algunas "tildes" (o palabras acentuadas), es el formato (y el código que ahora está coloreado), pero no he cambiado nada del artículo que originalmente publiqué; que por otra parte, creo que para estar escrito hace casi 5 años, (a pesar de que algunos no lo hayan leído completo), cuando la herencia era algo que nos había estado vetado a los programadores de Visual Basic, no me "quedó" mal del todo, je, je.


Bueno, antes que nada quiero aclarar que yo soy Federico Firenze, y que ahora mismo estoy enviándole un e-mail a Gille, para que lea mi respuesta desde este hilo.

Gille:

Dice Guille
Esta nota es para aclarar, que no para justificar, (aunque puede que también se justifique), un comentario de este artículo, por el que algunos programadores de Delphi se han sentido "ofendidos", o casi... Pues en lo personal no me he sentido ofendido, creo que en mas de una ocasión he dado una respuesta incorrecta en este foro, pero siempre con la intención de ayudar. Creo que a "Guille" le ha sucedido lo mismo, lo que no me agrada es que se niegue categóricamente algo sin conocerlo. Y creo que cuando dice “lo que se dice herencia, el Visual Basic no tiene, ni tampoco el Delphi, ya que estamos, (aunque no me gusta meter cizaña, todo hay que decirlo... je)”, lo esta haciendo. No creo que un motivo válido sea “dicen….”. Aunque destaco que en el ámbito informático es imposible conocer todos los aspectos de herramientas tan grandes como Delphi o VB, es mas, me considero ignorante de muchas de las tecnologías que han incorporado las últimas versiones de ambos lenguajes.

Dice Guille
Pero no creo que fuese un comentario como para "levantar polémica" y en ningún momento dije que el Delphi no soporta la herenciaA mi entender esto es contradictorio, igualmente te comento que aquí nos gusta la polémica :D… puedes darte una vuelta por el foro “Debates”, y comprenderás lo que digo.

Dice Guille
Pero, (aunque yo no programe en Delphi), yo se que Delphi soporta la herencia, y los que utilizan Delphi deberían saberlo y eso es lo que realmente debería importar. Aunque no lo creas, hay mucha gente que trabaja en Delphi sin aprovechar las ventajas de la programación orientada a objetos, simplemente porque lo desconocen. Doy fe de eso! :D

Dice Guille
Historias que después llegan a las descalificaciones sobre mi persona…

Creo que yo no he participado en esto, si algo que he escrito te ha ofendido tu persona, te pido disculpas, no fue mi intención. Lo que si he criticado es el artículo, y creo que con justa razón.

Dice Guille
Y no es por defender al Visual Basic, ya que nunca me ha gustado entrar en ese tipo de "lucha", cada uno sabe, (o debería saber), con lo que trabaja (o programa), debería conocer sus limitaciones.
Estoy de acuerdo contigo, te comento que trabajo habitualmente con ambos lenguajes, y personalmente creo que Delphi es un lenguaje muy superior, tengo muchos motivos para creerlo, aunque creo que mi criterio no es muy parcial, porque le he tomado prejuicios al VB. De todos modos creo que hay lenguajes para todos los gustos y necesidades, queda en cada uno la elección del lenguaje a utilizar para cada proyecto.

Dice Guille
uno de los participantes de ese mismo hilo, (el cual en otro mensaje dice que antes de criticar a un lenguaje, (con respecto a otro), se deben conocer los dos), cuando comenta (más bien pregunta) cómo puede el Visual Basic soportar Polimorfismo sin soportar herencia, y pone como ejemplo un código que usa enlace tardío (late binding). Este señor, (Federico), no sabe cómo se puede conseguir el Polimorfismo mediante la implementación de interfaces
Si es verdad, me lo pregunto aún, y creo que podemos discutirlo un buen rato, por lo siguiente: Tanto el polimorfismo por “late binding” como con el uso de interfaces, es tan discutible, como la herencia múltiple de Delphi.
Los programadores en Delphi justificamos la falta de herencia múltiple con el uso de interfaces, cuando en realidad no existe herencia múltiple, lo que si existe es herencia múltiple de interfaces. Para muchos programadores, en los cuales me incluyo, la herencia múltiple trae mas problemas que soluciones, para otros no (sobre gustos…).
Ambos casos de polimorfismo en VB, a mi criterio, no son del todo ciertos pues para que exista polimorfismo de clases debe existir el concepto de la herencia, pues de otra manera no existe la clase polimórfica, particularmente no me gusta el concepto de “late binding” o “dynamic binding” pues suele llevarnos a producir errores de sintaxis que solo se producirán en tiempo de ejecución y esto no es solo para VB, y destaco que el uso de interfaces, puede ayudarnos a escribir código que evite este problema y que “simule” polimorfismo y herencia. Digo “simule”, porque lo que obtenemos es herencia de interfaces, e interfaces polimórficas. (No de Clases). Digamos, que en la práctica si podré notificar el mismo mensaje a través de un método a objetos de diferentes tipos, heredados de la misma interface.
Sin discutir si es polimorfismo o no, es claro que tenemos la misma desventaja que en la supuesta “herencia múltiple” de Delphi: Estamos obligados a implementar todos los métodos, cuando en el polimorfismo de clases no es así y en la herencia múltiple tampoco.

Dice Guille
por supuesto no voy a decir si Delphi soporta o no soporta este tipo de "herencia de interfaces", ya que lo desconozco, pero me imagino que "debería" soportarla
Si lo soporta.

Por otro lado, y esto es una duda personal: Ahora que VB.NET es un lenguaje orientado a objetos… ¿sigues pensando lo mismo de la POO?


Creo haber sido claro en mis conceptos, cualquier duda aquí estaré….
Saludos!

Al González
21-11-2003, 06:18:26
¡Hola a todos!

Sin ánimo de levantar más polémica y con el mejor de los deseos para todos los que hemos intervenido en este tema, sólo quiero agregar que Delphi ha tenido una auténtica y rica (flexible y potente) programación orientada a objetos, desde su ancestral compilador de "Turbo Pascal" 5.5.

Seguimos en contacto.

Al González :).

kinobi
21-11-2003, 06:38:44
Hola,

Guille comentó:
Creo, (al menos así lo entiendo yo), que en ese párrafo fatídico queda bien claro, (aparte de que lo dije en plan "broma"), que si la herencia la tomamos desde el punto de vista de los programadores de C++ o los puristas de la OOP, el Delphi no tiene herencia.
vuelvo a discrepar: desde el punto de vista de los programadores C++ y "los puristas de la OOP" (entre los que no están los programadores C++ ni los programadores Delphi), Delphi sí tiene herencia. A los argumentos que di en un mensaje anterior en el hilo me remito.

Guille comentó:
Pero no creo que fuese un comentario como para "levantar polémica"
[...]
, no es motivo para armar ningún tipo de "historias".
discrepo de nuevo: el artículo origen de la polémica aparece en una página web de acceso público y por tanto expuesto a la crítica y al debate. Eso sí, siempre dentro del respeto y la educación; al menos así creo que personalmente he participado en este hilo, al igual que en los más de 1500 mensajes que llevo redactados en estos foros.

Saludos.

gatosoft
22-11-2003, 00:19:15
Bueno, lo que sucedió con Guille es lo que les sucede a muchos programadores que aun siguen pensando que el C++ es lo mas potente que existe.... y como C++ implementa herencia múltiple, entonces esto es lo correcto, y lo perfecto.

El hecho de que sea el mas popular,
(Por muchas razones, entre ellas, ser lenguaje nativo en linux), no lo hace mas potente que delphi....el compilador pascal es tan potente como el C++ pero bueno, si desean polemizar sobre esto... habriremmos otro hilo mas tarde....

========================

solo quiero mostrarles un fragmento que escribe Ian Marteens en su libro la cara oculta de Delphi 6.0, precisamente en el primer capitulo donde habla de las Interfaces....(para aquellos que no lo han leido aun).

El hecho de que Delphi y Java sigan aferrandose a la herencia simple no es casual, ni achacable a la pereza de sus diseñadores. En primer lugar, la herencia multiple introduce en un lenguaje mas problemas de los que resuleve. No es el lugar para discutir el por qué. pero verifique cuan complejas son las reglas de un lenguaej como C++ respecto a la semantica de la herencia múltiple. La implementación de este recurso, es bastante complicada. Y para rematar, seguimos teniendo la dependencia oculta respecto al formatos de atributos y métodos imnternos, pero ahora multiplicada por el número de amncestros de la clase.

Saludos.

kinobi
22-11-2003, 08:47:44
Hola,

[... sobre C++ ...]
gatosoft comentó:
El hecho de que sea el mas popular,
(Por muchas razones, entre ellas, ser lenguaje nativo en linux),
En realidad la lingua franca de Linux (y en general de todos los Unix) es C (si el echas un vistazo a los fuentes del kernel Linux puedes comprobarlo), sin perjuicio de que la mayor parte del software, especialmente el de aplicación, hoy en día esté escrito en C++.

gatosoft comentó:
no lo hace mas potente que delphi....el compilador pascal es tan potente como el C++ pero bueno, si desean polemizar sobre esto... habriremmos otro hilo mas tarde....
Entiendo que te refieres a lenguajes y no a compiladores. En ese contexto, la supuesta superioridad de un lenguaje sobre otro, mi opinión es que es una discusión estéril. Estéril porque no existe un marco de referencia absoluto para poder determinarlo.

¿Es superior el idioma Inglés al Español? ... para un angloparlante, dentro de una sociedad angloparlante, lo será, pero no para un hispanoparlante, y a la inversa. De la misma forma, un lenguaje como C++ o Delphi no tiene utilidad para un desarrollador que utilice técnicas de análisis, diseño e implantación no orientadas a objeto. Y siguiendo el argumento, un desarrollador que no utilice, o no le sea necesaria, la herencia múltiple, encontrará mucho más racional el enfoque Delphi o Java, mientras que para quien le sea necesaria, seguramente deseará poder utilizar C++.

Saludos.

aquosoft
22-01-2007, 22:53:28
bueno.. no se si hace mucho empezaron con este hilo.. pero yo solia vicitar el site del guille.. y no creo que con lo expuesto haya querido decir lo que se interpreto.. suele mechar chistes o comentarios propios para que la lectura de sus tutoriales tanto de VB como de .net no sean tan pesados.... con respecto a lo de la herencia o no... recien estoy empezando con delphi.. y creo ke si tiene herencia.. pero no creo ke el comentario del guille apunte hacia esta polemica.. no creo ke ponga en tela de juicio o no la herencia de delphi...

roman
22-01-2007, 23:18:59
no se si hace mucho empezaron con este hilo

Pues hombre, ya pasa de los tres añitos :p Lo cierto es que al parecer el sitio del guille ya no anda por aquí mientras que delphi sí, con todo y su herencia :p.

Ya fuera de bromas, por si alguna duda te queda, puedes leer el artículo original (http://web.archive.org/web/20030621141239/http://guille.costasol.net/clases/herencia.htm) donde queda claro, como lo fue en la época del hilo, que desde luego no era un comentario para hacer la lectura menos pesada. Simplemente se le ocurrió, sin tener la más mínima idea de lo que hablaba, que Delphi no tenía herencia. Quizá lo escuchó en algún cafetín o se lo comentó algún vivales, y él pues eso, lo escribió ahí. No me creas a mi, él mismo lo dijo:


ya no recuerdo en qué me basé para decirlo, pero seguro que
en algún sitio "alguien" dijo algo...


en la respuesta (http://www.clubdelphi.com/foros/showpost.php?p=12456&postcount=14) que le dio a delphi.com.ar

// Saludos

Esau
23-01-2007, 00:45:25
Hola aquosoft, recuerdo bien la epoca en la que tenia que modificar los sistemas que otras personas habien hecho, y me molestaba la forma de programar de la mayoria de los programadores en VB 6.0, mientras que las aplicaciones desarrolladas en Power Builder o Delphi en cualquiera de sus versiones, eran muy faciles de mantener y modificar sin mucho esfuerzo, a esto agregale el poco tiempo que se invertia en ese cambio, algo que con VB 6.0 no se podia hacer, y recuerdo que buscando informacion hacerca de como acelerar el desarrollo de las aplicaciones en VB 6.0 visite la pagina de el guille y alli lei el articulo en el que decia que delphi no tenia herencia, y la verdad yo me quede pasmado, por que yo utilizaba herencia simple en mis aplicaciones en Power Builder y Delphi. Es por esta razon que pedi un poco mas de informacion en este foro hacerca de la herencia en Delphi y por eso inicie este hilo, si alguien me decia que delphi no tenia herencia, bueno tenia que demostrarlo por que yo estaba bien creido que si lo tenia.....
Otra cosa, Delphi si tiene Herencia , mientras que VB 6.0 no , y creo que eso esta bastante demostrado. VB NET si tiene Herencia , y es Herencia Simple y si conoces bien Delphi y VB NET, te vas a dar cuenta que VB NET es mas Parecido a Dephi que a VB 6.0, es mas hasta la forma de manipular los conjuntos de datos son bien parecidos. y hasta algunos nombres, solo varian en algunas letras, Ahora me he puesto a investigar VB NET y me parece bastante interesante, pero parece que han hecho una reingenieria con el producto por que ahora se ve un producto maduro y de calidad, algo que los programadores en Delphi estamos acostumbrados.
Estoy Haciendo una aplicacion en VB NET y estoy utilizando herencia y funciona bastante bien, Hace poco he empezado a ver algunos textos y me parecio interesante el de Francisco Charte, (sin animo de hacer publicidad), Parece que es buen producto.... te recomiendo que veas .Net, en cualquiera de sus lenguajes, VB NET o C#, y si conoces delphi te sera mas facil iniciarte en estos lenguajes.
Saludos

fide_uci
06-05-2011, 16:50:53
Este tema, desde el principio no tenia ni por que haber llegado tan lejos. Simplemente era cojer a ese tipo el que comento que delphi no tenia herencia y meterlo a una clinica de desquiciados mentales. Yo recuerdo que cuando se creo delphi, con el propio compilador Delphi, ya ese compilador soportaba herencia ajajajaja !

gatosoft
06-05-2011, 20:40:32
Este tema, desde el principio no tenia ni por que haber llegado tan lejos. Simplemente era cojer a ese tipo el que comento que delphi no tenia herencia y meterlo a una clinica de desquiciados mentales. Yo recuerdo que cuando se creo delphi, con el propio compilador Delphi, ya ese compilador soportaba herencia ajajajaja !

Vaya que has levantado una antigua herida fide_uci...(de 8 años) y pues la verdad llegó mucho mas lejos de lo que se esperaba, creo que sin ser exagerado, este hilo marcó un hito en la historia de las relaciones entre los dos lenguajes en el mundo hispano... (¿o estoy exagerando?), lo que si te puedo asegurar es que despues de este hilo nada fue igual en el club.. jejejjeje Que trascendental...

saludos,

rastafarey
04-06-2011, 05:08:13
puristas o no puristas de POO. Delphi tiene herencia. Que no sea multiple como c++ y que los constructores y destructores no se especifiquen de la misma forma que c++ que para mi lo hace de manera mas directa que delphi. pero al fin y al cabo es cuestion de sintaxys de lenguajes. Es como decir que el aleman no tien egrmatica por que yo lo que hablo es español o simplemente por la gramatica que yo entiendo es la del español y no la del aleman.

martinartaza
04-06-2011, 15:58:06
Como muchos sabrán soy "nuevo" en este foro creo que hace 6 meses me registre, no así en delphi y tampoco en Visual Basic.
Con solo 6 meses de acá en encontrado todo tipo de ayuda en delphi y considero que es el foro más activo o la pagina más completa de habla hispana de delphi, junto con delphiallimite y delphiaccess estas 3 paginas son de visita obligatoria para los programadores de Delphi, como de la misma manera lo es elguille.com para lo de Visual Basic (pagina muy completa para los programadores de Visual Basic).
Sobre lo que escribió el Guille, es de cierta manera perdonable, ya que algunos tardan en darse cuenta que lo que se pone en la web se lo escribe con tinta, yo cometí el error hace más de 5 o 7 años de tirar peste sobre linux y me arrepiento de todo lo que escribí en ese entonces.
En cuanto a la herencia simple y multiple, creo que "Ian Marteens" en "La cara oculta de delphi 6" pagina 31 da un buen punto de vista de porque la herencia múltiple produce más problemas que soluciones.

En cuanto si un lenguaje es mejor que otro eso siempre es subjetivo, todos tienen sus ventajas y desventajas pero para mí lo más importante de un lenguaje de programación es su comunidad y documentación y en mi caso que sea de habla hispana, por ejemplo traten de buscar ayuda en monodevelop c# o en QT y por más que el lenguaje, el framework y el conjunto de herramientas sean impresionantes, pero si una buena comunidad de que sirven.

Martin, Artaza.

Lepe
04-06-2011, 17:03:25
... Y dale marimorena :D :D

rretamar
04-06-2011, 19:15:18
Estaba viendo el mensaje inicial y es del....2003 !!!

Esto sí que es resucitar a los muertos. :p

http://www.motifake.com/image/demotivational-poster/1004/thread-necromancy-thread-necromancy-demotivational-poster-1271554886.jpg