2009-04-15 15 views
5

Voy a asesorar a una empresa sobre un proyecto pronto, y no estoy muy seguro sobre qué lenguaje de programación debo aconsejar.¿Qué idioma utilizo para mi proyecto?

Es una aplicación bastante sencilla (basada en escritorio) con un origen de datos central en la red, para almacenar y editar partes que componen una máquina. La máquina debe configurarse en la aplicación, y con esta configuración se generan documentos de producción (manuales, software, listas de materiales). (por ejemplo, si las partes A y B se agregan a la máquina configurada, se debe usar la variación X del capítulo 5 del manual, si tiene sentido)

Hay algunos componentes no estándar, como un árbol con radio & casillas de verificación, y tiene que tener algún tipo de control de versión. Necesita un editor WYSIWYG para editar capítulos de manuales. No necesariamente tiene que ejecutarse en plataformas que no sean Windows porque solo se usará en la red de la compañía y todos ejecutarán Windows.

Estaba pensando en Java debido a su gran cantidad de bibliotecas útiles y IDE gratuitos. Soy un programador de Java, así que no estoy muy familiarizado con otros lenguajes de programación. ¿Alguna idea sobre qué idioma debería usar y por qué? Creo que hay algo de conocimiento de VB/VBA y Delphi presente en la empresa (no es una empresa de TI y no es probable que la programe).

Gracias montones!

+0

Perdón por comer una etiqueta de idioma en mi edición, pero creo que la etiqueta "qué idioma" es más relevante para esta pregunta que "asp.net". No dude en revertir mi edición de todos modos. –

+0

¿Has hecho una breve lista de los idiomas/marcos que deseas utilizar? Incluso si Java, ¿qué IDE? Su pregunta es muy amplia, y es * no * seguro formular este tipo de preguntas generales y confiar en la respuesta para decidir una de las decisiones más importantes de un producto. Y, si no vas a confiar en las respuestas aquí, ¿por qué preguntas? –

Respuesta

22

De lo que su describen de su aplicación y el medio ambiente, nada mejor que Delphi!

Es el caso ideal para que Delphi brille:
- aplicación de escritorio nativa con el rendimiento y el desarrollo más rápidos combinados.
- gran cantidad de componentes excelentes (a menudo gratuitos); probablemente encontrará su árbol
- extremadamente potente y sencilla para aplicaciones de base de datos
- muy activos y útiles comunidad

Véase también why I recommended it for another SO user.

+5

Aunque Delphi es una aplicación de propósito general, para aplicaciones de bases de datos como las que describes realmente es increíble. ¡Tiene las máximas opciones para bases de datos y métodos de acceso a datos para que pueda encontrar el que se adapte perfectamente a su situación! –

0

Bueno, hay mucha sabiduría con el uso de lo que sabes (Java).

Sin embargo, para contrarrestar el "debido a su gran cantidad de bibliotecas útiles y IDE libres", .NET también tiene una gran base de biblioteca e IDEs gratuitos (incluidas las ediciones Express de Visual Studio). Para .NET, C# sería un lenguaje "más cercano" a Java que a VB.

Creo que terminará con Java, aunque (a través de la familiaridad, no siempre es algo malo).

4

Depende. En muchas cosas. ¿Con qué idioma estás familiarizado? ¿Qué base de datos usa (MS SQL tiene algunas ventajas cuando se usa con un lenguaje .NET, pero también se puede usar con Java, o ...)?

Las bibliotecas son (al menos para mí) no un punto de decisión principal, ya que también hay muchas bibliotecas para otros idiomas.

Si no se programa, pregunte al desarrollador que hace el trabajo. Los proyectos tienen otras marcas además de la tecnología, como el tiempo utilizado y el dinero gastado. Si elige un idioma con el que el desarrollador esté familiarizado, es más probable que sea a tiempo y en costo.

Su pregunta es de alguna manera demasiado abierta para dar una respuesta exacta. Pero tal vez esto te ayude a pensar sobre eso.

2

De los idiomas etiquetados, evite asp.net ya que es una aplicación de escritorio. Aparte de eso, todos los demás idiomas harían un buen trabajo. Se reduciría a la preferencia personal (más importante, la preferencia personal del desarrollador).

0

