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 9: Line 9:
APL is an [https://en.wikipedia.org/wiki/Array_programming array-oriented programming language]. Its powerful, concise [[syntactic overview|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.  
APL is an [https://en.wikipedia.org/wiki/Array_programming array-oriented programming language]. Its powerful, concise [[syntactic overview|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.  
|}
|}
|- style="vertical-align:top"
|- style="vertical-align:top"
| style="background:#f5fffa;border:1px solid #cef2e0;padding:0 1em" |
| style="background:#f5fffa;border:1px solid #cef2e0;padding:0 1em" |
<h2 style="margin:.75em 0; background:#cef2e0; font-family:inherit; font-size:120%; font-weight:bold; border:1px solid #a3bfb1; color:#000; padding:0.2em 0.4em;">Running APL</h2>
<h2 style="margin:.75em 0; background:#cef2e0; font-family:inherit; font-size:120%; font-weight:bold; border:1px solid #a3bfb1; color:#000; padding:0.2em 0.4em;">Running APL</h2>
{{Main|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.
 
<p style="text-align:right>'''[[Running APL]] ∙ [https://tryapl.org/ Try APL online]'''</p>


Traditionally a commercial language, there are now quite a few APL dialects available to download for free without feature limitations, and most of these can be tried online without installing anything.
| style="background:#f5faff;border:1px solid #cee0f2;padding:0 1em" |
| style="background:#f5faff;border:1px solid #cee0f2;padding:0 1em" |
<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>


{{Main|Tutorials}}
Taking up a new programming language can be a daunting task, but APL is actually very easy to learn. A few introductory guides have been created to help you in the process.


Taking up APL can ba a daunting task; a few introductory guides have been created to help in the process.
<p style="text-align:right>'''[[Tutorials]] ∙ [[Syntactic overview|Syntax]]'''</p>
|- style="vertical-align:top"
|- style="vertical-align:top"
| style="background:#faf5ff;border:1px solid #e0cef2;padding:0 1em" |
| style="background:#faf5ff;border:1px solid #e0cef2;padding:0 1em" |
<h2 style="margin:0.75em 0; background:#ddcef2; font-family:inherit; font-size:120%; font-weight:bold; border:1px solid #afa3bf; color:#000; padding:0.2em 0.4em">Who uses APL?</h2>
<h2 style="margin:0.75em 0; background:#ddcef2; font-family:inherit; font-size:120%; font-weight:bold; border:1px solid #afa3bf; color:#000; padding:0.2em 0.4em">Who uses APL?</h2>
There are many [[case studies]] of both hobby and real-world APL applications.
APL has gained traction among both hobbyists and and real-world application developers. There are active [[:Category:user groups|user groups]] all around the globe, many of these hold regular in-person meet-ups. There is also a popular online [[APL Orchard|APL chat room]].


There is a popular [[APL Orchard|APL chat room on Stack Exchange]].
<p style="text-align:right>'''[[Case studies]]'''</p>


There are active [[:Category:user groups|user groups]] all around the globe, many of these hold regular in-person meet-ups.
| style="background:#fff5fa;border:1px solid #f2cee0;padding:0 1em" |
| style="background:#fff5fa;border:1px solid #f2cee0;padding:0 1em" |
<h2 style="margin:0.75em 0; background:#f2cedd; font-family:inherit; font-size:120%; font-weight:bold; border:1px solid #bfa3af; color:#000; padding:0.2em 0.4em">Contributing</h2>
<h2 style="margin:0.75em 0; background:#f2cedd; font-family:inherit; font-size:120%; font-weight:bold; border:1px solid #bfa3af; color:#000; padding:0.2em 0.4em">Contributing</h2>
{{Main|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.
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. APL Wiki is not directly affiliated with any particular individuals, companies, or organisations.
<p style="text-align:right>'''[[Contributing]]'''</p>
|-
|-
| colspan="2" style="border:1px solid #e2e2e2;padding:0 1em" |
| colspan="2" style="border:1px solid #e2e2e2;padding:0 1em" |
<h2 style="margin:0.75em 0; background:#eeeeee; border:1px solid #ddd; color:#222; padding:0.2em 0.4em; font-size:120%; font-weight:bold; font-family:inherit;">Examples</h2>
<h2 style="margin:0.75em 0; background:#eeeeee; border:1px solid #ddd; color:#222; padding:0.2em 0.4em; font-size:120%; font-weight:bold; font-family:inherit;">Examples</h2>
{{Main|Examples}}
APL's terseness means that substantial programs are expressible in a small space, relative to many other programming languages. Here are some 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 ===
=== Split text by delimiter ===
Line 66: Line 66:
</source>
</source>
{{Works in|[[Dyalog APL]], [[ngn/apl]]}}
{{Works in|[[Dyalog APL]], [[ngn/apl]]}}
<p style="text-align:right">'''[[Examples|More examples]]'''</p>
|}
|}
{{APL programming language}}
{{APL programming language}}
{{APL community}}
{{APL community}}

Revision as of 12:58, 31 October 2019


Welcome to APL Wiki,

448 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, but APL is actually very easy to learn. A few introductory guides have been created to help you in the process.

TutorialsSyntax

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 studies

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.

Contributing

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

Template:APL programming language

APL community [edit]
Conferences and activities Advent of CodeAPL CampfireAPL CultivationAPL Meetup (Portuguese) ∙ APL ShowAPL Problem Solving CompetitionAPL ChallengeAPL QuestAPL SeedsArray CastBAA sessionsCode golfDyalog user meetingsDyalog webinarsIverson Award
Chat rooms and forums APL FarmAPL Orchard
User groups APL et J (France) ∙ APL Germany (terminology) ∙ APL ∊ BCN (Spain) ∙ BAA (UK) ∙ FinnAPL (Finland) ∙ SIGAPL (USA) ∙ Tokyo APL/J/K Meetup (Japan)
People Phil AbramsBrian BeckerBob BerneckyLarry BreedCharles BrennerJim BrownAdám BrudzewskyGitte ChristensenPeter DonnellyJohn EarnestAdin FalkoffGarth FosterLib GibsonAaron HsuRoger HuiKen IversonMorten KrombergDick LathwellMarshall LochbaumEugene McDonnellRoger MooreTrenchard MoreAlan PerlisHenry RichAl RoseJohn ScholesIan SharpBob SmithGeoff StreeterJoey TuttleArthur Whitney
Other APL Quote QuadAPL WikiBlogsBooksCase studiesFamous APL usersHumourJobsMerchandisePapersPodcastsTryAPLTry It OnlineVideo channels