Top 10 artiklarna

Squier '51
Badoo
Fluid dynamik
/ma/enwiki/sv/nasza-klasa.pl
Fransk konjugation
Odnoklassniki.ru
Sora Aoi
Alnico
Kanokkorn Jaicheun
Aggregatibacter actinomycetemcomitans

News:

APL (som programmerar språk)

APL
Paradigm samling, funktionellt, strukturerat, modul
Synts in 1964
Planlagt by Kenneth E. Iverson
Bärare Kenneth E. Iverson
Skriva disciplin dynamiskt
Ha som huvudämne genomföranden IBM APL2, Dyalog APL, APL2000, kor APL
Dialekter A+, Dyalog APL, APLNext
Påverkat by matematiskt beteckningssystem
Påverkat J, K, Nial

APL (A Programming Languagen) är programmera för samling språk som baseras på ett beteckningssystem som by uppfinns i 1957 Kenneth E. Iverson stunder på Harvarduniversitetet. Det påbörjade som ett försök att ge det jämna beteckningssystemet för undervisningen och analysen av ämnen släkta till applikationen av datorer. Iverson publicerade hans beteckningssystem i 1962 i en betitlad boka Ett programmera språk. Vid 1965 genomfördes en underdel av beteckningssystemet som ett programmera språk, därefter som var bekant som IVSYS. Mer sistnämnd före dess reklamfilmfrigörare, APL fick dess känt från titeln av boka. Iverson mottog Turing utmärkelse i 1979 för hans arbete.

Iversons beteckningssystem var mer sistnämnd van vid beskriver IBM System/360 bearbeta med maskin arkitektur, en beskrivning som mycket är mer koncis och, avkräva än den existerande dokumentationen och avslöjande av flera föregående obemärkt problem. Mer sistnämnd a Selectric typeball planlades special för att skriva en linjär framställning av detta beteckningssystem. Denna särskiljande aspekt av APL, bruket av ett specialt tecken - uppsättningen som visar visuellt funktionerna som ska utförs, återstår grundläggande oförändrad i dag.

Apl-språket presenterar en rik uppsättning av funktioner som fungerar på helt samlingar gilla vektoranvisningsuppsättningen av a av data SIMD arkitektur. Fördriva många skulle dataspråkar kräver upprepning tillfoga två samlingar tillsammans, fungerar i avtal för APL typisk med hela samlingar strax till till exempel. I samverkan med ett specialt tecken - uppsättning, var skåror föreställer funktioner som ska utförs, förminskar detta drastiskt det potentiellt numrerar av kretsar och låter för mindre, mer koncis och mer kompakt program.

Som med alla programmera språk, som har haft flera årtionden av ständigt bruk, har APL evolved markant, allmänt i ettkompatibelt sätt, från dess tidigare frigörare. APL är vanligt interpretive och växelverkande, och presenterar normalt läsa-utvärdera-skrivar ut kretsar (REPL) för befalla, och uttryckt matar in. I dag nästan all modern genomförandeservice strukturerat programmera fördriva flera dialekter presenterar nu något bildar av anmärka - orienterat programmera tankeskapelser.

Tillfredsställer

Historia

Den första incarnationen av vad var mer sistnämnd att vara APLEN som programmerar språk, var en boka som beskriver ett beteckningssystem som by uppfanns i 1957 Kenneth E. Iverson stunder på Harvarduniversitetet. Publicerat i 1962, var beteckningssystemet som beskrevs i boka, igenkännligt yet avlägset från APL.

IBM var huvudsakligen ansvariga för inledningen av APL till marknadsplatsen. I 1965 omarbetades genomförde en portion av beteckningssystemet och som ett programmera språk. APL var först tillgänglig i 1967 för IBM 1130 som APL \ 1130[1]. APL nådde dess fotfäste på timesharing system för värddator från den sena 60-tal till och med 80-tal. Mer sistnämnd när passande att utföra maskinvara var slutligen tillgänglig start i tidig sort till mid-1980s, många användare migrated deras applikationer till persondatormiljön.

Tidig sortIBM APL tolkare för IBM 360 och IBM 370 maskinvara genomförde deras egna multi-user ledning, i stället för relying på vara värd, servar, således var de timesharing system i deras egna rätt. Först introducerat i 1966, APL \ 360 systemet var en multi-user tolkare. I 1973 utsläppt IBM APL.SV vilken var en fortsättning av den samma produkten, men som erbjöd delade variabler som sparar hjälpmedlet som förutom tar fram lättheter APL-systemet, liksom fungerande system. I den mitt- 70-tal anpassades IBM värddatortolkaren även för bruk på IBM 5100 skrivbords- dator, som hade en liten CRT och en APL att skriva, när mest andra lilla datorer av tiden erbjöd endast GRUNDLÄGGANDE. På åttiotalet VSAPL programprodukten tyckte om utbredd användning med CMS, TSO, VSPC, och CICS användare.

