6 votos

Migrar en un nuevo lenguaje de programación GIS

Los últimos cinco años he estado trabajando con VBA y ArcObjects para el desarrollo de una aplicación específica dentro de ArcGIS. Ese proyecto que comenzó alrededor de 2008-2009 se llevó a cabo con VBA y ArcObjects que no es compatible con ESRI más. Por lo tanto, necesito migrar en un nuevo lenguaje de programación y no estoy seguro de cual es la mejor para mi caso: Python, VB.NET, C# o Java? Mi objetivo es desarrollar aplicaciones de la planificación dentro de la plataforma ArcGIS. ¿Cuál es la más fácil de aprender, teniendo en cuenta que tengo la experiencia con VBA y ArcObjects? Que es la herramienta más potente para el desarrollo de complejas aplicaciones de SIG? El que tiene el mejor soporte? Es posible que sus opiniones por favor?

Gracias DD

14voto

Nick Puntos 3115

Con su fondo yo sugeriría que una .NET lenguaje, utilizando ArcObjects sería más familiar y VB.NET más conocido de todos. También, si usted está buscando en el más amplio de oportunidades de la carrera más allá de este proyecto, a mis instintos todavía está con el .Ambiente de RED con una inclinación hacia C#, sólo se basa en los requisitos que veo a los empleadores pedir más a menudo.

Sin embargo, si desea un lenguaje que le da una gran flexibilidad en el FOSS4G mundo de Python se convierte en una muy fuerte contendiente. Python parece estar convirtiéndose en el lenguaje de secuencias de comandos de elección en muchos paquetes de código Abierto y de otra manera. Python se 'siente' muy diferente a la de C# o VB, pero si te ves a ti mismo como un scripter, en lugar de un programador, a continuación, Python tiene otra ventaja de que permite obtener resultados en mucho menos código. Yo, personalmente, rápidamente se dio por vencido en ArcObjects con C# en favor de Python, porque necesitaba escribir sobre décimo del código utilizando ArcPy y la velocidad de procesamiento es rara vez un problema importante debido a que en su mayoría, para el geoprocesamiento, el código de Python está llamando compilado C binarios bajo el capó (es decir, la interpreta vs compilado problema no es muy relevante la mayoría del tiempo de geoprocesamiento con Python). Es en gran medida de la preferencia personal, pero yo lo encuentro ArcPy y el Python librerías GDAL mucho más sencillo que hacer lo mismo con ArcObjects, tal vez porque me recuerdan a más de AML :)

No he comentado en Java porque no la uso.

Cualquiera de los cuatro que mencionas le dará lo que necesita, y creo que es mejor saber un idioma muy bien que apoyarme en todos los cuatro. Cuando ESRI comenzó a apoyar Python, me quita con un popurrí de VBA, JavaScript, la Avenida y la LMA (¿quién se acuerda de la Avenida?!) y optó por un idioma (a excepción de una breve incursión en C#, pero por entonces me enganché a la simplicidad de ArcPy o ArcGisScripting como lo era entonces).

EDITAR
Veo un C# de libro ha sido recomendado ya. Como fan de Python, me permito recomendar Erik Westra del libro de Python Geoespacial de Desarrollo. Me doy cuenta de que una segunda edición ha sido publicada.

3voto

auramo Puntos 161

Estoy con Nathan W -- si te consideras un aspirante a programador a continuación, se desea que se exponga a los cuatro, y probablemente más. Echa un vistazo JavaScript, Ruby, PHPy Perl así. Todas estas son muy populares idiomas y se estará haciendo un flaco favor a los que no tienen al menos cierta familiaridad con ellos.

Con respecto a ArcGIS desarrollo:

  • Para ArcObjects desarrollo específicamente, yo me quedaría con C#. Claro que puedes usar VB.NET, Java, C++, o incluso Python, pero creo que usted encontrará que la mayoría de apoyar y ser más exitoso con C#.
  • Yo sugeriría Python para el geoprocesamiento, secuencias de comandos y la personalización de ArcGIS for Desktop 10.1 utilizando Python add-ins. También puede escribir complementos .NET y Java en 10.0.

Yo personalmente no lo se centran demasiado en la VB.NET como tiene poca absorción en comparación con otros lenguajes populares. Que VBA y VB.NET son sintácticamente similares no necesariamente debe interpretarse como una ventaja, al contrario, es probable que va a hacer más difícil para aprender y crecer, si usted continuamente caen de nuevo en su VBA experiencia para desarrollar con .NET.

2voto

VanOrman Puntos 2149

Ordenar las Respuestas en primer lugar, más detallada, en mi opinión.

¿Cuál es la más fácil de aprender, teniendo en cuenta que tengo la experiencia con VBA y ArcObjects?

Como se ha dicho, con su fondo (he.e, teniendo en cuenta que tengo la experiencia con VBA y ArcObjects), la más fácil de migrar sería VB.NET.

Que es la herramienta más potente para el desarrollo de complejas aplicaciones de SIG?

Todos ellos son potentes lenguajes, , y son bien conocidos, bien repartidas y se puede desarrollar aplicaciones complejas con ellos.

El que tiene el mejor soporte

Todos están bien distribuidos idiomas y usted debe tener un buen soporte para todos ellos.

Mi opinión

Si usted llega aquí la popular lista de etiquetas se puede ver que de los más populares de la etiqueta para un idioma es , así que yo diría que es una buena opción también.

En el Otro lado y son más populares como propósito general idiomas, así que tal vez es más fácil encontrar a las bibliotecas o de apoyo a preguntas sobre el lenguaje mismo.

De todos modos también es muy popular el lenguaje con muchas de las bibliotecas y de una gran comunidad, por lo que no debería tener problema para encontrar algún tipo de apoyo.

También python es un lenguaje de secuencias de comandos, más similar a la de VBA en este aspecto, en el otro lado y son lenguajes compilados.

Diciendo todo esto, en tu caso, yo podría ir para porque creo que es fácil de aprender, y así adoptado entre la comunidad SIG.

1voto

aditya Puntos 111

Mientras esto no puede ayudar a responder a la pregunta de "¿Cuál es el más fácil de aprender, teniendo en cuenta que tengo la experiencia con VBA y ArcObjects?", usted puede encontrar un análisis de los SIG.StackExchange etiquetas para ser una guía útil para lo que podría ser la más valiosa para que usted aprenda.

@BillDollins publicado en este blog hace aproximadamente 6 meses llamado "reparto de SIG StackExchange". Si nos fijamos en los datos que proporcionó para su descarga (en la parte inferior del blog), podrás ver el número de veces que las etiquetas se utilizan en este sitio. He vuelto a ejecutar el código de hoy, y usando esto como un sustituto para el "más popular (que no debe confundirse con la mayoría de los útiles) lenguaje de programación en SIG", verás que Python nos lleva el camino para que los usuarios de los SIG:

Si usted mira en StackOverflow, no es diferente, excepto que en Python se cae de la lista en un par de puntos:

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X