Pregunta

He decidido que quiero profundizar en el desarrollo de código nativo con C ++. Estoy tratando de decidir si me serviría mejor usando CodeGear C ++ Builder 2009 o Visual Studio 2008. Actualmente uso Delphi 2007, así que estoy muy cómodo con el IDE de C ++ Builder (es lo mismo que Delphi), así como el VCL y RTL.

Nunca he sido un gran admirador de MFC (desde la primera vez que jugué con él en los días VS 6.0), pero no lo he examinado de cerca desde entonces.

Estoy interesado en escuchar a algunos expertos que tienen experiencia con ambos IDE, ya sean las versiones más recientes o no.

En este momento, me estoy inclinando hacia C ++ Builder porque creo que el VCL es mucho más robusto y más fácil de trabajar que MFC --- pero como dije, ha pasado un tiempo desde que usé MFC. No estoy interesado en crear programas que se basen en .NET Framework porque en parte me estoy enseñando desarrollo nativo. ¿MFC sigue siendo el rey para Windows C ++? ¿O es WTL o ATL la gran cosa?

¿Algún gurú de C ++ por ahí quiere compartir sus opiniones?

EDITAR : Entiendo que MFC no es el único kit de herramientas gui para Visual Studio. Sin embargo, estoy buscando algunas recomendaciones basadas en GUI toolkit + IDE. Para C ++ Builder, solo hay 1 opción real, que es C ++ Builder + VCL. Para VS 2008, es VS + MFC / ATL / WTL / QT ... confuso para mí ya que no sé mucho sobre ellos.

¿Fue útil?

Solución

Viniendo de Delphi, encontrará el VCL fácil de usar con C ++ Builder. Hay algunas rarezas, como C ++ no oculta el hecho de que los objetos TO son realmente punteros (que Delphi te oculta), y algunas cosas como las propiedades de la matriz se acceden de manera diferente.

Hace dos o tres años, estaba buscando alguna forma de salir de C ++ Builder, pero ahora, con lanzamientos recientes (y la compra de Codegear por parte de Embarcadero), estoy contento con el producto y la dirección.

Encontrarás la cantidad de tipos de cadenas y las incompatibilidades potenciales variadas bastante dolorosas con C ++ Builder, ¡pero te acostumbrarás! (std :: string, char [], wchar_t [], TCHAR, AnsiString, WideString, UnicodeString y String, por nombrar algunos)

Personalmente, votaría por C ++ Builder, debido a RAD bidireccional y VCL, aunque puede que no sea la mejor manera de aprender modismos modernos de C ++.

Otros consejos

Visual Studio y MFC no son lo mismo. Uso Studio todo el tiempo y evito MFC como la peste. Puede usar WTL, ATL, Win32 o cualquier cantidad de bibliotecas para crear aplicaciones sin MFC.

La respuesta simple es que para el desarrollo puro de C ++ tiene que ser VC ++.

Para expandir: como un entorno de desarrollo C ++ puro, simplemente no se puede vencer a VC ++, el depurador es mejor, el IDE es superior (todo en mi humilde opinión, por supuesto). Lo he usado para desarrollar bibliotecas que luego uso de C ++ Builder por estas razones.

Sin embargo, una vez que comience el desarrollo de la interfaz de usuario, o cualquier cosa que pueda resolver usando el VCL o los componentes C ++ B es la mejor opción. En comparación con el VCL, MFC o ATL son horribles en comparación, y eso te deja usar .NET, que probablemente sea una mejor opción, pero no

No estoy seguro de que recomendaría construir un nuevo producto usando C ++ B o Delphi basado en los últimos años de "dirección" de los proveedores. Sin embargo, eso parece estar cambiando para mejor, pero hasta que haya pasado un poco más de tiempo, es difícil decir cómo las promesas se convierten en realidad.

Si estás haciendo un desarrollo puro de C ++ en Windows, entonces es difícil vencer a VS. El compilador es rápido, cumple con los estándares y produce código bien optimizado. El depurador es el mejor en cualquier plataforma. El IDE está bien.

