Arc (programmeringssprog)

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 20. december 2021; checks kræver 3 redigeringer .
Bue
Sprog klasse multi -paradigme : funktionelt metasprog
Dukkede op i 2008
Forfatter Paul Graham og Robert Morris
Filtypenavn _ .arc
Frigøre 3.2 (28. oktober 2018 ) ( 2018-10-28 )
Type system dynamisk , stærk
Blev påvirket LISP
påvirket Anarky, HL
Licens Perl Foundations kunstneriske licens 2.0
Internet side arclanguage.org

Arc  er en dialekt af Lisp-sproget udviklet af Paul Graham og Robert Morris . I en nøddeskal kan Arc defineres som en ekstremt forenklet version af Lisp, med kraftfuld makrounderstøttelse, der tillader ethvert Lisp-stil "dirty hacks".

Baggrund og sprogfilosofi

I 2001 annoncerede Paul Graham [1] at han arbejdede på en ny dialekt af Lisp, som han kaldte "Arc". Gennem årene har han skrevet adskillige essays, der beskriver sprogets funktion eller formål, og nogle interne Y Combinator -projekter er blevet skrevet i Arc, især Hacker News -webforumet og nyhedsaggregatorprogrammet.

I essayet Being Popular [2] beskriver Graham nogle af sine mål for sit sprog. Mål som "Arc skal være hackbar " og "den skal have gode biblioteker " er angivet; Graham udtalte også, at:

Jeg vil ikke være langt fra sandheden, hvis jeg siger, at en hackers valg af programmeringssprog, i hvert fald ubevidst, er baseret på, hvor mange tegn han skal skrive. Hvis det ikke ligefrem er, hvad hackere mener, ville sprogdesignere gøre klogt i at agere, som om det var det.

Originaltekst  (engelsk)[ Visskjule]

Det ville ikke være langt fra sandheden at sige, at en hacker, der er ved at skrive et program, beslutter, hvilket sprog der skal bruges, i det mindste ubevidst, baseret på det samlede antal tegn, han skal skrive. Hvis det ikke er præcis, hvordan hackere tænker, ville en sprogdesigner gøre klogt i at agere, som om det var det.

Paul Graham påpeger, at John McCarthys originale Lisp var bygget op omkring et lille sæt "aksiomer" og argumenterer for, at Arc bør bygges på den måde, selvom det betyder, at sproget ikke vil have de funktioner, som store organisationer ønsker. Især mener Graham, at objektorientering er ubrugelig, fordi OOP-metoder og -modeller bare er "godt design", og han ser de sproglige funktioner, der bruges til at implementere OOP, som delvist fejlbehæftede [3] [4] .

Blandt Lisp-programmører er spørgsmålet, om og hvor meget syntaksen for S-udtryk skal suppleres med andre former for syntaks . Graham mener, at yderligere syntaks bør bruges i situationer, hvor rene S-udtryk ville være for omfattende, idet han sagde: "Jeg tror ikke, vi fanatisk bør modsætte os introduktionen af ​​syntaks i Lisp." Graham mener også, at effektivitetsproblemer bør løses ved at give programmøren en god profiler .

Implementering

Den første offentlige version af Arc blev udgivet den 29. januar 2008 [5] [6] . Udgivelsen kom i form af et .TAR-arkiv indeholdende Arc-kildekoden til mzscheme. En tutorial [7] og et diskussionsforum [8] er også tilgængelige. Forummet er en kopi af news.ycombinator.com forummet og er også skrevet i Arc. Denne implementering er licenseret under Artistic License 2.0 (udviklet til Perl-sproget ).

Den oprindelige version forårsagede en del kontroverser, især på grund af manglen på understøttelse af andre tegnsæt udover ASCII , og webudviklingsbiblioteket, der blev leveret med sproget , baseret på HTML - layout . Alt dette, kombineret med reklamehypen omkring Arc og den langsomme udviklingsproces, forårsagede en masse ugunstige kommentarer [9] .

Uofficielle versioner

På grund af den langsomme udvikling af den officielle Arc-gren har nogle medlemmer af Arc-fællesskabet åbnet et uofficielt lager af rettelser, udvidelser og biblioteker [10] . En version, kaldet Anarki, blev startet for at fortsætte udviklingen, efter at nogle medlemmer af samfundet følte, at Arcs centraliserede udvikling under Paul Graham var stagneret.

Kommentarer

  1. Bue efter 3 uger (Paul Graham) . Hentet 2. februar 2010. Arkiveret fra originalen 26. juni 2013.
  2. Essay: At være populær . Hentet 2. februar 2010. Arkiveret fra originalen 2. maj 2017.
  3. Hvorfor Ark ikke er for objektorienteret Arkiveret 29. juni 2013 på Wayback Machine 
  4. Arc FAQ . Hentet 2. februar 2010. Arkiveret fra originalen 26. juni 2013.
  5. Arc's Out (29. januar 2008) . Hentet 2. februar 2010. Arkiveret fra originalen 21. marts 2017.
  6. Arc er udgivet nyheder på LoRe
  7. tutorial (downlink) . Hentet 2. februar 2010. Arkiveret fra originalen 6. februar 2010. 
  8. diskussionsforum . Hentet 2. februar 2010. Arkiveret fra originalen 25. juli 2011.
  9. Reddit: Arc's Out . Hentet 28. september 2017. Arkiveret fra originalen 13. februar 2008.
  10. arc3 Repository på Github . Hentet 2. februar 2010. Arkiveret fra originalen 6. september 2009.

Links

På russisk Arc i artikler af Paul Graham