Python or JavaScript for ArcGIS 10.3?

5719
7
12-09-2015 10:10 AM
JoaquinRoibal
Occasional Contributor

Hello,

I have experience with both JavaScript and Python. I am looking to program ArcGIS tools, workflows and other similar tasks. Which language is better for the beginner getting started programming with ArcGIS? Thanks in advance. Also any links to information about this topic is much appreciated.

-Joaquin

0 Kudos
7 Replies
DanPatterson_Retired
MVP Emeritus

Python... all the tools in Pro have an arcpy interface Anatomy of a tool reference page—ArcGIS Pro | ArcGIS for Desktop

Python in Pro will be version 3.4.x as well numpy, scipy, pandas, matplotlib will also be installed.  These are very useful for analysis.  So if your focus is on analysis, particularly, if you intend to do stuff outside of the esri environment, then python etc is a good place to start and get up to speed and be useful fast.  check my blog, for many other links and examples.

RebeccaStrauch__GISP
MVP Emeritus

I suggest Python (and arcpy) for tools and workflows.  Javascript for any web development stuff.  Follow the different "places/groups" under and including Developers  and you will begin to see a pattern develop.  It helps (in my opinion) to at least somewhat stick to what others use....easier to get help.

Edit:  oooh....and remember, it's always a moving target. 

AdrianWelsh
MVP Honored Contributor

I'm late to the party but I agree with the others. I would say learn to use Python. While there are tons of resources out there on how to code with any language, I find that the Python route has been the best route to use (and, like Dan said), Python will continue to be utilized in Pro and future desktop applications. You can tackle javascript later.

0 Kudos
FreddieGibson
Occasional Contributor III

I would say the best option depends on the requirements of what you're wanting to do. If you're wanting to build web mapping applications that utilize APIs such as the ArcGIS API for JavaScript then JavaScript will be the best choice.

ArcGIS API for JavaScript

https://developers.arcgis.com/javascript/

Otherwise if you're wanting to develop client/server based tools that would leverage APIs like arcpy you'd want to focus more on Python and the arcpy site package or 3rd party assemblies that provide similar functionality.

For example, let's say you want to build a web application that allows users to draw features on a map and buffer them a specified distance. JavaScript would allow you to easily build the UI and execute the logic without using a single line of python.

GeometryService Buffer

https://developers.arcgis.com/javascript/jssamples/util_buffergraphic.html

You could accomplish the same thing in Python, but you'd just end up using ArcGIS online or a web application or API, such as JavaScript to build an application to consume your code. If you wanted to accomplish the entire task using just python you'd probably end up losing days building an application that should be up and running within a couple of hours.

I agree that Python is a powerful tool and that it can be used to do some crazy things, but sometimes it's best to just use the tool that will get the job done. At the end of the day you need to make sure you understand the tools, technologies, and patterns needed to complete your task.

FreddieGibson
Occasional Contributor III

Hi Joaquin Roibal​,

I'm not sure if you're still in school, but if you are have you ever thought of doing a summer intership with Esri.

JoaquinRoibal
Occasional Contributor

Hi Freddie,

I am currently a graduate student in geotechnical engineering. I was not aware that ESRI offered summer internships, but thank you for the information. How can I apply for these internships? Thanks again.

-Joaquin

0 Kudos
FreddieGibson
Occasional Contributor III

You can start by going to the following page. There are dozens of internships available throughout the year.

Students at Esri

http://www.esri.com/careers/main/student-jobs