Arc (programmeringsspråk)

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 20 december 2021; kontroller kräver 3 redigeringar .
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 ) ( 2018-10-28 )
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".

Språkets bakgrund och filosofi

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 .

Implementering

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] .

Inofficiella versioner

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.

Kommentarer

  1. Båge vid 3 veckor (Paul Graham) . Hämtad 2 februari 2010. Arkiverad från originalet 26 juni 2013.
  2. Uppsats: Att vara populär . Hämtad 2 februari 2010. Arkiverad från originalet 2 maj 2017.
  3. Varför Ark inte är alltför objektorienterad Arkiverad 29 juni 2013 på Wayback Machine 
  4. Arc FAQ . Hämtad 2 februari 2010. Arkiverad från originalet 26 juni 2013.
  5. Arc's Out (29 januari 2008) . Hämtad 2 februari 2010. Arkiverad från originalet 21 mars 2017.
  6. Arc släpps nyheter på LoRe
  7. handledning (nedlänk) . Hämtad 2 februari 2010. Arkiverad från originalet 6 februari 2010. 
  8. diskussionsforum . Hämtad 2 februari 2010. Arkiverad från originalet 25 juli 2011.
  9. Reddit: Arc's Out . Hämtad 28 september 2017. Arkiverad från originalet 13 februari 2008.
  10. arc3 Repository på Github . Hämtad 2 februari 2010. Arkiverad från originalet 6 september 2009.

Länkar

På ryska Arc i artiklar av Paul Graham