Main Page: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
Miraheze>Adám Brudzewsky
No edit summary
Miraheze>Adám Brudzewsky
No edit summary
Line 20: Line 20:
<h2 style="margin:0.75em 0; background:#cedff2; font-family:inherit; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; color:#000; padding:0.2em 0.4em;>Introduction to APL</h2>
<h2 style="margin:0.75em 0; background:#cedff2; font-family:inherit; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; color:#000; padding:0.2em 0.4em;>Introduction to APL</h2>


Taking up a new programming language can be a daunting task, but despite its initial appearance, APL is actually very easy to learn and [[semantic density|read]]. A few introductory guides have been created to help you in the process.
Taking up a new programming language can be a daunting task. While it can appear cryptic at first, APL is actually very easy to learn and [[semantic density|read]]. A few introductory guides have been created to help you in the process.


<p style="text-align:right>'''[[Tutorials]] ∙ [[APL|Overview]]'''</p>
<p style="text-align:right>'''[[Tutorials]] ∙ [[APL|Overview]]'''</p>

Revision as of 14:18, 31 October 2019


Welcome to APL Wiki,

458 articles about APL that anyone can edit

APL is an array-oriented programming language. Its powerful, concise syntax lets you develop shorter programs that enable you to think more about the problem you're trying to solve than how to express it to a computer.

Running APL

Traditionally a commercial language, there are now quite a few implementations available to download for free without feature limitations, and several of these can be tried online without installing anything.

Running APLTry APL online

Introduction to APL

Taking up a new programming language can be a daunting task. While it can appear cryptic at first, APL is actually very easy to learn and read. A few introductory guides have been created to help you in the process.

TutorialsOverview

Who uses APL?

APL has gained traction among both hobbyists and and real-world application developers. There are active user groups all around the globe, many of these hold regular in-person meet-ups. There is also a popular online APL chat room.

Case studiesCommunity

Contributing

APL Wiki is an online open-content collaborative knowledge base; that is, a voluntary association of individuals and groups working to develop a common knowledge resource. The structure of the project allows anyone with an Internet connection to alter its content.

ContributingWhat is a wiki?

Examples

APL's terseness means that substantial programs are expressible in a small space, relative to many other programming languages. Here are some examples:

Split text by delimiter

Try it now!

      ','(≠⊆⊢)'comma,delimited,text'
┌─────┬─────────┬────┐
│comma│delimited│text│
└─────┴─────────┴────┘
Works in: Dyalog APL

Conway's "Game of Life"

John Scholes is famous for the following implementation of Conway's "Game of Life":

Try it now!

      ⊢world←2 2 2 2⊤0 12 5 2 4 1
0 1 0 0 0 0
0 1 1 0 1 0
0 0 0 1 0 0
0 0 1 0 0 1
      {↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵} world
1 1 0 1 0 0
0 1 1 1 0 0
0 1 0 1 1 0
0 0 1 0 0 0
Works in: Dyalog APL, ngn/apl

More examples