Flera timesharing firmor fjädrade upp i 60-tal, och 70-tal, som sålde, APL servar genom att använda ändrade versioner av den IBM tolkaren APL \ 360. I Nordamerika debekant var I. P. Korbundsförvanter, Vetenskaplig Timesharing Korporation, och datorföretaget (TCC). Med adventen först av mindre dyra värddatorer liksom IBM 4331 och mer sistnämnd hade persondatorn, den timesharing branschen alla but försvunnet av den mitt- 80-tal.

Kor APL var tillgängligt från I. P. Korbundsförvanter, först på en timesharing bas i 60-tal, och mer sistnämnd som en programproduktstart runt om 1979. Kor APL var ett avancerat APL-genomförande med många språkf8orlängningar, liksom paketerar , spara systemet, bygga bo samlingar, och, (kapaciteten att sätta one or more anmärker in i en singelvariabel) delade variabler.

Apl-tolkare var tillgängliga från andra värddator- och mini-computertillverkningar som väl, notably Burroughs, CDC, Data - general, DEC, Harris, Hewlett-Packard, Siemens, Xerox, och andra.

APL2

Start i tidig sort80-tal, IBM APL utveckling, under ledarskap av Dr Jim brunt, genomfört en ny version av APL-språket som innehöll som dess primära förbättring begreppet av bygga bo samlingar var en samling kan innehålla andra samlingar, positiva nya språksärdrag som gjorde integrationen av bygga bo samlingar lättare in i programworkflow. Ken Iverson, i kontrollerar av utvecklingen av APL-språket som lämnas IBM och, sammanfogade ej längre I. P. Korbundsförvanter var han, riktade bland annat evolutionen av kor APL för att vara mer enligt hans vision. Mer sistnämnda Iverson framkallade J-språk.

Som andra försäljare var upptagna framkallning APL-tolkare för ny maskinvara, notably Unix- baserat mikrodatorer, Var APL2 nästan alltid det standart som valdes för nya APL-tolkareutvecklingar. Även i dag, citerar mest APL-försäljare förenlighet APL2, som att närma sig endast 100%, som sälja pekar för deras produkter.

APL2 för IBM är var värddatordatorer den tillgängliga todayen för stillbilden och först tillgängliga för CMS och TSO omkring 1980. Upplagan för arbetsstationen APL2 (Windows, OS/2, AIX, Linux och Solaris) följde mycket mer sistnämnd i tidig sort90-tal.

Mikrodatorer

Det första mikrodatorgenomförandet av APL var på MCMEN/70, 8008- baserad processor, i 1973. A Liten APL för Intel var 8080 kallade EMPL utsläppt i 1977, och Softronics APL, med mest av fungerar av full APL, for 8080 baserade CP-/Msystem var utsläppt i 1979.

I 1977 utsläppt var en affär jämn APL som var bekant som TIS APL som baserades på processorn Z80. Det presenterade den fulla uppsättningen av sparar fungerar för APL, plusen som ett fullt avskärmer matar in och växling av högra och lämnade argument för mest dyadic operatörer, genom att introducera ~. prefixet till allt dyadic singeltecken fungerar liksom - eller/.

Avantgarde APL var tillgänglig för Z80 CP/M- baserade processorer i den sena 70-tal. TCC utsläppt APL.68000 i tidig sort80-tal för Motorola 68000- baserade processorer, detta system som är basen för MicroAPL den limiteds APLX produkten. I. P. Utsläppt korbundsförvanter en version av deras APL-tolkare för IBM PC:N och PCEN/370 - för IBM PC:N, emulator var skriftligt som gjorde lättare att återanvända mycket av den IBM 370 värddatoren kodifierar. Arguably var den bäst bekant APL-tolkaren för IBM persondatorn STSC's APL*Plus/PC.

I tidig sort80-tal Analogicna framkallade Korporation Aplen bearbetar med maskin, som var bearbeta för samling datoren planlade att programmeras endast i APL. Det fanns faktiskt tre bearbeta enheter, användarens arbetsstation, IBM PC, var program skrevs in och redigerades, en Motorola 6800 processor, som körde APL-tolkaren och den Analogic samlingprocessorn som utförde urinnevånarearna. På tiden av dess inledning som APLEN bearbetar med maskin, rimligt snabbaste var det tillgängliga APL-systemet. Även om en teknologisk framgång, APLEN bearbetar med maskin var ett marknadsföra fel. Den initiala versionen stöttade en processaa singel i sänder. På tiden som projektera avbröts, designen, hade avslutats för att låta multipelanvändare. Som en aside bearbetar med maskin en ovanlig aspekt av APLEN var att arkivet av workspaces var organiserat sådan att en singel fungerar eller variabeln som delades av många workspaces, fanns endast en gång i arkivet. Flera av medlemmarna av APLEN bearbetar med maskin projekterar hade föregående spenderat ett nummer av år med Burroughs att genomföra APL \ 700.

