Вы находитесь на странице: 1из 13

Delphi vs. Visual Basic. Una comparacin entre estas dos herramientas RAD.

Una comparacin entre Delphi y Visual Basic Copyright 2001 Ernesto De Spirito Introduccin Cul es mejor? Delphi o Visual Basic? Es una pregunta simple y directa, pero desafortunadamente no tiene una respuesta simple y directa. La razn es que aunque ambas son herramientas RAD visuales tienen particularidades y diferencias muy significativas que hacen imposible llegar a una conclusin directa y general. Lo que podemos hacer sin embargo es analizar y comparar sus diversas caractersticas esperando que le sirva como gua para la evaluacin. Mi eleccin ha sido Delphi porque en la comparacin le di ms peso a ciertos factores, priorizndolos sobre los otros, y entonces el resultado fu Delphi. Con requisitos diferentes, sera perfectamente vlido elegir el Visual Basic. Su opcin de lenguaje queda en usted y depender de la importancia que le d a cada caracterstica. Curva de aprendizaje Visual Basic es muy fcil de aprender y de utilizar, no solamente porque el lenguaje de programacin no es OOP y es fcil de aprender y codificar (al final viene de BASIC), sino tambin porque el IDE es simple y cmodo de usar, y los objetos de base de datos que vienen con Visual Basic son ms fciles de utilizar que sus contrapartes de Delphi, aunque claro que no son tan potentes. Visual Basic hace muchas cosas por el programador. Por ejemplo, los objetos cuentan referencias y esto significa que por ejemplo si creamos un objeto asignndolo a una variable local, el objeto ser liberado automticamente cuando la funcin o el procedimiento finalice (a menos que lo asignamos a una variable no local). Visual Basic tiene un sistema de administracin sofisticado de memoria y utiliza un "colector de basura" (garbage colector) as que es rpido liberando memoria. En cuanto al acceso a bases de datos, en Visual Basic es ms simple. Se usa un solo componente que abre el Recordset, ofrece interfaz visual de navegador y se enlaza con los controles de datos, mientras que en Delphi hay que usar tres componentes para ello. La gran ventaja de los Recordsets de Visual Basic sobre los Datasets de Delphi es que los primeros manejan consultas actualizables automticamente: se puede tener una consulta de dos tablas y que sea "viva", mientras que en Delphi tenemos que utilizar actualizaciones cacheadas y un componente UpdateSQL con las respectivas consultas SQL para insertar, actualizar o eliminar un registro. Adems, cuando uno acta contra un servidor de base de datos en Delphi tiene que utilizar un componente Transaction, mientras que esto no es necesario en Visual Basic. Visto desde la perspectiva de un programador Visual Basic, el acceso a datos de Delphi resulta ser demasiada molestia cuando se lo compara con los Recordsets y el Control de Datos de Visual Basic que simplifican notoriamente esta cuestin.

En Delphi, la funcionalidad del Data Control de Visual Basic se divide en tres componentes. En la imagen se puede observar que los datos estn disponibles en tiempo de diseo y que por ejemplo uno puede cambiar la etiqueta predeterminada de los campos, as como su ancho de visualizacin, formato de visualizacin, mscara de edicin, etc.

Delphi es ms difcil de aprender que Visual Basic, pero no para quienes estn familiarizados por ejemplo con Turbo Pascal, FreePascal, o incluso C/C++. Delphi es ms difcil de usar, pero tiene sus ventajas. Por ejemplo, los objetos generalmente no cuentan referencias y esto significa que el programador tiene que encargarse de liberar los objetos no usados creados por un procedimiento o una funcin cuando ese procedimiento o funcin termina. La ventaja es que tenemos ms libertad en la manipulacin del objeto y podemos liberarlo cuando no lo necesitemos ms, sin importar cuntas variables apunten a l. En cuanto a la administracin de memoria, Delphi no tiene un colector de basura como Visual Basic, pero tiene su propio sistema de administracin de memoria, el que est optimizado para bloques pequeos de datos. El acceso a base de datos puede resultar algo incmodo al principio para quienes estn acostumbrados a Visual Basic, pero es muy potente, flexible y extensible. El IDE merece una mencin especial. Particularmente, el editor de cdigo de Visual Basic tiene algunas cosas interesantes. Borland invent el "Code Insight", pero personalmente pienso que Microsoft lo implement mejor. Los valores posibles de una variable o un parmetro, o las propiedades o los mtodos posibles de un objeto aparecen automtica e inmediatamente. El formato de maysculas/minsculas tambin es una caracterstica agradable (por ejemplo si uno declara una variable con el nombre "Doc", y despus escribe "DOc", "doc", "dOc", etc., la variable se ajusta al formato que aparece en la sentencia declarativa es decir "Doc"). Una cosa apreciable del IDE de Visual Basic es que cuando uno est depurando puede modificar una sentencia y continuar la ejecucin con los cambios en efecto, sin tener que recomenzar la aplicacin. Otra caracterstica agradable del Visual Basic es la ventana Inmediato, donde uno puede ejecutar sentencias interpretadas.

