APL growing as a "Universal Programming Language"

APL-related discussions - a stream of APL consciousness.
Not sure where to start a discussion ? Here's the place to be
Forum rules
This forum is for discussing APL-related issues. If you think that the subject is off-topic, then the Chat forum is probably a better place for your thoughts !

APL growing as a "Universal Programming Language"

Postby woody on Sat Mar 12, 2016 5:47 pm

Greetings.

We setup Google Analytics on our APL Hosting site http://APLcloud.com and noticed more than 50% of the visits were from OUTSIDE the USA.

APLcloud-Page-Loads.JPG
APLcloud.com Page Navigation


This makes sense for several reasons (mainly because the USA population is small compared to the rest of the world).

However, I believe the global reach of APL is directly related to APL's mathematical notation using special characters that allow all users to easily program APL "in their own human language".

For example:

The APL algorithm for finding the AVERAGE of a set of numbers is:

(+/V)÷⍴,V which is "universal" across all human languages.

In English, we call this AVERAGE and can encapsulate this APL statement into a monadic function (single argument passed on right) called "AVERAGE".

∇Z←AVERAGE V
Z←(+/V)÷⍴,V


ENGLISH: AVERAGE 10 20 30 40 50
(Result) 30

However, in Russia, China, Germany, France, Spain and India .. each APL user can choose a different "NAME" for the same APL mathematical expression.

DUTCH: GEMIDDELDE 10 20 30 40 50 60
GERMAN: DURCHSCHNITTLICH 10 20 30 40 50 60
RUSSIAN: V_SREDNEM 10 20 30 40 50
FRENCH: MOYENNE 10 20 30 40 50
CHINESE: PINGJUN 10 20 30 40 50
SPANISH: PROMEDIO 10 20 30 40 50
INDIA: DIVAID 10 20 30 40 50

Traditional languages impose a set of dozens (hundreds) of internal functions and variable names that are based on ENGLISH. While this is also exists in APL it is a very small exception compared to the built-in APL function symbols:

APLSymbols.JPG
APL Symbols are "Universal"


This makes APL well suited as a universal programming language. While APL program names might be different across various cultures, the APL mathematical notation within the programs remains the same.

(+/V)÷⍴,V

+/V Add up a vector of numbers in variable V
÷ Mathematical "divide" function (dyadic, with both left and right arguments)
⍴,V Determine the length of vector (,) V (number of elements in the array)

Another interesting fact is the underlying global character set UNICODE. UNICODE allows the APL Symbol Set to become part of the 100,000 symbols and letters used by all languages on Earth. UNICODE allows a simple "copy/paste" of APL program code between most all operating systems and programs (email, databases, web pages, notepad, Skype, chat, etc.).

Look at the overall global trend of APL (the programming language) on GOOGLE TRENDS.

It seems clear that the global interest in APL is, in fact, GROWING !

APL-Trends.JPG
Global interest in APL is growing


Food for thought,

//W
Woodley Butler
Automatonics, Inc.
"Find your head in the APL Cloud"
http://www.APLcloud.com
User avatar
woody
 
Posts: 144
Joined: Tue Dec 28, 2010 12:54 am
Location: Atlanta, Georgia USA

Return to APL Chat

Who is online

Users browsing this forum: No registered users and 1 guest