På en arrangera, Microsoft Corporation planerat för att frigöra en version av APL, men dessa planerar aldrig förverkligat.

En tidig sortpublikation 1978 av Rodnay Zaks från Sybex var Ett microprogrammed APL-genomförande ISBN 0895880059 vilken är den färdiga sammanlagda källan som listar för microcoden för en PDP/processorn som LSI-11 genomför APL. Denna kan ha varit vikten av hans PhD te.

Överblick

[original- forskning?]

Över en mycket bred uppsättning av problemområden (math, vetenskap, iscensätta, datordesign, robotics, datavisualization, actuarial vetenskap, traditionell DP, Etc.) är APL ett extremt kraftigt, uttrycksfullt och koncist programmera språk, typisk uppsättning i en växelverkande miljö. Det skapades ursprungligen, bland annat, som a långt för att beskriva datorer, genom att uttrycka matematiskt beteckningssystem i ett rigoröst långt som kunde tolkas av en dator. Det är lätt att lära, men några APL-program kan ta någon tid att förstå, speciellt för en nykomling. Få erbjuder andra programmera språk den omfattande samlingfunktionsdugligheten av APL.

Kodifiera i APL struktureras typisk som kedjar av i motsats till traditionellt strukturerat programmera språk monadic eller dyadic fungerar och operatörer agera på samlingar. Som APL har många som är icke-standard urinnevånarear (fungerar, och operatörer som indikeras av ett singelsymbol eller en kombination av några symboler), har den inte att fungera eller operatörsprioritet. Tidig sortAPL-genomföranden hade inte kontrollera strukturerar (gör, eller stunden kretsar, om-därefter-annat), men, genom att använda samlingfunktioner, användning av strukturerat programmera tankeskapelser var rättvist inte nödvändigt. Till exempel fungerar jotan (som avkastningar en one-dimensional samling eller vektorn, från 1 till N) kan byta ut för-kretsar upprepning. Nyare genomföranden av APL inkluderar allmänt omfattande kontrollerar strukturerar, således strukturerar data, och programet kontrollerar flöde kan vara klart och avskilde rent.

Apl-miljön kallas a workspace. I en workspace kan användaren definiera program och data, dvs. datan värderar finns också utanför programen, och användaren kan behandla datan utan nödvändigheten för att definiera ett program. Till exempel,

tilldelar vektor värderar 4 5 6 7 till N;

tillfogar 4 till alla värderar (ge 8 9 10 11) och skrivar dem ut (en retur värderar inte tilldelat på avsluta av ett meddelande till en variabel genom att använda uppgiftspilen visas av APL-tolkaren);

skrivar ut summan av N, dvs. 22.

Användarecanräddningen som alla workspacen med värderar, program och utförandestatus.

APL är välkänd för dess bruk av en uppsättning av non-ASCII symboler som är en f8orlängning av traditionell aritmetisk och det algebraiska beteckningssystemet. Ha singelteckenet namnger för SIMD vektorn fungerar är enkelriktad att APL möjliggör kompakt utformning av algoritmer för dataomformning liksom beräkning Conways lek av liv i en fodra av kodifierar (exempel). I nästan alla versioner av APL är det teoretiskt möjligheten till uttryckligt any computable fungerar i ett uttryck, som är, i ett fodrar av kodifierar.

På grund av dess förtätade natur och icke-standard tecken har APL ibland benämnts ”,write-onlyspråk”och läsning avkodning för känselförnimmelse för APL-programcan först en lik Egyptiska hieroglyphics. På grund av det ovanligt tecken - uppsättning, brukssakkunnig för många programmerare skrivar med APL-keytops för att vara upphovsman till APL kodifiera. Kodifiera genom att använda endast ASCII-tecken, även om det finns olik väg att skriva APL[2], i praktiken, göras det nästan aldrig. (Detta kan tänkas för att stötta Iversons teer omkring beteckningssystem som en bearbeta av tanke[stämningen behövde].) Mest, om inte alla moderna genomföranden använder standart, skrivar orienteringar, med speciala mappings eller Mata in metodredaktörer att ta fram tecken non-ASCII. Historically har APL-stilsorten varit särskiljande, med uppercase kursiva alfabetiska tecken och upprätta tal och symboler. Mest försäljare fortsätter för att visa APL-teckenet - uppsättning i en beställnings- stilsort.