Pero la facilidad de programacin tiene que venir a expensas de algo. Visual Basic es fcil de aprender al principio y no requiere una base fuerte de educacin formal en programacin para poder aprenderlo, pero en tanto que uno avanza y demanda ms y ms de l, comienza uno a encontrarse conque VB tiene limitaciones serias que comienzan a recordarle que no por nada la "B" de Basic viene de "Beginner" principante (BASIC = Beginner's All-purpose Symbolic Instruction Code = cdigo simblico de instrucciones de propsito general para principiantes). Esto no significa necesariamente que los programadores de Visual Basic se cambiarn eventualmente a un lenguaje ms poderoso. Al contrario: la mayora de los usuarios de Visual Basic sern realmente felices con l por aos mientras nunca necesitan ir ms all de sus lmites, pero la verdad es que Visual Basic ha sido el "lenguaje de entrada" para muchos de los que hoy programan en Delphi. Aqu hay algunos testimonios:

Why Borland's Delphi?

Un hecho notable sobre Delphi es que uno puede realmente hacerlo todo y puede acceder "fcilmente" a todo lo que la mquina y el sistema operativo tienen para ofrecer. En Visual Basic, para llamar una funcin API hay que buscar la declaracin de la funcin API, constantes y tipos en una base de datos para copiar y pegar en los programas. Visto desde la perspectiva de un programador Delphi, esto es demasiada molestia cuando se lo compara con Delphi, donde uno puede simplemente llamar una funcin API como si fuera una funcin incorporada. Por supuesto, un lenguaje OOP es muy difcil de aprender si uno no tiene una base fuerte de programacin, pero una vez que uno lo domina, le da la capacidad de escribir cdigo reutilizable, extensible y fcil de mantener. Con los componentes de datos de Delphi uno puede tener abierta una tabla o consulta de la base de datos y ver los datos en tiempo de diseo, algo agradable en el momento de fijar el ancho de las columnas en una rejilla de datos. El IDE de Delphi no ofrece las caractersticas que describ arriba para el de Visual Basic, pero ofrece otras cosas. Por ejemplo el Editor de Cdigo de Delphi ofrece la posibilidad elegir el esquema de mapeo del teclado y plantillas de cdigo para ahorrarle escritura (algo que curiosamente esperaba encontrar en Visual Basic en vez de Delphi). En lo que hace a depuracin de errores, en Delphi uno dispone de algunas caractersticas avanzadas como las ventanas CPU y FPU, y la posibilidad de depurar programas multi-hilos. "Visual Basic hace ms fciles las cosas fciles, Delphi hace ms fciles las cosas difciles" (Computerworld, 1998). Propsito Para qu se propone utilizar el lenguaje de programacin? Esta una cuestin clave al elegir un lenguaje de programacin. Aqu hay un testimonio interesante de un ex-programador de Visual Basic:

Visual Basic Hardcore - por Bruce McKinney, 1999

Y abajo est la contestacin de un programador de Visual Basic que admite las limitaciones Visual Basic, pero tambin dice una cosa importante: cada lenguaje "tiene sus fortalezas y debilidades nicas, a pesar del "bombo" de comercializacin producido por aquellos con intereses creados en esos lenguajes" en una clara alusin a... Bueno, mejor lalo usted mismo:

La herramienta incorrecta para el trabajo correcto - por Don Kiely, 1999

Visual Basic es ideal para simples aplicaciones de interfaz de usuario (front-end), e inadecuado para cosas ms complejas, mientras que Delphi es ideal tanto para la interfaz de usuario (front-end) como para el procesamiento de fondo (back-end). Qu significa esto? Por ejemplo, con Visual Basic uno puede desarrollar una herramienta de compresin (como Winzip) diseando la interfaz de la aplicacin y escribiendo algo de cdigo para llamar a las rutinas de compresin de una determinada DLL u objeto ActiveX (escrito en otro lenguaje) que proporcione la capacidad de compresin. Con Delphi uno puede hacer lo mismo que con Visual Basic, pero adems puede escribir la DLL o el objeto ActiveX que realiza la tarea de compression/decompression. No es que sea imposible escribir una DLL o un objeto ActiveX en Visual Basic: es tcnicamente factible, pero muy inconveniente (vase Rendimiento y tamao del cdigo). Delphi es ms un lenguaje de "todo propsito" que Visual Basic Cuota de mercado Uno de los mritos que se deben reconocer a Visual Basic es que gracias a su sencillez puso la

programacin en Windows al alcance de literalmente millones de personas. En particular, el xito de Visual Basic en la comunidad de habla hispana es abrumador porque a la facilidad de empleo le tenemos que agregar que el IDE, la ayuda en lnea y la documentacin impresa estn traducidos al espaol. O que en Espaa Delphi se entrega con la documentacin impresa en espaol. Hey Borland, por qu no tenemos esa opcin en los pases de habla hispana de Amrica Latina? Estn perdiendo a lo grande aqu... El propsito y la facilidad de uso han acomodado a Visual Basic con una cuota de mercado muchsimo ms grande que la de Delphi en el mercado global. Sin embargo, en ciertos nichos de mercado, Delphi supera notoriamente a Visual Basic. PROGRAMACIN "INTERNA" Las medianas y grandes empresas que emplean programadores para desarrollar y mantener sus sistemas de gestin interna eligen claramente a Visual Basic por sobre Delphi. Este es el mercado de "aplicaciones simples de interfaz de usuario", y a sabiendas que no hay tantos programadores en Delphi como en Visual Basic, los ejecutivos optan por Visual Basic porque sencillamente prefieren tener un ejrcito de programadores a sus pies cuando necesitan a alguien. Estamos hablando de empresas que tienen bastante dinero como para pagar las licencias de la ltima versin de Visual Basic (vase Obsolescencia), para estar al da con el hardware (vase Rendimiento y tamao del cdigo), y para pagar por una solucin cuando su personal IT no puede desarrollar algo en Visual Basic debido a sus limitaciones intrnsecas. Solamente aquellas empresas que demandan ms que "aplicaciones simples de interfaz de usuario" de su personal IT usan Delphi. En una especie de proceso de realimentacin, o de "crculo vicioso" si lo prefiere, la posicin dominante de Visual Basic presiona a los programadores a seguir el camino de Visual Basic para ingresar al mercado laboral, derivando en otra razn para elegir Visual Basic en vez de Delphi. DESARROLLADORES DE SISTEMAS DE GESTIN Caen en esta categora las corporaciones de software, firmas de consultora de software y los desarrolladores (individuales) independientes que se dedican al desarrollo de sistemas de gestin (facturacin, inventarios, nmina, etc.), generalmente hechos a la medida. La posicin de Delphi es quizs un poco mejor en este mercado, pero Visual Basic todava gana por mucho porque es casi el mismo caso que la programacin interna que discut arriba, slo que simplemente es llevada a adelante por un tercero. Sin embargo, en el caso de los desarrolladores individuales podemos ver una inversin de papeles. En esta subcategora particular, Visual Basic gana solamente porque hay muchos programadores en Visual Basic desempleados que toman de vez en cuando trabajos de desarrolladores independientes mientras que siguen buscando un trabajo fijo, pero aquellos que realmente han decidido ganarse la vida como desarrolladores independientes de software claramente han hecho de Delphi su opcin para el desarrollo bajo Windows (por lo menos ste es el caso de todos mis amigos), siendo quizs cinco razones dominantes (entre otras) que: 1. Los que deciden ganarse la vida como desarrolladores independientes no son principiantes 2. Estando relevados de la presin de utilizar Visual Basic para incorporarse al mercado del trabajo, quedan en libertad de elegir la herramienta de desarrollo que desean 3. Las aplicaciones Delphi tienen menos requisitos de sistema (la pequea y mediana empresa las que acuden a desarrolladores individuales no pueden actualizar su hardware regularmente como las empresas grandes) 4. Hay un montn de componentes VCL freeware disponibles (los desarrolladores individuales generalmente no pueden invertir demasiado en la compra de soluciones de otros desarrolladores de software) 5. No pueden permitirse actualizar su hardware y herramienta de desarrollo cada ao, as que prefieren comprar una herramienta que pueda permanecer con ellos por largo tiempo (vase Obsolescencia)

El rendimiento de Delphi no lo limita a simples aplicaciones de intarfaz de usuario. Con Delphi uno puede crear DLLs, objetos ActiveX, servidores y aplicaciones de servicios, etc. OTROS DESARROLLADORES DE SOFTWARE Finalmente, tenemos el mercado de aquellos que desarrollan aplicaciones shareware y comerciales (diferentes de los sistemas de gestin), controles ActiveX, bibliotecas, etc. En este mercado, Visual Basic tiene una posicin muy dbil comparado con Delphi, aunque para hacer honor a la verdad, C++, particularmente Visual C++ todava prevalece en este mercado, pero puedo ver cmo Delphi est creciendo lenta pero constantemente en este mercado a expensas de Visual C++ porque ofrece un poder y rendimiento ms cercano a C++ y una facilidad de uso ms cercana a Visual Basic, trayndonos lo mejor de ambos mundos, ms la adicin de una jerarqua de componentes visuales y no visuales listos para usar, fciles de utilizar, altamente estandarizados y fcilmente extensibles (la VCL). Visual Basic es la eleccin de los ejecutivos, los principiantes y de quienes se ven forzados a utilizarlo para conseguir un o simplemente para seguir las masas. Delphi es la opcin de los desarrolladores independientes. Rendimiento y tamao del cdigo El nico tem donde he visto que Visual Basic tiene un buen rendimiento es en el acceso a datos, y quizs en los informes, porque la capa de acceso a datos y la generacin de reportes no estn hechas con Visual Basic, pero en lo que respecta estrictamente a generacin de cdigo, a pesar del hecho que Visual Basic ahora produce cdigo nativo en vez de pseudocdigo (P-Code), todava est muy lejos de alcanzar una velocidad comparable a Delphi, por ms optimizaciones que uno le active. Esto sucede porque Delphi tiene un compilador optimizante y hasta trae opciones de compilacin para optimizar la velocidad de su cdigo. Para decir ms, si uno no est contento con el funcionamiento de una rutina en Delphi, puede afinar el cdigo para exprimir hasta el ltimo nanosegundo, hasta el punto que si uno quiere puede incluir instrucciones en lenguaje ensamblador. En lo que hace a rendimiento de cdigo, Delphi es ideal para tareas que requieren programacin pesada. Aparte del rendimiento del cdigo generado, la VCL realiza cacheo de los objetos de Windows (por ejemplo

fuentes, plumas, brochas, etc.) para lograr un uso ms eficiente de los recursos de Windows. Mientras ms recursos del sistema, mejor por supuesto, pero la velocidad de ejecucin y el uso eficiente de recursos permiten que las aplicaciones Delphi funcionen razonablemente bien en las viejas mquinas Pentium con poca memoria, como las que todava se encuentran en muchas empresas pequeas y medianas.

Delphi tiene un compilador optimizante. Algunas opciones (optimizaciones, alineacin de campos de registros, sin marcos de pila stack frames, sin evaluacin boolena completa y sin controles de rango ni de sobreflujo overflow) ayudan a los profesionales a obtener lo mejor de su cdigo. De ser necesario, se pueden usar directivas de compilador para activar/dsactivar las distintas opciones de compilacin en el mismo cdigo fuente. La velocidad y el tamao del cdigo generalmente conflictan, pero cuando comparamos Delphi y Visual Basic, Delphi gana claramente en ambos extremos. Una aplicacin pequea de base de datos usando ADO y algunos de terceros cabe en un solo diskette de instalacin en el caso de Delphi, mientras que su contraparte del Visual Basic cabra en no menos de dos o tres diskettes (en ambos casos no estoy incluyendo ADO que ocupa aproximadamente 8 Mb). Por qu hay tanta diferencia? Delphi optimiza el tamao del cdigo todo lo que puede, genera ejecutables independientes (puede tambin generar ejecutables que trabajen con las bibliotecas runtime si uno desea) y utiliza SmartLinking (enlace inteligente) para evitar incluir procedimientos y funciones en el ejecutable que no estn referenciados en el cdigo. Visual Basic no tiene otra opcin ms que trabajar con bibliotecas runtime y objetos ActiveX (que son ms grandes y de no tan alto rendimiento como sus contrapartes VCL). Delphi produce aplicaciones independientes que son pequeas y entregan gran rendimiento, hacindolas ms amistosas con los recursos del sistema y los anchos de banda de los mdems, haciendo de Delphi una opcin ideal sobre Visual Basic para los desarrolladores independientes, tanto aquellos que producen soluciones a medida para PyMEs como los que producen aplicaciones shareware o comerciales a distribuir por Internet. Extensibilidad Visual Basic y Delphi son extensibles. Ambos IDEs soportan "add-ons" (agregados) para aadir asistentes y otras extensiones al entorno, pero lo que es ms interesante para los programadores o mejor dicho, ms necesario es la posibilidad de utilizar objetos visuales y no visuales aparte de los que vienen originalmente con la herramienta de desarrollo.

OBJETOS ACTIVEX En Visual Basic uno puede utilizar objetos ActiveX. Vienen en archivos .OCX que son como DLLs que tienen funciones especiales para exponer objetos con sus propiedades, mtodos y eventos. El acceso a propiedades y mtodos de objetos ActiveX es lento porque se acceden con IDs. Las propiedades de cadena de los objetos ActiveX son UNICODE, mientras que las aplicaciones trabajan normalmente con cadenas ANSI, agregando otra sobrecarga (la conversin UNICODE-ANSI o ANSI-UNICODE) al acceder a propiedades de cadena. Los objetos ActiveX proporcionan encapsulacin, pero no herencia. La herencia se puede simular declarando los mismos mtodos y propiedades de la "clase base" e implementndolos como llamadas a los mtodos y las propiedades respectivos de la "clase base". La "clase derivada" no es por consiguiente otra cosa sino una envoltura de la "clase base". No slo que esto hace el cdigo fuente largo y difcil de mantener, sino que tambin hace la invocacin de propiedades y de mtodos del nuevo objeto ms de dos veces de lenta que el objeto original. COMPONENTES VCL Aqu es donde la OOP hace la diferencia. En Delphi uno puede usar objetos ActiveX si quiere, pero Delphi ofrece algo muchsimo mejor: la VCL (Visual Component Library), una jerarqua de clases que van desde las que ofrecen una funcionalidad bsica comn hasta aquellas altamente especializadas como una tabla de base de datos. De estas clases uno puede derivar sus propias clases, y uno tiene que codificar solamente lo que quiera agregar o redefinir, siendo sta la razn por la cual los componentes de VCL son mucho ms pequeos, ms rpidos y ms fcilmente mantenibles que los objetos ActiveX. Son ms rpidos debido a las siguientes razones: 1. Las referencias a las propiedades y mtodos se resuelven en tiempo de compilacin ("early binding": enlace temprano) o en el caso de mtodos virtuales o dinmicos en tiempo de ejecucin ("late binding": enlace tardo), pero en este ltimo caso, el cdigo usado para obtener la direccin de un mtodo en la VMT (Virtual Methods Table: tabla de mtodos virtuales) es muy pequeo y eficiente comparado con la manera usada por ActiveX para encontrar sus mtodos y propiedades. Si una propiedad hace referencia directa a un miembro de datos, no se llama a ninguna funcin. Con ActiveX siempre hay una llamada a una funcin. 2. Normalmente la mayora de las propiedades y de los mtodos de la clase base no se redefinen, as que cuando uno invoca una de estas propiedades y mtodos, la llamada va directamente a las de la clase base sin tener que pasar por ningn intermediario. La herencia de ActiveX es simulada, haciendo ms caras todas las invocaciones a mtodos y propiedades. 3. Uno utiliza normalmente cadenas ANSI (no cadenas UNICODE como los objetos ActiveX), as que no hay ninguna sobrecarga por conversin. 4. Son parte del ejecutable, y eso significa que no hay que abrir un archivo para usarlos, cargar una lista de las funciones que exponen, etc. Adems de ser ms rpidos y significativamente ms pequeos, los componentes VCL consumen menos recursos del sistema que sus contrapartes ActiveX y su mecanismo de herencia permite la extensibilidad. DISPONIBILIDAD DE BIBLIOTECAS, OBJETOS, ETC. DE TERCEROS Hay muchos objetos ActiveX y DLLs en la red que se pueden utilizar con Visual Basic, pero la mayora es de paga y no vienen con cdigo fuente, ni siquiera despus que uno paga sus licencias, y cuando traen cdigo fuente, por lo general ste est en otro lenguaje (generalmente Visual C++ o Delphi), y esto significa que si uno desea modificar estos fuentes necesita 1) saber algo de ese lenguaje, y 2) tener la herramienta de desarrollo respectiva, y no creo que valga la pena comprar una licencia tan slo para ocasionalmente hacer modificaciones menores a objetos y bibliotecas.

