videojuegos usados son ser programadores programador programacion principiantes para mas lenguajes las herramientas cuales consejos como buen java c++ delphi winapi c++builder

java - son - lenguajes de programacion mas usados 2018



Delphi versus C++ Builder: la mejor opción para un programador de Java que hace Win32 (12)

Delphi te será mucho más fácil de aceptar, seguro que tienes que administrar tu memoria, pero es muy simple

MyObj = TMyObj.Create; try MyObj.DoSomething; finally MyObj.Free; end

En Delphi, todos tus objetos se asignan en el montón, por lo que la regla es muy simple si la creas y la liberas.

C ++ con su stack y objs basados ​​en heap significa que tiene un poco más que aprender y más posibilidades de meterse en problemas.

Soy un experimentado programador de Java que ha estado haciendo bastante cosas con Win32 en los últimos años. Principalmente he estado usando VB6, pero realmente necesito pasar a algo mejor.

He pasado un mes jugando con Delphi 2009. Me gustan las cosas de la interfaz gráfica de usuario de VCL, Delphi parece más adecuado para las llamadas a la API de Windows que VB6, realmente me gusta el hecho de que es mucho mejor en OO que en VB6, y me gusta la unidad -testing framework que viene con el IDE.

Pero realmente lucho con el hecho de que no hay un recolector de basura ampliamente usado para Delphi, tener que liberar cada objeto manualmente o usar interfaces para todo parece tener un impacto bastante grande en la forma en que se pueden hacer las cosas de manera orientada a objetos . Además, no estoy particularmente interesado en la sintaxis, o en el hecho de que debes declarar todas las variables en la parte superior de un método.

Puedo manejar Delphi, pero me pregunto si C ++ Builder 2009 podría ser una mejor opción para mí. Sé muy poco sobre C ++ Builder y C ++, pero tampoco sé mucho sobre Delphi. Sé que hay mucho en el lenguaje C ++, pero sospecho que solo es necesario conocer un subconjunto para hacer las cosas de manera productiva ... He oído que el C ++ de hoy en día es mucho más productivo para programar que el C ++ de Hace 10 años.

Desarrollaré nuevos desarrollos solo para no tener que dominar todos los aspectos del lenguaje C ++. Si puedo encontrar un equivalente para cada una de las funciones del lenguaje de Java, estaré contento y, a medida que avance, podría empezar a buscar. en las cosas más avanzadas un poco más. (Lo siento si eso suena dolorosamente ingenuo - si es así, por favor, ¡enderezarme!)

Entonces, para un programador Java que sea nuevo en Delphi y C ++ Builder, ¿cuál consideraría una mejor opción para el desarrollo productivo de Win32 Exes y Dlls, y por qué? ¿Cuáles crees que son los pros y los contras de cada uno?


Personalmente, creo que hay otras consideraciones importantes además de las diferencias entre los idiomas. Por ejemplo, Delphi IDE es totalmente increíble para construir GUI en una forma WYSIWYG. No he usado el generador de C ++ IDE, pero me sorprendería mucho si tiene un generador de interfaz gráfica de usuario que sea tan bueno como Delphi.

Aunque superficialmente la sintaxis de C ++ se parece más a la de Java, el modelo de objetos de Delphi es en realidad más cercano al de Java. Aunque existen punteros en Delphi, en la práctica las referencias a objetos (como las de Java) se usan el 99% del tiempo. Incluso en C + + moderno, no creo que sea posible evitar punteros. No es que haya nada malo con los indicadores en sí, pero en la práctica ...

En una nota personal, soy principalmente un chico de Java en estos días, pero pasé 2 años trabajando con Delphi y volvería en un abrir y cerrar de ojos. Por el contrario, tengo muy poca experiencia con C ++ y preferiría limpiar inodoros que regresar a ese idioma :)


Por supuesto, java sintax se parece más a c ++ que a delphi, pero creo que el modelo de objetos es más similar a delphi:

  • herencia única. Las interfaces existen, pero son más como COM que como las interfaces de Java.
  • los objetos se asignan en el montón y se accede por referencia

puedes encontrar un documento que compara los tres idiomas aquí


Vaya con Delphi y puede usar la API Boehm Garbage Collector escrita por Barry Kelly para que pueda obtener recolección de basura en Delphi. Barry escribió esto antes de trabajar para CodeGear como arquitecto compilador. Tiene problemas con aplicaciones realmente grandes, y lo más probable es que no funcione con Delphi de 64 bits. Él habla bastante de esto en esta entrevista de podcast .

Incluso si no usas ese gestor de memoria recolectora de basura, aún recomendaría Delphi en lugar de C ++. La única ventaja que C ++ le brinda para el desarrollo general es la sintaxis del parche rizado. Si no te importa la sintaxis de Delphi, entonces para la mayoría de las cosas lo encontrarás mejor. Concedido C ++ Builder tiene todo el Delphi VCL y RTL, por lo que no es tan malo como Visual C ++, pero todavía creo que Delphi sería una mejor opción.

Para los complementos de Excel (como mencionó en su comentario) recomendaría Delphi sobre el constructor de C ++ porque tiene mejor compatibilidad COM (que creo que necesita para los complementos de Excel).


"Por ejemplo, el IDE de Delphi es totalmente increíble para compilar GUI de forma WYSIWYG. No he usado el generador de C ++ IDE, pero me sorprendería mucho si tiene un constructor de GUI tan bueno como Delphi".

En realidad, el editor de GUI de C ++ Builder es exactamente el mismo editor, y funciona de la misma manera. Es fantástico.

.Net tiene una gran cantidad de clases, al igual que Java. C # tiene una sintaxis similar a Java y debido a la gran biblioteca de clases funciona de manera similar. Y es un entorno perfectamente adecuado para programar. Pero, francamente, Delphi es un lenguaje mucho más agradable, IDE y entorno general para trabajar. C # fue diseñado por la misma persona que diseñó Delphi y se siente muy similar en muchos aspectos, así que no asuma que debido a que Delphi compila el código nativo (aunque también puede usar Delphi .Net), es fundamentalmente más difícil de usar. No es, en absoluto.

Mi recomendación personal sería para Delphi, porque es un lenguaje genial. Sin embargo, si estás interesado en aprender C ++, C ++ Builder es probablemente la mejor manera de hacerlo.


Creo que si vas con Delphi lo encontrarás más fácil después de algunas veces de uso, también tiene más soporte de terceros y algunas de las características introducidas en Delphi antes de C ++ Builder

También leí este blog de ex-Java y ahora el chico detrás de la mayoría de las bases de datos y datasnap trabaja en Delphi Steve Shaughnessy, acerca de su experiencia sobre la programación de Delphi después de 10 años de Java :-) http://blogs.codegear.com/steveshaughnessy/ 2006/12/03/30193


Programé profesionalmente en Delphi durante los últimos 10 años y tengo un buen conocimiento de C ++. Yo iría al camino Delphi. La sintaxis es mucho más simple y la administración de la memoria también. Ese GC para Delphi nativo no lo escuché aún ... Aunque no me gustaron mucho las trampas en el código Delphi.Net que introduje debido a .NET gc, no me gustan mucho las gcs ;-)


Una cosa que olvidé mencionar antes:

Desde una perspectiva de costos, realmente no necesita elegir. Compre el paquete RAD Studio , y por un costo adicional modesto en un solo idioma, obtendrá personalidades Delphi y C ++ Builder en el mismo IDE.

Y, vale la pena mencionar que el paquete C ++ Builder incluye el compilador Delphi, y puede escribir / agregar archivos Delphi .pas e incluirlos como parte de sus proyectos C ++.


Después de trabajar con los cumplidores de Borland C y C ++ desde BCC 4.1 / DOS y Delphi desde 3.0 hasta 2007, puedo decir sinceramente que te espera una gran aventura de cualquier manera. Pasar de C / C ++ en Borland''s Builder y RAD IDE es un cambio sustancial de paradigma (y curva de aprendizaje) de VC ++, C ++ y .NET de Microsoft (han utilizado VC desde la primera versión de MS-DOS: los mini enlazadores beige de tres anillos).

La elección entre C ++ y Delphi es una que sugiero que haga después de mojarse en algunos proyectos pequeños o medianos en ambos idiomas. Comencé un programador C y después de unos cinco años cambié a Delphi (V3.0) cuando el VCL acaba de hacer que la programación de Windows sea mucho más fácil y productiva.

Tenga cuidado, Delphi es un lenguaje seductor para los programadores que vienen de otros lenguajes como COBOL, FORTRAN, VisualBasic porque sus reglas de sintaxis y código imponen un tipo de disciplina que evita que uno se meta en problemas. La precisión y la potencia del metal en bruto de C lo convierten en un excelente lenguaje de programación de sistemas (controladores de dispositivos, código O / S, programación integrada en tiempo real), pero en manos inexpertas puede morderlo.