Förkämpar av APL fordrar att exemplen av den so-called writen-only kodifierar är exempel av fattigt programmera övar nästan invariably eller novisen missförstår, som kan uppstå i något språk. Förkämpar av APL fordrar också att de är avlägsen produktivare med APL än med konventionellare dataspråkar, och att funktionsduglig programvara kan genomföras i långt mindre tid och med långt mer få programmerare än genom att använda annan teknologi. APL låter en individ lösa mer hård problem snabbare. Också och att vara kompakt och kortfattad, lånar sig APL som är väl till större fjällprogramvaruutveckling, som komplexitet som uppstår från ett stort nummer av, fodrar av kodifierar kan dramatiskt förminskas. Många APL-förkämpar och praktiker beskådar att programmera i standarda programmera språk, liksom COBOL och Java, som jämförelsevis tröttande. APL finnas ofta var tajma-till-marknadsföra är viktigt, liksom med handelsystem.

Mer sistnämnda Iverson planlade J som programmerar språk vilket använder ASCII med digraphs i stället för speciala symboler.

Exempel

Ett mycket enkelt exempel, att skulle fortfarande kräv flera, fodrar av kodifierar i mest non-ställa i ordning att programmera språk är ett slumpmässigt lotteri för hacka 6 (från 1-40) numrerar generatorn som är färdig med att garantera upprepat inget, numrerar, och sortera resultaten, i att stiga, beställa:

↑6? 40

Efter uttryckt sorterar en uttrycka listar lagrat i matris X enligt uttrycker längd:

X [⍋X+.≠ ';]

Efter fungera ”liv” som är skriftligt i Dyalog APL, tar en boolean matris och beräknar den nya utvecklingen enligt Conways lek av liv:

I efter exemplet också fodrar Dyalog, första tilldelar någon HTML kodifierar till en variabel ”txt” och använder därefter ett APL-uttryck för att ta bort alla HTML märker och att gå texten tillbaka endast, som visat i jumbon fodra.

Uttryckt finner efter alla början numrerar från 1 till R (som antar en indexbeskärning av 1). I både tid och utrymme är beräkningen nollan (r-²).

(∼R∈R°.×R) /R←1↓ιR

Från rakt till lämnat, detta hjälpmedel:

  1. ιR skapar innehålla för vektor heltal från 1 till R (om R = 6 på början av programet, ιR är 1 2 3 4 5 6),
  2. Tappa den första beståndsdelen av denna vektor (↓ fungerar), dvs. 1. Så är 1↓ιR 2 3 4 5 6
  3. Uppsättning R till vektorn (←, uppgiftsurinnevånaren)
  4. Frambring yttre produkt av R som multipliceras av R, dvs. en matris som är multiplikation bordlägger av R vid R (°.× fungerar),
  5. Bygg en vektor den samma längden, som R med 1 i varje förlägger var motsvara numrerar i R är i den yttre produktmatrisen (∈, det fastställda medräknandet fungerar), dvs. 0 0 1 0 1
  6. Förneka logiskt värderar i vektorn (ändringsnollor till en och en till nollor) (∼, negation fungerar), dvs. 1 1 0 1 0
  7. Välj objekten i R, som den motsvarande beståndsdelen är 1 för (/fungera), dvs. 2 3 5

Beräkning

APL var unik i som rusades med vilket den kunde utföra komplexa matrisfunktioner. Till exempel understöder en mycket stor skulle take endast några för matris multiplikation på en bearbeta med maskin som var mycket mindre kraftig än de i dag. Det fanns både tekniskt, och ekonomiskt resonerar för denna fördel:

  • Reklamfilmtolkare levererade hög-trimmade linjära algebraarkivrutiner.
  • Mycket low åsamka sig interpretive fast utgift per-ställa i ordning-inte per-beståndsdelen.
  • Apl-svarstid jämförde gynnsamt till runtimesna av optimerande kompilatorer för tidig sort.
  • IBM g microcode hjälp för APL på ett nummer av värddatorer IBM/370.

Ett brett citerat pappers- ”En APL bearbetar med maskin” (varat upphovsman till av Phil Abrams) förevigade mythen som APL gjorde genomträngande bruk av lat utvärdering var beräkningar skulle inte faktiskt för att utföras, tills resultaten var nödvändiga och, därefter endast krävde de beräkningar strängt. En tydlig (och lätt att genomföra) lat utvärdering är J-vektor : när ett monadic jota möts i kodifiera, är hålls som a framställning i stället för beräkning strax, således, tajmar besparingen några, såväl som minne.

Även om denna teknik inte generaliserades, förkroppsligar den språkets den bäst överlevnadmekanismen: specificera inte beställa av scalar funktioner. Även som slutligen standardiserat av X3J10, är APL så högt data-jämföra, ger det språkimplementors enorm frihet till schemafunktioner så effektivt som möjlighet. Som datorinnovationer liksom cacheminne, och SIMD utförandet blev kommersiellt tillgängligt, APL-program ported med lite extra försök low-level spenderad beträffande-optimering specificerar.

Tolkare

I dag äger rum mest APL-språkaktivitet under Microsoft Windowsfungerande systemet, med någon aktivitet under Linux, Unix, och MacOS. Jämförelsevis lite äger rum APL-aktivitet i dag på värddatordatorer.

APLNow (förr APL2000) erbjuder en avancerad APL-tolkare som fungerar under Linux, Unix och Windows. Det stöttar Windows automation, stöttar appeller till fungerande systemet och användbardefinierade DLLs, har en avancerad APL att spara systemet och föreställer strömmen som är jämn av APL-språkutveckling. APL2000'S-produkten är en avancerad fortsättning av STSC'fodrar produkten lyckad APL*Plus/PC och APL*Plus/386 för s.

Dyalog APL är en avancerad APL-tolkare som fungerar under Linux, Unix och Windows. Dyalog har aggressiva f8orlängningar till APL-språket som inkluderar nytt anmärka - orienterat särdrag talrika språkförbättringar, plus ett jämnt namespace modellera använt för båda dess Microsoft Automation har kontakt, as well as infödda namespaces. För den Windows plattformen erbjuder Dyalog APL åtsittande integration med Microsoft. Förtjäna plusen begränsad integration med plattformen för utveckling för den Microsoft visuellt hjälpmedelstudion.

IBM erbjuder en version av IBM APL2 för IBM AIX, Linux, för sunen Solaris och Windows system. Denna produkt är en fortsättning av APL2 som erbjuds för IBM värddatorer. IBM APL2 var arguably det mest inflytelserika APL-systemet, som g ett standart fast genomförande för den nästa uppsättningen av f8orlängningar till språket som fokuserar på bygga bo samlingar.

MicroAPL begränsade erbjudanden APLX, bet full-featured 64 tolkaren för Linux, Windows, och Apple MacOS system.

Soliton bundsförvanter erbjuder SAX-tolkaren (kor APL för Unix) för Unix- och Linux system, som är en mer ytterligare utveckling av I. P. Korbundsförvant produkt för APL för kor. I motsats till mest andra APL-tolkare, Kenneth E. Iverson hade någon påverkan i de långt bygga bo samlingarna genomfördes i kor APL och SAX. Nästan alla andra APL-genomföranden följde jagauppsättningen av IBM med APL2, således specificerar något viktigt i kor APL skilja sig åt från andra genomföranden.

Sammanställning

Apl-program är normalt tolkat och mindre ofta sammanställt. I verkligheten mest APL-kompilatorer översatt källa APL till ett lägre jämnt språk liksom Coch att lämna det machine-specific specificerar till den lägre jämna kompilatorn. Sammanställning av APL-program var ett vanligt diskuterat ämne i konferenser. Även om några av de nyare förbättringarna till APL-språket liksom bygga bo samlingar har framfört språket mer och mer svårt att sammanställa, är idén av APL-sammanställning stilla under utveckling i dag.

I förflutnan betraktades APL-sammanställning som hjälpmedel som uppnår utförandet rusat jämförbart till andra konventionella språk, speciellt på värddatordatorer. Flera APL-kompilatorer uppnådde något jämnar av framgång, though av utvecklingsförsöket som spenderades på APL över åren, gick jämförelsevis lite till att göra perfekt sammanställning in i bearbetar med maskin kodifierar.

Som är fallet, när det är röra APL, programmerar från en försäljare APL-tolkare till another, kräver APL-program som invariably ska, ändringar till deras nöjt. Beroende av kompilatorn kan variabelförklaringar är nödvändiga, bestämda behöver skulle språksärdrag att tas bort eller undvikas, eller de skulle APL-programen behöver att göras ren upp i något långt. Några särdrag av språket, liksom utförandet fungerar (en uttrycksutvärderare) och det olikt reflexion och själviakttagelse fungerar från APL, liksom kapaciteten att gå en funktions text tillbaka, eller att förverkliga ett nytt fungera från text, var enkelt inte praktisk att genomföra in bearbetar med maskin kodifierar sammanställning.

En reklamfilmkompilator koms med för att marknadsföra by STSC i den mitt- 80-tal som ett tillägg till IBM produkten för VSAPL-program. I motsats till modernare APL-kompilatorer bearbetar med maskin denna producerade produkt kodifierar som skulle utför endast i tolkaremiljön, det inte var möjligheten som avlägsnar den del- tolkaren. Kompilatorn kunde sammanställa många scalar, och vektorfunktioner som ska bearbetas med maskin, kodifierar, men den skulle rely på APL-tolkaren servar för att utföra någon mer avancerad fungerar, i stället för försök att sammanställa dem. Emellertid uppstod dramatiska speedups, speciellt för tungt iterativ APL kodifierar.

Runt om den samma tiden boka En APL-kompilator vid Timothy Budd synts i tryck. Detta bokar specificerade konstruktionen av en APL-översättare som är skriftlig in C, som utförde bestämda optimizations liksom kretsa fusion närmare detalj till behoven av ett samlingspråk. Källspråket var APL-gillar några härskar däri av APL-språket ändrades eller kopplades av till effektivare sammanställning för tillstånd. Den skulle översättaren sänder ut C kodifierar som sammanställas därefter och körningsbrunnen förutom APL-workspacen.

I dag är det rusade utförandet mindre kritiskt, och många populära språk är genomfört använda faktiskt bearbetar med maskin - anvisningar som tolkas på runtime. Burroughsen/Unisysen APLB tolkaren (1982) var första som använder dynamisk ökande sammanställning till jordbruksprodukter, kodifierar för en faktisk APL-närmare detalj bearbetar med maskin. Det recompiled on-the-fly, som filnamn ändrade deras funktionella betydelser. Förutom att ta bort satslösning och något kontrollera för fel från den huvudsakliga utförandebanan, sådan sammanställning rationaliserar det upprepade tillträdeet och går ut också av användbardefinierade funktionella operander. Detta undviker bunten ställer in, och taken-down för fungerar appeller som göras av APLS inbyggde operatörer liksom, förminskar och varje.

APEX, är en forskningAPL-kompilator, tillgänglig från ormön Research Inc. APEXEN sammanställer lägenheten APL (en underdel av ISO N8485) in i SÄCK, kör ett funktionellt samlingspråk med parallell semantics, och för närvarande under Linux. APEX-frambragt kodifiera bruk kretsa fusion och samlingcontraction, sakkunnig-fall algoritmer som inte allmänt är tillgängliga till tolkare (e.g., förbättring av permutationvektorn), att uppnå ett jämnt av kapaciteten som är jämförbar till det av Fortran.

APLNexten VisualAPL systemet är en avvikelse från ett konventionellt APL-system VisualAPL är däri ett riktigt. Netto språk som är fullständigt inter-manövrerbart med annat . Microsoft. Netto språk liksom VB.Net och C#. VisualAPL är anmärker naturligt - orienterat och Unicode-baserat. Stunden VisualAPL inkorporerar mest av särdragen av legatAPL-genomföranden, det VisualAPL språket fördjupa legaten APL för att vara. Förtjäna-eftergivent. VisualAPL varas värd i den standarda Microsoft visuellt hjälpmedelstudion IDE och, som sådan, åkallar sammanställning i ett sätt som är identiskt till det av annat. Netto språk. Genom att producera. Netto allmänningspråkruntime (CLR) kodifierar, det använder Microsoft den just-in-time kompilatorn (JIT) för att stötta 32 bet, eller 64 bet maskinvara. Den verkliga kapaciteten rusa-ups över legaten APL har anmälts, när speciellt (valfri) stark maskinskrivning av fungerar argument används.

En APL till C# översättaren är tillgänglig från grafiska system för Causeway. Denna produkt planlades för att låta APLEN kodifierar, översatt till likvärdigt C#, för att köra fullständigt förutom APL-miljön. Causewaykompilatorn kräver ett run-time arkiv av samling fungerar. Någon speedup som ibland är dramatisk, är synlig, men händer på kontot av optimisationsna som är naturliga i Microsoft . Netto ram.

Terminologi

APL gör en klar skillnad between fungerar och operatörer. Fungerar taken värderar (variabler eller konstanter eller uttryck) som argument, och retur värderar som resultat. Operatörer (aka higher-order fungerar) fungerar taken, som argument och återgångt släkt som härledas fungerar som resultat. Till exempel ”fungerar summan” härledas, genom att applicera ”den förminsknings” operatören till ”tillägget”, fungerar. Applicera den samma förminskningsoperatören till ”taket” fungera (som går det större av två tillbaka värderar), skapar ett härlett ”maximum” fungerar, som går det störst av en grupp (vektor) tillbaka av värderar. I j-språket ersatte Iverson benämner ”verb”, och ””fungerar” adverben” för och ”operatören”.

APL identifierar också de särdrag som byggs in i språket och föreställs av ett symbol eller en fixad kombination av symboler, som urinnevånarear. Mest urinnevånarear är endera fungerar eller operatörer. Att kodifiera APL är ett processaa av handstilnon-urinnevånaren fungerar i hög grad och (i några versioner av APL) operatörer. Emellertid är några urinnevånarear ansedda att vara neither fungerar nor operatörer, märkbarast uppgift.

Tecken - uppsättning

APL har alltid kritiserats för dess primat av ett unikt icke-standard tecken - uppsättning. Observationen, att några, som lärer den blir vanligt ivriga anhängare, visar, att det finns några, väger bakom Iverson'gör s-idén, som beteckningssystemet använde, en skillnad. I början fanns det slutliga apparater för fåtal som kunde reproducera APL-teckenet - uppsättning - populärast att använda IBM Selectric tryckmekanism tillsammans med en beståndsdel för sakkunnigAPL-typ. Med tiden med det universella bruket av högkvalitativa grafiska skärm- och utskrivaapparater, har problemet för APL-teckenstilsorten i hög grad avlägsnats; emellertid kräver problemet av att skriva in APL-tecken bruket av mata in metodredaktörer eller sakkunniga skrivar mappings, som kan frustrera nybörjare som vänja sig till andra språk. Med popularizationen av Unicode standard som innehåller APL-teckenet - uppsättningen, problemet av att erhålla de krävda stilsorterna verkar balanserad för att gå bort.

Från en användares ståndpunkt kan de extra teckenen ge APL en special elegans, och möjligheten för concision inte i andra språk som använder stöd för minnet för symboler av, fungerar visuellt dem föreställer. Eller det kan leda till en löjlig grad av komplexitet, och unreadabilityen, när symbolerna strängas tillsammans in i en singel, samlas typisk utan några kommentarer. Eller det kan vara oförnuftigt svårt, och tidskrävande att skriva in därefter mer sistnämnd redigera de APL-meddelanden.

Apl-symboler och skrivar orienteringen

Notera stöd för minnet som förbinder ett APL-tecken med en märka: ifrågasätta markerarQ, drivaP, rhoR, basera värderarB, kodaN, modulusM och så vidare. Detta gör det lättare för att en English-language högtalare ska skriva APL på enAPL skrivar att ge en har visuellt hjälpmedelåterkoppling på ens att avskärma. Också har dekal producerats för tillbehör till standart skrivar, endera på bekläda av stämm eller på det bästa av dem.

Ett aktuellare skrivar diagrammet som är tillämpbart för APL2, och andra moderna genomföranden, är tillgängliga: Facklig orientering för fönster.

Alla APL-symboler är närvarande in Unicode (även om några APL-produkter inte kan ännu presentera denna):

' ( ) + , - . /  :  ; < = >  ? [ ]
\ _ ¨ ¯ × ÷

Extra APL-tecken var tillgängliga by overstriking ett tecken över another. Till exempel logga symbolet bildades, vid overstriking av förskjutningenP med förskjutningenNolla. Detta försvårat korrigera missförstår, och redigera program fodrar. Denna kan ultimately ha varit resonera för att tidig sortAPL-program ska ha ett bestämt tätt att utforma - de var svåra att redigera.

Många overstrikes som visas i det ovannämnt, bordlägger, även om appellera, används inte faktiskt. Nya overstrikes introducerades av försäljare, som de producerade versioner av APL anpassade till specifik maskinvara, systemsärdrag, sparar systemet, och så vidare. Vidare och att skriva ut terminaler och tidig sortAPL cathode-ray var terminaler kapabla av att visa godtyckliga overstrikes, men som persondatorer bytte ut snabbt terminaler som en data-entry apparat, APL-tecken som service gs nu som ROM-minne för APL-teckengenerator eller ett mjukt tecken - uppsättning som framförs av skärmapparaten. Med adventen av Windows definierades APL-tecken som rättvist en annan färdig stilsort, således skillnaden mellan overstrucktecken och standarda tecken som hade avlägsnats.

Mer sistnämnd IBM terminaler, notably IBM 3270 skärm posterar, hade en suppleant att skriva ordningen som är basen för någon av den moderna APLEN skrivar orienteringar som är i bruk i dag. Bättre terminaler, namely skärmapparater i stället för skrivare, uppmuntrade utvecklingen av bättre fullt avskärmer redaktörer, som hade en mätbar förbättring i produktivitets- och programläsbarhet.

Användning

APL long har long haft en liten och passionerad användare att basera. Det var, och stilla är populärt i finansiella och försäkringapplikationer, i simuleringar och i matematiska applikationer, ofta var en lösning ändrar vanligt eller var i en överdriven komplexitet för riksspråkavkastningar. APL har använts i en bred variation av sammanhang, och för många och omväxlande ämnar. Informationsbladet betitlad ”Citera-Kvadrat” som är hängiven till APL, har publicerats, sedan 70-tal vid SIGAPLEN delar upp av anslutningen för beräknande maskineri (Citera-Kvadraten är det känt av APL-teckenet som används för text, matar in och tillverkar).

Mestadels tack vare dess infixbeteckningssystem och dess betoning på växelverkan med datoren, APL kan vara en idealmiljö för forutplaceringen av växelverkande Områdesnärmare detaljspråk. Illviljan närvaroen av icke-standard tecken i APL-teckenet - uppsättningen, är det möjligheten för en användare av ettnärmare detalj språk som genomföras i APL för att skriva enkla program (eller skrivar) som endast består av, uttrycker, numrerar, och förtrogen väninterpunktion. Till så sent som midna-1980s, APL tidsdelning försäljare erbjöd applikationer som levererades i form av områdesnärmare detaljspråk. På I. P. Kor det timesharing systemet, en workspace kallade MAGI 39 erbjudet ta fram till finansiell och för flygbolagdata positiv sofistikerad (för tiden) graphing och att anmäla, i form av ett områdesnärmare detaljspråk. Ett annat exempel är GRAPHPAK-workspacen som levereras med IBM APL2; en demonstrationsversion av både APL2 och GRAPHPAK kan nedladdas för Windows.

APL har också använts i talrikt metaprogramming applikationer. Givet yttre data, som omväxlande ibland, APL programmerar var van vid komponerar portionr, eller färdigt delar upp av kodifierar skriftligt i andra språk liksom Fortran, COBOL eller Java. En applikationen använd APL som frambringar Fortran, kodifierar av verkligt linjärt programmera modellerar. Som sådan, kodifierar Fortran tänktes för att vara för stort bekvämt att förstås av en singel eller en liten grupp av individer. Emellertid med detta att närma sig, rutinmässigt underhåll poserade ingen barriär. Liknande att närma sig användes var befästning bordlägger underhållen förutom APL kunde ögonblickligen omformas in i ansenliga COBOL program som utförde de nödvändiga befästninguträkningarna. Ett tröttande kliver som krävde föregående flera man-days, namely avlägsnades ändringar till ett långt COBOL program, praktiskt. Den liknande saker har gjorts som sände ut slutligen Java kodifierar.

Intressera i APL har stadigt gått ned efter 80-tal. Denna var delvist tack vare bristen av en flyttningsbana från performant värddatorgenomföranden till low-cost persondatoralternativ för tidig sort, och tillgängligheten av kick-produktivitet end-userberäkning bearbetar liksom Microsoft Excel och Microsoft Access. Dessa är anslår plattformar för vad kan ha varit värddatorAPL-applikationer i 70-tal och 80-tal. Några APL-användare migrated till J som programmerar språk, som erbjuder mer avancerad särdrag. Avslutningsvis var nedgången också rakt i del till tillväxten av MATLAB, Gnu-oktav, och Scilab. Dessa vetenskapliga beräknande ställa i ordning-orienterade plattformar ger en växelverkande beräkning erfar liknande till APL, men mer liknar konventionella programmera språk liksom Fortran och använder standart ASCII.

Notwithstanding denna nedgång sätter in APL-fynd fortsatt bruk i bestämt, liksom att redogöra forskning (Stanford som redogör PhD krav)

Standardisering

APL har standardiserats av ANSI funktionsduglig grupp X3J10 och ISO/IEC Foga ihop tekniska grupp 3 för Subcommittee 22 för kommitté 1 funktionsduglig. Kärna urAPL-språket specificeras i ISO 8485:1989, och det Extended APL-språket specificeras i ISO/IEC 13751:2001.

Citationstecken

  • ”APL, som du kan skriva i ett program för att simulera att hasa en kortlek och därefter att handla dem ut till flera spelare i fyra tecken, inga av som visas på ett standart, skriva.”, Givna David
  • ”Är APL en missförstå, buret igenom till perfektion. Det är språket av framtiden för de programmera teknikerna av förflutnan: det skapar en ny utveckling av att kodifiera lodisar. ”, Edsger Dijkstra, 1968
Rho rho, rho av X
Likställer alltid 1.
Rhoen är dimensionerar; rhorho som är frodig.
APL är rolig!
  • ”Hitåt av att göra affär var så produktivt att det den lika löpelden för spridning. Vid tiden grundar det praktiska folket ut vad hade händt; APL var så viktig en del av hur IBM körde dess affär att den inte kunde eventuellt uprooteds. Desynade forskarna hade producerat en moneymaker. ”Michael S. Montalbano 1982 (se En personlig historia av APL)
  • Roa det efter rim har cirkulerats som del av förmögenhet program i talrika Unixinstallationer.
'Tis drömmen av varje programmerare
För hans liv göras,
För att skriva tre fodrar av APL
Och gör den förbaskade tingkörningen.

Se också

Hänvisar till

  1. ^ Larry avel (Augusti 2006). "Hur vi fick till APL \ 1130". Vektor (brittisk APL-anslutning) 22 (3). ISSN 0955-1433. 
  2. ^ Löst skjortbröst Lee, A listar av APL-Transliterationintriger, 1993
  • Iverson Kenneth E. - Ett programmera språk, Wiley 1962.
  • En formell beskrivning av SYSTEM/360, Förar journal över IBM system 3:3, New York: 1964
  • Pakin Sandra - APL \ 360 hänvisar till handboken, Vetenskap Research Associates, Inc. 1968. ISBN 0-574-16135-X,
  • Historia av att programmera språk, kapitel 14
  • Gerald Jean Francis Banon - Baserar daen Computacao Grafica, RIO DE JANEIRO: UNIVERSITETSOMRÅDE 1989. 141 P.

Se också

Utsidan anknyter

Wikimedia allmänningar har massmedia släkt till:
The original article is from Wikipedia. To view the original article please click here.
Creative Commons Licence