La disponibilidad de muchos componentes VCL y expertos para el IDE de altsima calidad, tanto freeware como de paga, es uno de los puntos ms fuertes de Delphi ya que aceleran el desarrollo de aplicaciones y ayudan a los desarrolladores a agregar funcionalidades particulares un gran atractivo visual a sus aplicaciones. Las perspectivas en Delphi son mucho mejores, porque adems de ActiveX y de DLLs, uno puede encontrar muchos componentes VCL en la red, siendo freeware la mayora de ellos, muchos de ellos vienen con cdigo fuente, y la mayora de los que son de paga vienen generalmente con el cdigo fuente despus de que uno lo registra o por una tarifa adicional. Y en qu lenguaje est escrito el cdigo fuente? Una muy pequea minora estn en C++ Builder, pero la enorme mayora estn en Delphi, por supuesto, as que uno no tiene que aprender un nuevo lenguaje o utilizar una herramienta de desarrollo diferente si desea modificarlos. Delphi no se limita a ActiveX. Los componentes VCL son ms rpidos, ms pequeos, por lo general los fuentes estn disponibles (y en Delphi) y el mecanismo de la herencia permite derivar nuevos componentes VCL rpida fcilmente. Obsolescencia Entre programadores en Visual Basic, cuntos de ellos todava estn programando en Visual Basic 4.0? Y cuntos estn programando en Visual Basic 5.0? Casi todos los programadores en Visual Basic que conozco estn programando en Visual Basic 6. Con Delphi sucede algo totalmente diferente. Mucha gente todava est programando en Delphi 3 o 4, y quizs la minora tiene Delphi 5, cuando Delphi 6 acaba de salir a la luz. Por qu es eso? Es que las actualizaciones son demasiado caras? No... Pensndolo bien, s lo son! Permtanme explicarme. Lo que sucede con Visual Basic es que vidos de ms caractersticas los programadores Visual Basic se actualizan rpidamente tan pronto como hay una nueva versin disponible. Delphi 3 C/S es tan poderoso que todava hoy no es obsoleto, y esto explica por qu muchos programadores en Delphi 3 no ven la necesidad de pagar por una actualizacin cuando ya tienen lo que necesitan. La extensibilidad tiene tambin mucho que ver con esto.