También es claramente la cadena de herramientas de compilación más ampliamente compatible en Windows. Descargue cualquier proyecto / biblioteca de código abierto y, si Windows es compatible, es probable que se haya creado y probado usando VS. Su popularidad también garantiza que sea lo más útil tener en un currículum.

¿Qué te da Builder? Una biblioteca GUI razonable. Bueno, eso es bueno, pero hay muchos otros kits de herramientas GUI decentes (wxWidgets, GTK, Qt, etc.). Muchos son de código abierto y multiplataforma.

Sin embargo, en estos días me parece mejor reestructurar mis aplicaciones para proporcionar una API y luego construir la GUI sobre ella en un idioma diferente. La fortaleza de C ++ es no en el desarrollo de GUI. Al menos no hoy ...

Elegiría, y recomendaría, VS sobre Builder.

No he usado C ++ Builder durante años, pero sobre el tema de la depuración de C ++, Visual Studio 2008 está muy por delante de otros IDE y VS anteriores, especialmente si usa contenedores STL, ya que hace que sea muy fácil inspeccionar su contenido .

Sin embargo, en el lado de la GUI, C ++ es ahora un lenguaje de segunda clase para Microsoft. El camino hacia el futuro es WPF y C ++ no es compatible como XAML- lenguaje amigable : Continuaremos invirtiendo en C ++ / CLI para permitir que los desarrolladores expongan los activos nativos de C ++ al mundo administrado y viceversa. Creemos que el desarrollo puro de .NET se realiza mejor utilizando un lenguaje enfocado en .NET como C # o VB. Invertir en C ++ / CLI se realizará principalmente en las áreas de interoperabilidad gestionadas de forma nativa.

Entonces, para crear una GUI C ++ de aspecto moderno , su mejor opción puede ser VCL, si VCL continúa haciéndolo posible ;-)

C ++ Builder es muy superior a MS-VS cuando se trata de desarrollo basado en UI y aplicación orientada a bases de datos. ¡MFC apesta! Sin embargo, VS tiene mejores capacidades de depuración.

En segundo lugar, voy para C ++ Builder, dado que ya conoces a Delphi. MFC no ha cambiado mucho desde los días de VS6, por lo que el código escrito con MFC todavía parece una mierda. Sin embargo, VS ha cambiado y ahora es un buen IDE.

Además, tenga en cuenta que C ++ Builder no es estable como línea de productos. Hay momentos en el pasado en los que no se mantuvo / su futuro no estaba claro, etc. Por lo tanto, se arriesga si desea construir algo que dure.

Solo por el placer de hacerlo, ¿podemos agregar eclipse a la mezcla también?
Acabo de encontrar que trabajar en eclipse es mejor que trabajar en Visual Studio.

A menos que esté usando VS2008 con winforms, el soporte de la interfaz gráfica de usuario es a través de plantillas de Windows (generalmente de recursos) que es viejo y que probablemente no quiera usar. Entonces, el soporte de GUI en VS2008 no es tan especial.

En cuanto al kit de herramientas gui, quizás vea ¿Qué es un buen GUI / kit de herramientas de widgets

Bueno, puedes usar Eclipse + MinGW + Qt4 + QT Eclipse Integration y obtienes todas las cosas: depurador, diseñador visual de GUI, etc.

Tenga en cuenta que Qt4 tiene doble licencia: código abierto y licencia comercial.

También puede combinar Qt4 con Visual Studio (incluso con Express) y usar todas las ventajas que VS le ofrece.

Para mí, Qt4 es el camino a seguir y VS sobre Builder.

Me encantó C ++ Builder hace un par de años. Fue fantástico. Era mucho mejor con su VCL que con VS con su horrible MFC. Entonces las cosas han cambiado con cada año.

El generador ha estado cayendo; 1. Builder no se ha actualizado con ninguna funcionalidad real. 2. Borland abandonó la idea de reescribir VCL en C ++ para usar con Kylix y Builder 3. El desorden de CodeGear y el futuro incierto de Builder alejaron a muchas personas del producto.

VS ha estado mejorando; 1. IDE se ha mejorado mucho 2. El compilador del menos compatible con el estándar en la plataforma de Windows se convirtió en el más compatible con el estándar (por supuesto, sin contar GCC en MinGW) 3. .NET surgió y existió Managed C ++ y luego C ++ / CLI para que sea posible usar este marco desde C ++

Tenemos jugadores nuevos y fuertes 1. Eclipse 2. Qt Creator

y nuevos kits de herramientas de GUI

  1. wxWidgets
  2. Qt4 ahora también tiene licencia de código abierto

Para resumir; El constructor está muerto porque Borland

  1. pensaba que Delphi es tan maravillosa que realmente no necesitan nada más para ganar dinero
  2. ha caído en el bombo de Java e invirtió demasiados recursos en él
  3. no entendió el gran poder de C ++ y en su lugar se apiló a pascal, que siempre ha sido un lenguaje académico sin productos reales creados con él

Cuando se trata del desarrollo de Windows, nada realmente supera a Visual Studio. Es muy rico en funciones y tiene un excelente depurador, sin mencionar la vasta comunidad de usuarios para ayudarlo con cualquier problema que pueda encontrar. Si las herramientas de desarrollo de una empresa para su propio sistema operativo no fueran las mejores, temería su estado en el mundo del software. Pero si no necesita las características adicionales y absolutamente necesita una herramienta RAD con arrastrar y amp; drop (además de MFC) El generador de C ++ no está muy lejos. Usar el entorno delphi antes es solo una ventaja para usted.

Lo único sobre el último C ++ Builder de CodeGear, es decir, la versión 2009, es que sus actualizaciones realmente pueden hacer que odie este IDE.
Después de haber instalado la segunda actualización, descubrí que si / de lo contrario el bloque NO FUNCIONA CORRECTAMENTE. Puede ingresar la instrucción IF pero no puede ingresar otra, y no depende de la situación, esta instrucción de idioma simplemente dejó de funcionar. El tiempo que tardé en resolverlo fue de aproximadamente dos o tres horas, y comencé a desarrollar la aplicación win32 necesaria en VS, considero que es más confiable que el producto CodeGear. La segunda característica no me gusta porque no puede desactivar el soporte Unicode y tiene que usar las versiones ANSI de las funciones win32 EXPLÍCITAMENTE (por ejemplo, SendMessageA (...)), lo cual es muy aburrido. Apenas cumplo con la fecha límite para terminar el trabajo usando VS2008.
Es solo mi experiencia, la elección es tuya

Prueba Lázaro en su lugar. Escribe una vez, compila muchas. Se ejecuta en múltiples plataformas. Cualquiera que provenga de los antecedentes de Delphi y Kylix se sentirá como en casa con esta herramienta RAD. En cuanto al futuro, es de código abierto con una comunidad fuerte, el desarrollo continuará sin restricciones comerciales.

Para el desarrollo nativo de C ++ no me gustaría usar ni C ++ Builder ni VS. Todos estos IDE están optimizados para el uso con sus marcos.

Prefiero elegir Eclipse, Code :: Blocks o Codelite. Estos IDE no están optimizados para ningún marco y puede cambiar entre varios compiladores en plataformas severas.

2012 está casi terminando. Era un usuario de Borland C ++ y luego cambié a VC ++ 6.0. Recientemente hubo un requisito de un cliente que quería un final de GUI para su producto y no deseaba la dependencia de .NET Framework. Así que exploré el Embarcadero RAD Studio XE2.

Cuando se trata del desarrollo de C ++ RAD, creo que ni siquiera MSVC ++ se acerca. Fue como una brisa. aunque encontré problemas al compilar plantillas. por ejemplo, si define un functor y desea combinar el constructor con la llamada al functor, no puede hacerlo en C ++ B, debe crear un objeto y luego llamar al functor por separado. También hubo otros problemas, ya que no pude compilar completamente la biblioteca Poco.

Encontré la solución creando las DLL en VC ++ y llamándolas desde la interfaz B de C ++. eso da lo mejor de ambos.

Espero que Embarcadero se ponga al día con los estándares pronto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top