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 ) |
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".
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 .
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] .
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.
Lisp | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Egenskaber |
| ||||||||||||||
Implementeringer |
| ||||||||||||||
Hardware |
| ||||||||||||||
Fællesskab |
| ||||||||||||||
|
Programmeringssprog | |
---|---|
|