Los programadores Visual Basic necesitan actualizarse demasiado rpido. Delphi es tan poderoso, funcional y extensible que sus versiones no se hacen obsoletas fcilmente: a la larga, Delphi es ms barato. Poder de programacin y funcionalidad Entre muchas otras cosas, con Delphi uno puede: 1. Escribir aplicaciones, bibliotecas, objetos ActiveX y componentes VCL de calidad comercial, rpidos y pequeos. 2. Crear reportes por cdigo (o modificar existentes, por ejemplo para cambiar o agregar una columna) 3. En general, todo lo que se puede hacer visualmente (en tiempo de diseo) se puede hacer programticamente (en tiempo de ejecucin) 4. Escribir fcilmente aplicaciones multi-hilos 5. Ver los datos de las tablas y consultas en tiempo de diseo 6. Llamar a funciones de la API como si fueran funciones incorporadas 7. Introducir cdigo en lenguaje ensamblador para mejor desempeo donde sea necesario 8. Aprovechar los montones de componentes VCL disponibles para darle a sus aplicaciones un "look and feel" distintivo y para ofrecer una funcionalidad mejorada. 9. Derivar fcilmente componentes VCL existentes para aadirles funcionalidad 10.Acceder nuevas tecnologas no presentes cuando sali el IDE (por ejemplo acceso a ADO con Delphi 4) sin tener que actualizarse

El IDE de Delphi ofrece a los programadores caractersticas avanzadas como la capacidad de depurar aplicaciones multi-hilos o de ejecutar cdigo paso a paso en ensamblador!

Delphi ofrece a programadores un poder y una funcionalidad que deja a Visual Basic y sus

limitaciones atrs. Portabilidad Si usted est interesado en Linux, hay un Delphi para Linux (Kylix), y no veo que habr un Visual Basic para Linux... Kylix lleva Delphi a la plataforma Linux, adonde VB no ir. Comparaciones de NTSL La NTSL (National Software Testing Laboratories, Inc.) prepar dos informes que comparan Delphi 4 con Visual Basic 5 y Visual Basic 6. Estos informes se publican en el sitio web de Microsoft:

Client/Server Development Tools - By NTSL, 1999 Benchmark: Rapid Application Development Tools - By NTSL, 1999

Hay algunas cosas de estos informes sobre las que quisiera puntualizar: 1. Se compara Delphi 4, y no Delphi 5 2. El hardware usado para las pruebas oculta las ineficiencias de Visual Basic. Me pregunto por qu la prueba no incluy varias configuraciones de hardware (qu tal la mitad o dos tercios de la velocidad de CPU y la mitad de la memoria?) 3. Hay muchas caractersticas que (deliberadamente) no se han evaluado. Ser porque Delphi posee muchas caractersticas que Visual Basic no y no quieren que se note que Delphi es una herramienta marcadamente superior? 4. La seleccin de las pruebas es demasiado arbitraria. Parece bastante como que estudiaron las debilidades de Delphi y seleccionaron las pocas pruebas donde Visual Basic tena un funcionamiento comparable o mejor (tmele el tiempo a un bucle For de 1 a 1000000000 para ver a lo que me refiero). Es claro para m que las pruebas son (deliberadamente) no abarcativas. Ser porque no quieren mostrar que Delphi es el claro ganador en muchas otras pruebas? http:/ /www.mers.com/INPRISE/FAQ/2780.HTML 5. No compro que el algoritmo Sieve usado para encontrar nmeros primos se ejecute ms rpido en Visual Basic que en Delphi. Pienso que este podra ser el resultado de una pobre codificacin en Delphi. "Curiosamente" no se revela el cdigo utilizado en las pruebas. Tambin curiosamente, recuerdo que el viejo Clarion Desktop Developer deca ser ms rpido que C en esta prueba... S claro! 6. Los evaluadores admitieron no tener un buen conocimiento de Delphi. Significa esto que los benchmarks estn comparando el cdigo producido por un programador avezado en Visual Basic contra el cdigo producido por un novato en Delphi? 7. Los evaluadores fueron contratados por Microsoft. Por supuesto! ;) 8. Los informes se publican bajo copyright de Microsoft. Me parece que estos reportes no son independientes y que estn demasiados influenciados como para ser considerados seriamente. Soporte El soporte de producto es usualmente un factor crtico a la hora de decidir qu herramienta usar. Microsoft tiene presencia fsica en casi todas las ciudades ms importantes del mundo. He escuchado que si uno espera lo suficiente en el telfono va siendo transferido de persona en persona hasta que llega a hablar con el el programador que escribi la funcin que le da problema. Qu soporte! Pero quisiera hacer una pregunta: qu clase de soporte es que lo tengan a uno esperando dos o cuatro horas al telfono para que al final le digan que el error ha sido corregido en la ltima versin (o sea "pague el upgrade"), o que ser corregido en la nueva versin (o sea "espere y pague el upgrade cuando est disponible")? Cuando tengo un problema quiero una solucin, y la quiero ya, y no quiero pagar el costo de una actualizacin. Una de las cosas que me gustan de Borland es que son muy atentos con estas cuestiones (por ejemplo si uno encuentra un error en un componente VCL, capaz que alguien ya halla desarrollado un parche o encontrado una forma de circunvenir el problema, o si uno necesita una funcionalidad aadida para un componente, si es una tarea comn probablemente alguien haya desarrollado un componente sustituto, o sin tal vez alguien en el grupo de noticias le pueda dar una pista o algo de cdigo fuente para hacer lo que quiere). El soporte tcnico es muy

importante para m, y la arquitectura, la extensibilidad y la disponibilidad de los fuentes de la VCL me hacen sentir muy seguro, y me siento muy respaldado al ver que los tcnicos de Borland y los miembros de la Comunidad que participan de los grupos de noticias respondiendo preguntas poseen un alto nivel de conocimiento y predisposicin para contestar desde las preguntas ms simples a las ms escabrosas. Borland es una empresa con experiencia y dedicacin a las herramientas de desarrollo, no una divisin de una empresa de sistemas operativos. S qu esperar de Borland hacia el futuro, y s que seguir desarrollando y dando soporte a Delphi, pero la verdad es que no s con qu cosas va a salir Microsoft en el futuro, si seguirn desarrollando Visual Basic o si un da decidirn dejar de soportar Visual Basic y dirn que quieren que los programadores Visual Basic migren a un Microsoft Universal Language o algo as... El soporte tcnico es muy importante. No se deje guiar por la cercana fsica de una oficina y pregunte a sus colegas sobre su experiencia con el soporte de uno u otro proveedor... y cunto le cost! Enlaces a ms comparaciones, testimonios, etc.

Thirteen ways to loathe VB - por Verity Stob, 2000 Why I really like Delphi - por Null Writer, 1999 Saying Goodbye to Hardcore Visual Basic - por Bruce McKinney, 1999 The End of Hardcore Visual Basic - por Bruce McKinney, 1999 Hardcore Visual Basic - por Bruce McKinney, 1999 The Wrong Tool for the Right Job - por Don Kiely, 1999 The Case for Delphi - por Alan C. Moore, Ph.D., 1999 The cult of Delphi - por Marco Cant, 1999 Delphi. Reasons why. - por Greg Lorriman, 1999 Client/Server Development Tools - por NTSL, 1999 Benchmark: Rapid Application Development Tools - por NTSL, 1999 Free Value - por Peter Jackson - Published in PC Magazine UK, 1999 Delphi 4 and VB6 take aim - por Peter Coffee, 1998 Delphi vs Visual Basic - por MER Systems Inc., 1998 RAD Programming Tools Shootout - por Les Kendall, 1997 Delphi 3 closes in on Visual Basic 5.0 - por Maggie Biggs, 1997 Visual Basic and Delphi Head to Head - por Stephen W. Plain, 1997 Comparing OOP Languages: Java, C++, Object Pascal - por M. Cant, 1997 Should Delphi people be worried about C++ Builder? - por David Lipschitz, 1997 Delphi Leaves Visual Basic In the Dust...Again - por Paul Bonner, 1997 Battle of the Visual Masters - por David S. Linthicum, 1996 A Comparison of Client/Server Development Tools; Powerbuilder 5.0 vs. Delphi 2.0 - por Michael Lant, 1996 Delphi vs Visual Basic - por Borland Staff, 1995 Why Shun Delphi? - por Graham Perkins Why not VB.Net? VB.Net for the VB6 Developer - por Bob Butler, 2001 Moving to VB.Net - por Bob Butler, 2001 Developers cry foul over new Microsoft language - por Mary Jo Foley, 2001 .NET Changes Can't Be Ignored - 2001 The New Visual Basic - por Mike James, 2000 Get Your Designs in Gear for VB.NET - por Paul R. Reed Jr., 2000 Visual Basic.NET Revealed - por Bruce McKinney, 2000 Why Delphi? Why Borland's Delphi? - por varios autores Why Delphi ? - por W3 Data ApS Why Delphi ? Why not ?!!?? - por Matlus Ten Things I Love About Delphi - por Charles Calvert, 2000 Stand up and be counted - por Marco Cant, 1999 Case studies

ASSESS: Delphi Helps American Skandia Compete - por Denis Perrotti, 2000 California's CalJOBS Project - por The EDD Development Team, 1997 Inquire Within - Engaging Kiosk System Reels in Apartment Shoppers - por David Rippy, 1996 Microsoft Visual Basic and Delphi - The Decision Making of Systems of Emergency Management - por Binh Lam, 1996

Conclusiones Visual Basic es adecuado para simples aplicaciones de interfaz de usuario, tpicamente aplicaciones de gestin (facturacin, inventarios, nminas, etc.). Su facilidad de uso lo hace la opcin correcta para los programadores principiantes. Delphi es an mejor para aplicaciones de interfaz de usuario pues la disponibilidad de componentes VCL permite que uno desarrolle interfaces de calidad superior tanto en trminos de funcionalidad como de presentacin, pero no es tan fcil de utilizar para los principiantes, que son el grupo mayoritario y para quienes prevalece la facilidad sobre la calidad del trabajo, velocidad de ejecucin, tamao del cdigo, uso de los recursos del sistema, tiempo de desarrollo, costos o cualquier otro factor. Las corporaciones prefieren tener muchos candidatos disponibles cuando necesitan cubrir un puesto de trabajo, que tener pocos candidatos para cubrir una posicin que requiera ms calificaciones, y por esta razn prefieren Basic Visual sobre Delphi. Si usted desea conseguir un trabajo, aprenda Visual Basic. Pienso que solamente es posible convencer a un ejecutivo para que elija Delphi en vez de Visual Basic cuando hay requisitos especficos que lo justifican, por ejemplo si la compaa no puede tener el ltimo hardware, no pueden comprar las actualizaciones a la ltima versin de Visual Basic, no puede permitirse pagar soluciones cada vez que se topan con una limitacin en Visual Basic, necesitan una GUI (Interfaz de Usuario Grfica) de mejor calidad (ms funcional y visualmente ms atractiva) o cuando el personal de Visual Basic no puede entregar las aplicaciones en trmino (esto sucede normalmente cuando se estn tropezando con alguna limitacin, puesto que usualmente se complica el cdigo para circunvenirla y entonces se hace difcil de mantener) o cuando se requieren menores tiempos de desarrollo para aplicaciones que no son tan simples.

El editor de cdigo de Delphi tiene algunas caractersticas de productividad, como las plantillas de cdigo Code Templates definibles por el usuario que le ahorran escribir bloques comunes de cdigo, y el explorador de cdigo Code Explorer que le ayudan a examinar todos los elementos (clases, mtodos, variables, procedimientos, funciones, etc.) definidos en una unidad. Delphi es ms difcil de usar que Visual Basic al principio, no hay duda de ello, pero permite hacerlo todo. Como alguien dijo, "Delphi es ms compatible con Windows que Visual Basic". Aquellos programadores que cargan en su equipaje algn conocimiento de un lenguaje orientado a objetos (como C++, Turbo Pascal 5.5+ o FreePascal) no tienen problemas para aprender Delphi. Son habitualmente aquellos que han tenido una base de educacin formal en programacin (universidades, politcnicos, etc.) o aprendieron por s mismos. El mercado de Delphi no est limitado a las aplicaciones de interfaz de usuario: Delphi se usa tambin para el back-end (servidores, bibliotecas, objetos ActiveX, etc.), un mercado fuera del alcance de Visual Basic.

Los paquetes de componentes VCL de terceros ayudan a los desarrolladores a darle a sus aplicaciones un toque de distincin. Visual Basic hace muchas cosas por los programadores, as que muchos que lo usan estn muy cmodos con l (probablemente Delphi les parezca demasiado arcano), y si no se han encontrado con las limitaciones de Visual Basic, por qu cambiar? Visual Basic es la herramienta correcta para ellos. Por otro lado, veo muchos que estn descontentos, y pienso que estaran mucho mejor programando en Delphi, as como tambin veo algunos programadores en Delphi (principiantes con mala, poca o ninguna preparacin formal o informal en programacin) que tal vez deberan estar programando en Visual Basic. Delphi es una herramienta profesional para programadores profesionales, mientras Visual Basic es para aquellos que se conforman con lo poco que la herramienta les brinda ya sea porque no necesitan ms, no tienen suficiente preparacin o experiencia en la programacin en Windows o en programacin orientada a objetos, o porque no demandan demasiado de la herramienta de programacin, o no quieren o no les gusta programar, o no tienen tiempo para aprender, o no saben ingls, o porque con Visual Basic es ms fcil conseguir un trabajo porque las empresas prefieren contratar gente que llene ese perfil. A pesar de ello, debe decirse que Visual Basic es una gran herramienta y que ha puesto la programacin al alcance de un montn de profesionales que vienen de carreras fuera de la programacin (Analistas de Sistemas de Informacin, Ingenieros en Electrnica, etc.). La mejor herramienta para el trabajo es la que mejor se adapta a sus requerimientos, limitaciones y expectativas.

Este artculo fu presentado en el Boletn para Desarrolladores:

Copyright 2000/2006 Ernesto De Spirito. Todos los derechos reservados.

Вам также может понравиться