Where did Arcade come from?

906
3
08-15-2019 06:13 AM
SimonKettle
Occasional Contributor III

I hope I'm not the only person asking but where did the Arcade expression language come from?

I kinda guessed from the Arc bit of it that it might have been developed by ESRI however, if there's any history it would be nice to see. The only thing I uncovered is: 

Arcade is a lightweight and secure expression language written for use in the ArcGIS platform. Like other expression languages, it can perform mathematical calculations and evaluate logical statements. It was designed specifically for creating custom visualizations and labeling expressions in the ArcGIS Platform, allowing users to write, share, and execute custom expressions in ArcGIS Pro, ArcGIS Online, the ArcGIS Runtime APIs, and the ArcGIS API for JavaScript.

from Arcade Guide

3 Replies
ChelseaRozek
MVP Regular Contributor

It was developed by ESRI. On that page, in the FAQ, they state:

You may find yourself asking, "Why did Esri bother writing it's own language when it probably could have used others, like Python?"

This decision was made because we needed an expression language that met the following requirements:

  • Lightweight and simple - A language with a small number of functions and an easy syntax
  • Portable - A language that can execute in multiple environments with the same syntax for web, desktop, and mobile apps
  • Secure - A language that doesn't have security vulnerabilities that open the door to malicious scripts
  • Geospatial first - A language that makes geospatial functions and capabilities first-class citizens

Developing our own scripting language was the best option because other alternatives, such as Python and JavaScript, couldn't check all of the boxes above either due to language size, or their propensities for security issues.

Here's the original introduction blog post: Introducing Arcade , however it doesn't go any further in depth with your questions.

JoshuaBixby
MVP Esteemed Contributor

Classic Esri.  Simple, well they got that part right, just not in the way they thought.  Portable?  Give me a break, locking oneself into a single vendor is not portable.  Just imagine is every DBMS threw SQL standards to the wind and only implemented their own language (sure, there are variations between SQL flavors, but the most of the core language is supported).  Secure?  It is only secure because no one has cared to hack it.  I doubt that Esri software developers can write more secure code than core Python developers.

0 Kudos
DanPatterson_Retired
MVP Emeritus

Avenue... Part 2

0 Kudos