El generador de C ++ de Borland (la VCL de Delphi añadida al compilador C ++) elimina muchos de los bordes agudos de C ++ y es mi segundo idioma favorito. Dado que Borland agregó el soporte de .NET para ambos lenguajes, existe un fuerte argumento para usar Builder en lugar de VC ++ para la programación de marcos de MS. Aunque C # tiene una buena cantidad de ''amigabilidad'' incorporada en comparación con C ++, si me presionan, seguiré apegándome a Delphi o Builder si recién comenzara.

Para aprender las cuerdas, para prototipos y programas de concepto rápido simplemente no hay un lenguaje que pueda vencer a Delphi especialmente con el VCL y los componentes de terceros. Sin exageraciones, solo hechos.


No hay nada que no haya podido hacer en C ++ VCL que no pude hacer con Delphi VCL y casi todos los componentes Delphi funcionan bien en C ++ Builder. Como programo tanto para Windows como para UNIX, C ++ es más portátil.

Si utiliza C ++ STL u otra biblioteca bien diseñada para sus contenedores, la recolección de basura se convierte en un punto discutible, y de lo contrario el GC manual no es difícil (uno aprende buenos hábitos, que debe practicar de todos modos independientemente de un GC). Siempre que use RAII siempre que sea posible, mantenga su administración de memoria encapsulada en contenedores, tenga en claro la propiedad del objeto y use solo punteros como referencias no disponibles (todo lo cual también debería estar haciendo independientemente del idioma), GC realmente no debería ser una problema.


Si vas a hacer mucha programación de Windows, aprende C ++. ¿Aprenderías alemán en preparación para un viaje a Francia? C / C ++ es el idioma nativo de la API de Windows. Lidiar con las estructuras y llamadas de datos de WinAPI es mucho más simple en C / C ++. En cuanto a RAD, he usado MSVC durante aproximadamente 13 años y puedo combinar una aplicación GUI tan rápido como cualquiera que use el editor de GUI de Visual Studio.


Delphi o C ++ Builder: ¡es una elección difícil!

Como sabrá, son básicamente muy similares, desde el punto de vista IDE y RAD.

Los pros y los contras de cada uno, independientemente de su origen, son un poco así. Ambos comparten un gran diseñador y framework de formularios RAD (VCL) bidireccional que son ideales para el desarrollo nativo de Windows.

Delphi:

  • PARA: Comunidad grande, activa y entusiasta
  • PARA: Delphi 2009 es la mejor versión de muchos años
  • PARA: Las "unidades" Delphi hacen que los pares de archivos fuente / encabezado C parezcan arcaicos
  • EN CONTRA: No hay destrucción automática, ya que los objetos salen del alcance, por lo tanto, muchos ''finalmente están en su código
  • EN CONTRA: el lenguaje puede ser ''prolijo'', que es una cuestión de gusto
  • EN CONTRA: el uso de archivos DLL de terceros o bibliotecas en otros idiomas (especialmente C) requiere que se escriban archivos de cabecera Delphi

C ++ Builder

  • PARA: C ++ Builder 2009 es probablemente la mejor versión de la historia
  • FOR: El modismo RAII simplifica enormemente la gestión de la memoria
  • PARA: Las plantillas son increíblemente útiles y potentes, incluso si la implementación de C ++ Builder tiene algunos errores.
  • PARA: Compatibilidad con BOOST y otras bibliotecas basadas en plantillas modernas (aunque el soporte de Boost no es 100%)
  • PARA: Gran interoperabilidad con Delphi significa que la mayoría de los componentes Delphi se pueden usar fácilmente.
  • PARA: Fácil de usar con archivos DLL / bibliotecas de terceros con encabezados C / C ++.
  • PARA: C ++ puede verse mejor en un CV que Delphi.
  • EN CONTRA: CB2009 es "unicode solamente" - las implicaciones de esto para la portabilidad del código son diferentes y menos bien pensadas que para Delphi
  • EN CONTRA: la base de usuarios de C ++ Builder es mucho más pequeña que Delphi. Tal vez un 20% o menos.
  • EN CONTRA: Borland / Inprise casi mata al BCB hace unos años, y solo resucitó después de los grandes esfuerzos de la comunidad. (Sin embargo, el compromiso Codegear / Embarcadero parece impresionante)
  • EN CONTRA: C ++ Builder no es la parte superior de la pila dentro de Codegear.
  • EN CONTRA: los proveedores de componentes de terceros no siempre entienden / admiten C ++ Builder

Eso es todo. Solo para expresar mi posición, soy un usuario feliz de BCB2007 / 2009 (desde BCB5), y tampoco uso Delphi con frecuencia. Hace unos años, consideré un cambio de C ++ a Delphi, pero la falta de modismo RAII fue lo único que encontré difícil de aceptar.