Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-05-2004
mutant09 mutant09 is offline
Miembro
 
Registrado: abr 2004
Posts: 26
Poder: 0
mutant09 Va por buen camino
C++ Builder vs Delphi

Hola a todos,

Me di cuenta de que por la red hay más material de Delhi que de C++ Builder. Por ejemplo, en lo que respecta a componentes.

Mi pregunta es la siguiente:
¿cual es mejor?
¿y el más rápido?
Responder Con Cita
  #2  
Antiguo 24-05-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por mutant09
¿cual es mejor?
Podemos discutir eternamente eso, es como discutir si el español es mejor al inglés (Esa explicación se la he "robado" a Kinobi )

Cita:
Empezado por mutant09
¿y el más rápido?
El compilador es prácticamente el mismo, puedes comparar código compilado en Delphi y en Borland C++ y verás como lo resuelve prácticamente igual.

Particularmente prefiero Delphi por su código sencillo y agradable, sabiendo que tienen prácticamente la misma potencialidad.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 24-05-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Creo que depende de lo que querras hacer, aunque para el 99% de las aplicaciones, la potencia de delphi es equiparable a la de c++, y el código compilado es tan optimo en uno como en otro, y delphi tiene la ventaja de un código mas sencillo.

Ahora, para cierto tipo de aplicaciones... drivers de dispositivos por ejemplo, claro que la opción a elegir es c++.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #4  
Antiguo 25-05-2004
santana santana is offline
No confirmado
 
Registrado: nov 2003
Posts: 1.030
Poder: 0
santana cantidad desconocida en este momento
Hola.

Recuerdo haber tratado este tema con Jachguate en privado hace tiempo.

Cita:
Empezado por delphi.com.ar
Particularmente prefiero Delphi por su código sencillo y agradable, sabiendo que tienen prácticamente la misma potencialidad.
Permíteme.......discrepar

Para muchas cosas prefiero C++, sobre todo por la sintaxis (justo lo que muchos rechazan), que aunque a simple vista parece más complicada luego cuando llevas 10 minutos programando es más de lo mismo, pero mucho más potente en lo que a sintaxis se refiere.

Código:
   // Equivalente de StrCmp en C
long  CompararCadenas(char *c1, char *c2) {
	if (!c1 || !c2) return c2 -  c1;
	while (*c1 && *c2 && *c1 == *c2) {
		 c1++;
		c2++;
	}
	return (*c1 || *c2)?(*c1 -  *c2):0;
}
 

Código:
 
 
  // Equivalente de StrCmp en  Delphi