Cuando construimos sistemas del lado del cliente usamos .Net (C# generalmente). Hacemos Java en el back-end, pero parece que no tiene un back-end tradicional. Para todas las bibliotecas y marcos que están disponibles para Java, la gran mayoría de los componentes de interfaz de usuario de alta calidad se encuentran actualmente en el espacio .Net.

6

bien el escenario que usted describe no es muy lenguaje específico, por lo Aquí hay algunos consejos:

  • general, Java es absolutamente bien, pero:
  • En un mundo gráfico, se puede vivir más fácil con lenguajes .NET, debido al acceso directo a COM/ActiveX para combinar fragmentos de documentación en adobe o Word
  • ya que hay un poco de conocimiento acerca de VB en la empresa, tal vez la tarea de mantenimiento del software se vuelve más barato.

Sugeriría C#, porque a través de mono, puede ir a Linux donde y si es necesario.

bueno, esos son mis 2 centavos.

1

Soy un programador de Java, así que yo no soy muy familiarizado con otros lenguajes de programación .

Si va a escribir el software, debe usar Java. Ya estás familiarizado con él y tu familiaridad puede ayudarte a encantar a tu cliente.

1

Si no lo está escribiendo debe averiguar quién es y tener en cuenta su experiencia. Hacerles aprender un nuevo idioma solo porque no sepan con qué están familiarizados no es exactamente una buena forma de hacerlo.

Java funcionaría, C# funcionaría (personalmente tomaría C#), realmente solo depende de la experiencia que tenga disponible.

¿Qué es esto de los componentes "no estándar"? Si hay controles de terceros que quieran usar, pueden dictar el idioma/plataforma con la que trabajar. También hay muchos controles y ejemplos gratuitos en Java y C# y extender los controles estándar de Java/.NET podría funcionar mejor que con los controles de terceros.

Parece que necesita saber más acerca de la aplicación y otras cosas que están disponibles antes de que realmente pueda estar aconsejando a otra persona sobre qué hacer.

3

Debe utilizar el idioma que es:

1) más adecuado para el proyecto

Por ejemplo: Si su proyecto requiere un procesamiento en tiempo real, utilice un lenguaje que es propicio para la ejecución de esta tarea .

2) Usted (y su equipo) se siente más cómodo con.

Debería comentar con su equipo si todos los idiomas que conoce entre todos son apropiados (teniendo en cuenta el punto 1). Si ninguno es apropiado, qué idioma (con el punto 1 en mente) será más cómodo con el aprendizaje, el desarrollo y el soporte (mantenimiento) a lo largo de la vida de su proyecto.

Esto suena como un consejo muy cortante, pero creo que es de vital importancia.Si su proyecto tiene éxito, necesita un idioma con el que pueda "vivir" y trabajará con usted en lugar de hacerlo contra usted. Si usted fuera un trabajador de la madera, podría usar un martillo para poner tornillos en una pieza de madera, pero ¿no sería mucho más cómodo usando un destornillador?

0

Creo que realmente no importa tanto el lenguaje de programación y el entorno que programe, siempre y cuando lo conozca a fondo. C++, Java y C# tienen buenas bibliotecas y todas tienen sus fortalezas y debilidades. Lo importante es que conoces las peculiaridades del lenguaje, el entorno de desarrollo, el depurador, un buen generador de perfiles, las bibliotecas estándar, las mejores bibliotecas de terceros, etc. Además, después de un tiempo puedes reutilizar tu propio código como bien. Por ejemplo, menciona un widget de árbol avanzado. En nuestra compañía, tenemos nuestro propio árbol (en C++) que podemos ajustar como queramos.

0

Cuando está administrando el desarrollo y alguien más está haciendo la implementación y el mantenimiento, le sugiero que negocie el lenguaje de programación con ellos.

Cuando tenga que hacer el mantenimiento, concéntrese en los idiomas que conoce.

Si hace todo/la mayoría del trabajo, simplemente use el idioma con el que está familiarizado, cuando no tenga suficiente tiempo para aprender un nuevo idioma en el camino. Especialmente si la aplicación es importante y necesita ser bastante libre de errores. (aunque nunca hay un "último error" como todos sabemos) ;-)

La cantidad de librerías de terceros no es un buen criterio porque esto no refleja su calidad (tal vez la mayoría es basura) y muchos las bibliotecas también significan una gran oportunidad para seleccionar la incorrecta.

No olvide verificar si el idioma elegido es capaz de hacer el trabajo. (Velocidad, restricciones de plataforma, huella de memoria, ...)

16

para aplicaciones de escritorio (más con cosas de base de datos/win32) recomendaría Delphi. Puedes encontrar muchos buenos componentes disponibles.

19

Creo que si tiene conocimiento de Delphi en su empresa: es una muy buena opción para la aplicación de escritorio y como avar says: aquí puede encontrar muchos componentes buenos Torry's Delphi Pages.

Recomiendo este article

+1

Apoyo la recomendación de Delphi. Después de haber trabajado en otros idiomas, incluido el último C# .NET, prefiero Delphi para las aplicaciones de escritorio. Además, tiene la implementación más simple (¡sin tiempo de ejecución!) –

7

Es probable que desee elegir el idioma con el que su equipo tenga más experiencia. Personalmente estoy interesado en Delphi, y parece que esta podría ser una buena opción para lo que describes. Delphi es muy adecuado para aplicaciones de escritorio hablando con una base de datos. Sin embargo, si su equipo (los que escriben y mantienen la aplicación) tienen más experiencia con Java/C#/VB, entonces debería ir con eso.

Cuestiones relacionadas