Båge | |
---|---|
Språkklass | multiparadigm : funktionellt metaspråk |
Framträdde i | 2008 |
Författare | Paul Graham och Robert Morris |
Filtillägg _ | .arc |
Släpp | 3.2 (28 oktober 2018 ) |
Typ system | dynamisk , stark |
Blivit påverkad | LÄSPA |
påverkas | Anarky, HL |
Licens | Perl Foundations konstnärliga licens 2.0 |
Hemsida | arclanguage.org |
Arc är en dialekt av språket Lisp som utvecklats av Paul Graham och Robert Morris . I ett nötskal kan Arc definieras som en extremt förenklad version av Lisp, med kraftfullt makrostöd som tillåter alla Lisp-stil "dirty hacks".
2001 meddelade Paul Graham [1] att han arbetade på en ny dialekt av Lisp, som han kallade "Arc". Under åren har han skrivit flera uppsatser som beskriver språkets funktion eller syfte, och några interna Y Combinator- projekt har skrivits i Arc, särskilt Hacker News webbforum och nyhetsaggregatorprogrammet.
I essän Being Popular [2] beskriver Graham några av sina mål för sitt språk. Mål som "Arc ska vara hackbar " och "den ska ha bra bibliotek " anges; Graham sa också att:
Jag kommer inte vara långt ifrån sanningen om jag säger att en hackers val av programmeringsspråk är, åtminstone undermedvetet, baserat på hur många tecken han måste skriva. Om det inte är precis vad hackare tror, skulle språkdesigners göra klokt i att agera som om det vore det.
Originaltext (engelska)[ visaDölj]Det skulle inte vara långt ifrån sanningen att säga att en hacker som ska skriva ett program bestämmer vilket språk han ska använda, åtminstone omedvetet, baserat på det totala antalet tecken han måste skriva. Om det inte är exakt hur hackare tänker, skulle en språkdesigner göra klokt i att agera som om det vore det.
Paul Graham påpekar att John McCarthys ursprungliga Lisp byggdes kring en liten uppsättning "axiom" och argumenterar för att Arc bör byggas på det sättet, även om det betyder att språket inte kommer att ha de funktioner som stora organisationer vill ha. I synnerhet anser Graham att objektorientering är värdelös eftersom OOP-metoder och -modeller bara är "bra design", och han ser de språkegenskaper som används för att implementera OOP som delvis felaktiga [3] [4] .
Bland Lisp-programmerare är frågan om, och hur mycket, syntaxen för S-uttryck bör kompletteras med andra former av syntax . Graham anser att ytterligare syntax bör användas i situationer där rena S-uttryck skulle vara för mångsidiga, och sa: "Jag tror inte att vi fanatiskt ska motsätta oss införandet av syntax i Lisp." Graham anser också att effektivitetsproblem bör lösas genom att ge programmeraren en bra profilerare .
Den första offentliga versionen av Arc släpptes den 29 januari 2008 [5] [6] . Releasen kom i form av ett .TAR-arkiv som innehåller Arc-källkoden för mzscheme. En handledning [7] och ett diskussionsforum [8] finns också tillgängliga. Forumet är en kopia av forumet news.ycombinator.com och är också skrivet i Arc. Denna implementering är licensierad under Artistic License 2.0 (utvecklad för Perl-språket ).
Den initiala versionen orsakade en del kontroverser, särskilt på grund av bristen på stöd för andra teckenuppsättningar förutom ASCII , och webbutvecklingsbiblioteket som levererades med språket , baserat på HTML -layout . Allt detta, i kombination med publicitetshypen kring Arc och den långsamma utvecklingsprocessen, orsakade många ogynnsamma kommentarer [9] .
På grund av den långsamma utvecklingen av den officiella Arc-grenen har några medlemmar av Arc-gemenskapen öppnat ett inofficiellt arkiv med korrigeringar, tillägg och bibliotek [10] . En version, kallad Anarki, startades för att fortsätta utvecklingen efter att några medlemmar i samhället kände att Arcs centraliserade utveckling under Paul Graham hade stagnerat.
Läspa | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Egenskaper |
| ||||||||||||||
Genomföranden |
| ||||||||||||||
Hårdvara |
| ||||||||||||||
gemenskap |
| ||||||||||||||
|
Programmeringsspråk | |
---|---|
|