﻿

# Got a minute? — Try APL!

APL is an array-oriented programming language that will change the way you think about problems and data. With a powerful, concise syntax, APL lets you develop shorter programs that enable you to think more about the problem you're trying to solve rather than how to express it to a computer. You can get a free copy to install on your own computer, or try APL now by entering an expression, or clicking one of these expressions, to see it in action:

2+2No points for guessing the answer to this
4 2 3 + 8 5 7Functions apply to arrays

⍳10Generate the first ten integers
+/⍳100000Sum the first 100,000 integers
×/⍳10A long, slow way to write !10

avg←{(+⌿⍵)÷≢⍵}Average is sum divided by count
avg 1 6 3 4… and apply it

throws←?10000⍴6Store 10,000 dice throws
+/1=throwsOf 10,000 throws, how many 1s?
+/(⍳6)∘.=throwsFrequency of all 6 possibilities

'Hello World!'APL is not just about maths!
{⍺,≢⍵} ⌸ 'Mississippi'See?

# What can APL do for you?

Are you a Problem Solver (a domain or subject matter expert with problems to solve) or a Programmer (someone who translates those solutions into a computer-executable format)? Problem Solvers benefit from APL's ability to concisely express advanced concepts without getting bogged down with a lot of computerese syntax. Programmers benefit from APL's productivity and brevity. Shorter programs means quicker development time and less code to maintain and debug.

In either case, concepts that take several lines of code in other languages can often be reduced to a few characters in APL. You'll quickly find that APL's symbols are organized in a logical, mnemonic manner that makes it easy to express advanced concepts clearly and concisely, and makes it easy to learn too. Move to the Learn tab and get started!