function comparaCadenas(c1, c2: PChar): integer;
begin
  if (c1  = nil) or (c2 = nil) then
	result := Integer(c2) - Integer(c1)
  else  begin
	while (c1^ <> #0) and (c2^ <> #0) and (c1^ = c2^) do  begin
	  Inc(c1);
	  Inc(c2);
	end;
	if (c1^ <>  #0) or (c2^ <> #0) then
	  result := Integer(c1^) -  Integer(c2^)
	else
	  result := 0;
  end;
end;
A mi me gusta más la primera que además aun se puede optimizar más, lo que pasa es que si la optimizas más en cuanto a sintaxis, no obtienes mejor resultado, en el caso de esta función obtendrías el mismo código máquina pero peor legibilidad. Y comparando la de Delphi con la de C lo que sí te puedo decir es que el código maquina resultante no difiere mucho el uno del otro.

Una vez hice unas pruebas de velocidad con una rutina que repetía 10000 veces la búsqueda de un texto en una cadena de más de 1Mb. El primer algoritmo lo hice en C tardaba unos 19 Segs., el segundo en Delphi (tardaba casi 2 segs más), luego en ensamblador embebido en Delphi hice 2 o 3 versiones y todas le sacaban más de 4 segundos a la versión de C, pero una de ellas creo que le sacaba 9 o 10 Segs. Y yo con eso y poco más me lo paso bomba y soy feliz
Responder Con Cita
  #5  
Antiguo 25-05-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Cool

Cita:
Empezado por santana
Y yo con eso y poco más me lo paso bomba y soy feliz
Es que vos sos una maniatica... y te has buscado un ejemplo que hace parecer que delphi está en clara desventaja...

Claro que habrán contraejemplos. Sobre todo en la sintaxis relacionada con punteros (que a mucha gente le asusta), y alguna otra cosilla que no tengo en mente ahora...

Creo, al final de cuentas, y como ya he dicho antes, que es una cuestión de gustos...

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #6  
Antiguo 25-05-2004
Avatar de kalimero
kalimero kalimero is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 288
Poder: 21
kalimero Va por buen camino
Hola a todos.

Pues recientemente hemos migrado una aplicacion desrrollada incialmente en C++ Builder a Delphi y puedo decir que la velocidad de compilación de Delphi supera con creces a la de C++ Builder.

Saludos.
Responder Con Cita
  #7  
Antiguo 25-05-2004
Avatar de kinobi
kinobi kinobi is offline
Miembro
 
Registrado: may 2003
Posts: 2.621
Poder: 24
kinobi Va por buen camino
Hola,

Cita:
Empezado por kalimero
... y puedo decir que la velocidad de compilación de Delphi supera con creces a la de C++ Builder.
¿Qué versión de Delphi y qué versión de C++ Builder?

Saludos.
Responder Con Cita
  #8  
Antiguo 25-05-2004
Avatar de kalimero
kalimero kalimero is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 288
Poder: 21
kalimero Va por buen camino
Hola.

En ambos casos la version 6.

Saludos.
Responder Con Cita
  #9  
Antiguo 25-05-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por santana
Para muchas cosas prefiero C++, sobre todo por la sintaxis (justo lo que muchos rechazan), que aunque a simple vista parece más complicada luego cuando llevas 10 minutos programando es más de lo mismo, pero mucho más potente en lo que a sintaxis se refiere.
Tu misma lo dices...

Te cuento que yo he probado ver el código compilado de algoritmos sencillos y es el mismo.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #10  
Antiguo 25-05-2004
santana santana is offline
No confirmado
 
Registrado: nov 2003
Posts: 1.030
Poder: 0
santana cantidad desconocida en este momento
Cita:
Empezado por santana
Para muchas cosas prefiero C++, sobre todo por la sintaxis (justo lo que muchos rechazan)
Cita:
Empezado por delphi.com.ar
Tu misma lo dices...
Bueno, me ha dado la vena y la he mejorado (aunque mi compilador me da el famoso warning de la asignación dentro de expresiones y no me acuerdo de cual es la opción para quitarlo)


Código:

Código:
long CompararCadenas(char *c1, char *c2)  {
	if (!c1 || !c2) return c2 - c1;
	int comp = 0;
	while  (!(comp = *c1 - *c2) && *c1++ && *c2++) { } 
	return  comp;
}


Y con esto y un bizcocho.....

Un saludo
Responder Con Cita
  #11  
Antiguo 25-05-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Bueno, pero sí de lo que se trata es de ser crípticos entonces ciertamente Delphi es muy inferior y no le ganará a C (que por cierto sobra el ++) ningún concurso de código compacto. Pero yo prefiero desperdiciar algunas líneas en blanco, una que otra variable innecesaria, etc. con tal de leer más confortablemente el código.

// Saludos
Responder Con Cita
  #12  
Antiguo 25-05-2004
santana santana is offline
No confirmado
 
Registrado: nov 2003
Posts: 1.030
Poder: 0
santana cantidad desconocida en este momento
Cita:
Empezado por roman
Bueno, pero sí de lo que se trata es de ser crípticos....
Pues no, en realidad de lo que se trataba era de haceros rabiar un poco y a ser posible, provocarle una nueva úlcera de estómago a Jachguate

Saludos

PD: El ++ es algo que se me escapa de vez en cuando sin pretenderlo
Responder Con Cita
  #13  
Antiguo 25-05-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por santana
Pues no, en realidad de lo que se trataba era de haceros rabiar un poco
No creo que nos hagas rabiar ya que nosotros somos felices leyendo código Delphi.

Responder Con Cita
  #14  
Antiguo 26-05-2004
Julià T. Julià T. is offline
Miembro
 
Registrado: may 2003
Ubicación: en el teclado
Posts: 314
Poder: 21
Julià T. Va por buen camino
Código Delphi [-]
  
  //creo que realmente la funcion en delphi seria como la siguiente
  function comparaCadenas(c1, c2: string): integer;
  begin
   result:=integer(C1<>c2);
  end;
  
    // Equivalente de StrCmp en  Delphi
  function comparaCadenas(c1, c2: PChar): integer;
  begin
    if (c1  = nil) or (c2 = nil) then
      result := Integer(c2) - Integer(c1)
    else  begin
      while (c1^ <> #0) and (c2^ <> #0) and (c1^ = c2^) do  begin
        Inc(c1);
        Inc(c2);
      end;
      if (c1^ <>  #0) or (c2^ <> #0) then
        result := Integer(c1^) -  Integer(c2^)
      else
        result := 0;
    end;
  end;

Última edición por santana fecha: 26-05-2004 a las 02:04:43. Razón: Cerrar correctamente etiqueta [/delphi]
Responder Con Cita
  #15  
Antiguo 26-05-2004
santana santana is offline
No confirmado
 
Registrado: nov 2003
Posts: 1.030
Poder: 0
santana cantidad desconocida en este momento
Cita:
Empezado por Julià T.
//creo que realmente la funcion en delphi seria como la siguiente
Cita:
Empezado por Julià T.
Código Delphi [-]
 function comparaCadenas(c1, c2: PChar): integer;
  begin
    if (c1  = nil) or (c2 = nil) then
      result := Integer(c2) - Integer(c1)
    else  begin
      while (c1^ <> #0) and (c2^ <> #0) and (c1^ = c2^) do  begin
        Inc(c1);
        Inc(c2);
      end;
      if (c1^ <>  #0) or (c2^ <> #0) then
        result := Integer(c1^) -  Integer(c2^)
      else
        result := 0;
    end;
  end;
Cita:
Empezado por santana
Código Delphi [-]
  function comparaCadenas(c1, c2: PChar): integer;
begin
  if (c1  = nil) or (c2 = nil) then
  result := Integer(c2) - Integer(c1)
  else  begin
  while (c1^ <> #0) and (c2^ <> #0) and (c1^ = c2^) do  begin
    Inc(c1);
    Inc(c2);
  end;
  if (c1^ <>  #0) or (c2^ <> #0) then
    result := Integer(c1^) -  Integer(c2^)
  else
    result := 0;
  end;
end;  
Sí, creo que sí.
Saludos.
Responder Con Cita
  #16  
Antiguo 26-05-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Qué esto es como eso de encuentra diferencias en dos dibujos?
Responder Con Cita
  #17  
Antiguo 26-05-2004
Julià T. Julià T. is offline
Miembro
 
Registrado: may 2003
Ubicación: en el teclado
Posts: 314
Poder: 21
Julià T. Va por buen camino
Cita:
Originalmente publicado por roman
¿Qué esto es como eso de encuentra diferencias en dos dibujos?
no la funcion sólo compara cadenas, quizá evolucione y pueda comparar dibujos

Supongo que la culpa fue mía al no distinguir detalladamente la función original de santana al estilo C de la equivalente al estilo delphi.
Responder Con Cita
  #18  
Antiguo 26-05-2004
santana santana is offline
No confirmado
 
Registrado: nov 2003
Posts: 1.030
Poder: 0
santana cantidad desconocida en este momento
Nosotros nos hemos entendido y eso es lo que importa

Un saludo.
Responder Con Cita
  #19  
Antiguo 23-11-2007
Avatar de Gabo
[Gabo] Gabo is offline
Miembro Premium
 
Registrado: mar 2007
Ubicación: Murcia (España)
Posts: 684
Poder: 18
Gabo Va por buen camino
Permítanme revivir la polémica...

Hace tiempo leí este comentario:

Cita:
C++ Builder tiene un hermano mayor llamado Delphi que es una herramienta RAD.
¿Es cierta esa información? Ya que por lo leído en éste hilo no parece haber una diferencia sustancial entre ambos como para decir que uno sea el hermano mayor del otro.

Estas consultas las hago a raíz de éste otro hilo. No quiero equivocarme con mi elección y en estos momentos estoy en la disyuntiva de elegir entre C++Builder o Delphi. ¿Qué me dicen? Yo estoy muy acostumbrado a C++Builder, pero si es cierto que de Delphi encuentro mucho más material y componentes (y foros ).
__________________
Saludos,
Gabo

A menos que se indique lo contrario, el código estará hecho en C++Builder.

Última edición por Gabo fecha: 23-11-2007 a las 14:32:11.
Responder Con Cita
  #20  
Antiguo 26-11-2007
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Yo, personalmente, te diría que depende. Yo me guío por el lenguaje más que por la herramienta. Si es una cosa de alto nivel, para usuarios finales, utilizo Pascal (Delphi, en tu caso), pero si es algo de bajo nivel, como una librería o la optimización manual de un algoritmo (a veces es rentable), pues utilizo C (no me gusta C++).

Ya sé que no es clarificador, pero en este caso, en el que ambos entornos son tan similares y que permiten instalar componentes del otro entorno aunque no sean del mismo lenguaje (al menos yo he conseguido instalar componentes Builder C++ en mi Delphi 6) considero que es más importante cómo te manejas con el lenguaje.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 22:08:54.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi