Hacker News

colorForth

colorForth Այս հետազոտությունը խորանում է գույնի մեջ՝ ուսումնասիրելով դրա նշանակությունը և հնարավոր ազդեցությունը: Հիմնական հասկացությունները ծածկված են Այս բովանդակությունը ուսումնասիրում է. Հիմնարար սկզբունքներ և տեսություններ Գործնական հետևանքներ և կիրառական...

1 min read Via colorforth.github.io

Mewayz Team

Editorial Team

Hacker News

colorForth-ը մինիմալիստական, գունային կոդավորված ծրագրավորման լեզու է, որը ստեղծվել է Չակ Մուրի կողմից՝ Forth-ի գյուտարարի կողմից, որը նախատեսված է ծրագրային ապահովման մշակումը հասցնելու համար ամենակարևոր տարրերին: Փոխարինելով ավանդական շարահյուսական կետադրությունը գունային կոդավորված բառերով, colorForth-ը հասնում է արմատական պարզության և ծայրահեղ կատարողականության՝ դարձնելով այն հաշվողական պատմության մեջ ամենաանսովոր, բայց ազդեցիկ լեզուներից մեկը:

Ի՞նչ է կոնկրետ colorForth-ը և ինչպե՞ս է այն աշխատում:

colorForth-ը մշակվել է Չակ Մուրի կողմից 1990-ականների վերջին՝ որպես Forth ծրագրավորման լեզվի ուղղակի էվոլյուցիա։ Այն դեպքում, երբ սովորական լեզուները հիմնվում են փակագծերի, կետ-ստորակետերի և հիմնաբառերի ցուցիչների վրա՝ կոմպիլյատորին մտադրությունը հաղորդելու համար, colorForth-ը կոդավորում է այդ տեղեկատվությունը անմիջապես յուրաքանչյուր բառի գույնի մեջ: Աղբյուրի կոդը պահվում է ոչ թե որպես պարզ տեքստ, այլ որպես նշանների հաջորդականություն, որոնցից յուրաքանչյուրը կրում է իր գույնը որպես մետատվյալներ:

Կանաչ բառերը հավաքվում են բառարանում: Կարմիր բառերը կատարվում են անմիջապես կոմպիլյացիայի ժամանակ: Դեղին բառերը օգտագործվում են որպես փոփոխականներ կամ տվյալների հղումներ: Սպիտակ բառերը անցնում են որպես տեքստային բառացիներ: Այս կոդավորումը վերացնում է վերլուծության մի ամբողջ շերտ՝ թույլ տալով թարգմանչին գործել իմաստի վրա այն պահին, երբ նա կարդում է նշանը: Արդյունքը լեզու է, որն աշխատում է մերկ ապարատով, որի ոտնահետքը չափվում է կիլոբայթներով, ինչը իսկական հազվադեպություն է ժամանակակից հաշվողական համակարգում:

Ինչու՞ Չակ Մուրը հորինեց colorForth-ն արդեն Forth-ը ստեղծելուց հետո:

Չակ Մուրը տասնամյակներ է անցկացրել՝ կատարելագործելով Forth-ը և գնալով հիասթափվելով ժամանակի ընթացքում կուտակված բարդությունից. ստանդարտ մարմիններ, համատեղելիության շերտեր և առանձնահատկություններ, որոնք թուլացնում էին լեզվի սկզբնական նրբագեղությունը: colorForth-ը նրա պատասխանն էր. մաքուր ընդմիջում, որն ամբողջությամբ մերժում էր հետընթաց համատեղելիությունը՝ հօգուտ դիզայնի մաքրության:

Մուրը կարծում էր, որ ծրագրերի մեծ մասն անհարկի մեծ է և դանդաղ, քանի որ մշակողները աշխատում են այնպիսի համակարգերում, որոնք պարգևատրում են բարդությունը, այլ ոչ թե պարզությունը: colorForth-ը ստեղծվել է ապացուցելու հակառակ թեզը, որ հմուտ ծրագրավորողը, որն աշխատում է ապարատին մոտ, կարող է բարդ համակարգեր կառուցել փոքր, ստուգելի կոդերի բազայով: ColorForth-ի իր սեփական իրականացումները գործարկվել են հատուկ չիպերի վրա, որոնք նա ինքն է նախագծել՝ փլուզելով ծրագրաշարի և սիլիցիումի միջև սահմանը:

«colorForth-ի նպատակը բոլորի կողմից օգտագործելը չէ. այն ցույց տալն է, թե ինչպիսին կարող է լինել ծրագրակազմը, երբ ավելորդ ոչինչ ներառված չէ»: — Չակ Մուրի դիզայնի փիլիսոփայությունը, որը հաճախ վերափոխվում է colorForth համայնքի կողմից:

Որո՞նք են այն հիմնական սկզբունքները, որոնք գույնը Forth-ին դարձնում են նշանակալի:

colorForth-ը կառուցված է արմատական պարտավորությունների մի փոքր շարքի վրա, որոնք այն տարբերում են այսօր օգտագործվող գրեթե բոլոր հիմնական լեզուներից: Այս սկզբունքների ըմբռնումը ցույց է տալիս, թե ինչու է այն շարունակում լուրջ ուսումնասիրություններ ներգրավել համակարգերի ծրագրավորողների և լեզվի տեսաբանների կողմից:

  • Գույնը որպես շարահյուսություն. Վիզուալ կոդավորումը փոխարինում է տեքստային կետադրական նշաններին՝ հեռացնելով վերլուծման ամբողջ փուլը և մտադրությունը անմիջապես տեսանելի դարձնելով ինչպես ծրագրավորողին, այնպես էլ կոմպիլյատորին:
  • Stack-ի վրա հիմնված կատարում. Forth-ի նման, colorForth-ն օգտագործում է postfix (Reverse Polish Notation) stack մոդելը, որը վերացնում է օպերատորի գերակայության կանոնների և արտահայտությունների վերլուծության անհրաժեշտությունը:
  • Օպերացիոն համակարգից կախվածություն չկա. colorForth-ն աշխատում է անմիջապես սարքաշարի վրա՝ առանց ՕՀ-ի շերտ պահանջելու՝ դարձնելով ամբողջ համակարգը թափանցիկ և ստուգելի:
  • Ծայրահեղ մինիմալիզմ. Լեզվի ամբողջական իրականացումը, ներառյալ խմբագիրն ու թարգմանիչը, տեղավորվում է 100 կիլոբայթից ցածր, ինչը բացարձակ հակադրվում է ժամանակակից զարգացման միջավայրերին, որոնք չափվում են գիգաբայթերով:
  • Ծրագրավորողը որպես համակարգի նախագծող․

Ինչպե՞ս է colorForth-ն ազդել ժամանակակից ծրագրավորման լեզվի դիզայնի վրա:

colorForth-ը երբեք չհասավ հիմնական ընդունմանը, սակայն դրա ազդեցությունն ավելի խորն է, քան ենթադրում է օգտատերերի թիվը: Այն գտնվում է մի քանի թեմաների խաչմերուկում, որոնք գնալով ավելի արդիական են դարձել ժամանակակից ծրագրային ապահովման մշակման մեջ. հարձակման ավելի փոքր մակերեսներ անվտանգության կարևոր համակարգերում, մերկ մետաղական ծրագրավորման վերածնունդ՝ ներկառուցված և IoT ապարատներով, և տեսողական և կառուցվածքային խմբագրիչների ակադեմիական հետազոտություններ, որոնք ծրագրերը պահում են որպես տվյալների կառուցվածքներ

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →
, այլ ոչ թե տեքստ:

Նախագծերը, ինչպիսին է GreenArrays չիպերը, պրոցեսորները, որոնք Moore-ը նախագծված են հատուկ colorForth-ի ոճի կոդը գործարկելու համար, այս գաղափարները բերեցին ֆիզիկական սիլիցիումի մեջ: Միևնույն ժամանակ, շարահյուսության ավելի լայն հայեցակարգը ի հայտ է եկել ժամանակակից կառուցվածքային խմբագրիչներում և պրոյեկցիոն IDE-ներում, ինչպիսիք են JetBrains MPS-ը, որոնք ծրագրերը պահում են որպես վերացական շարահյուսական ծառեր, այլ ոչ թե տեքստային ֆայլեր: colorForth-ը ակնկալում էր այս ճարտարապետական փոփոխությունը տասնամյակներով:

Այն ձեռնարկությունների համար, որոնք կառուցում են ծրագրավորողների գործիքներ կամ ներքին հարթակներ, colorForth-ի դասը պարզ է. բարդ տիրույթի արմատական պարզեցումը հնարավոր է, սակայն այն պահանջում է կասկածի տակ դնել բոլոր ժառանգված ենթադրությունները, թե ինչպես պետք է համակարգերը աշխատեն:

Ի՞նչ կարող են սովորել ժամանակակից բիզնեսները colorForth փիլիսոփայությունից:

ColorForth-ի փիլիսոփայությունը՝ անհարկի բարդության անխիղճ վերացում, ուղղակիորեն թարգմանվում է գործառնական մարտահրավերների, որոնց բախվում են ժամանակակից բիզնեսները ամեն օր: Կազմակերպությունների մեծամասնությունը կուտակում է ծրագրային գործիքներ, աշխատանքային հոսքեր և մշակում է վաղ ծրագրավորման լեզուների շարահյուսությունը՝ մեկ առ մեկ, մինչև սկզբնական մտադրությունը թաղվի լուծումների շերտերի տակ:

Պատասխանը միշտ չէ, որ պետք է զրոյից կառուցել, այլ ընտրել հարթակներ, որոնք կոդավորում են պարզությունը որպես դիզայնի արժեք, այլ ոչ թե հետագա մտածողություն: Երբ ձեր բիզնեսի ՕՀ-ն կառավարում է CRM-ը, նախագծերի կառավարումը, բովանդակության պլանավորումը, էլեկտրոնային առևտուրը և թիմային համագործակցությունը մեկ միասնական միջավայրում, դուք վերացնում եք ինտեգրման հարկը, որը պատուհասում է կազմակերպություններին, որոնք միավորում են տասնյակ միանպատակ գործիքներ: Այդ ինտեգրացիոն հարկը՝ անհամատեղելի համակարգերի կառավարման ժամանակը, ծախսերը և ճանաչողական բեռը, colorForth-ի շարահյուսական աղմուկի բիզնես համարժեքն է՝ թանկ, անտեսանելի և բացարձակապես խուսափելի:

Հաճախակի տրվող հարցեր

Արդյո՞ք colorForth-ը դեռ ակտիվորեն օգտագործվում կամ զարգացած է այսօր:

colorForth-ն ունի փոքր, բայց նվիրված համայնք, որը շարունակում է ուսումնասիրել և ընդլայնել այն, հատկապես GreenArrays ապարատային և մերկ մետաղական համակարգերի ծրագրավորումով հետաքրքրված ծրագրավորողների շրջանում: Չակ Մուրը ակտիվ մնաց դրա զարգացման մեջ մինչև իր վերջին տարիները: Այն լայնորեն չի օգտագործվում առևտրային ծրագրային ապահովման մեջ, սակայն մնում է կենդանի հղումային իրականացում մինիմալիստական լեզվական ձևավորման համար:

Կարո՞ղ է սկսնակը սովորել colorForth-ը որպես առաջին ծրագրավորման լեզու:

colorForth-ը խորհուրդ չի տրվում որպես առաջին լեզու: Այն ենթադրում է խորը ծանոթություն stack-ի վրա հիմնված հաշվարկների, ցածր մակարդակի ապարատային հասկացությունների և Forth ծրագրավորման մոդելի հետ: Մշակողների մեծ մասը, ովքեր զբաղվում են colorForth-ով, գալիս են դրան Forth-ի կամ համակարգերի ծրագրավորման հետ կապված նշանակալի փորձից հետո՝ օգտագործելով այն որպես լեզվի դիզայնի հիմունքների իրենց ըմբռնումը խորացնելու միջոց:

Ինչպե՞ս է գունային կոդավորման համակարգը գործնականում աշխատում առանց հատուկ խմբագրիչի:

colorForth-ը պահանջում է հատուկ խմբագիր, որը ցուցադրում և պահպանում է գունային տեղեկատվությունը որպես աղբյուրի ներկայացման մաս. պարզ տեքստային խմբագրիչները չեն կարող այն ճիշտ մատուցել: Բնօրինակ իրականացումը ներառում էր հատուկ բլոկի խմբագրիչ: Համայնքի ժամանակակից ներդրումներն ապահովում են մասնագիտացված միջավայրեր, որոնք պահպանում են գունային նշանների մոդելը, երբ աշխատում են ժամանակակից օպերացիոն համակարգերում, սովորաբար Linux-ում:


Հիմնական հաշվողական հասկացությունների ըմբռնումը, ինչպիսին է colorForth-ը, սրում է ձեր մտածողությունը բարդության, արդյունավետության և միտումնավոր դիզայնի մասին. հմտություններ, որոնք ուղղակիորեն թարգմանվում են ձեր բիզնեսի կառուցման և վարման մասին: Եթե ​​պատրաստ եք պարզեցնել ձեր գործողությունները նույն կանխամտածված փիլիսոփայությամբ, ուսումնասիրեք Mewayz-ը՝ 207 մոդուլից բաղկացած բիզնես ՕՀ-ն, որին վստահում են ավելի քան 138,000 $1-ից սկսած օգտվողներ ամբողջ աշխարհում: Կտրեք բարդությունը: Կառուցեք այն, ինչ կարևոր է:

:

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime