Hacker News

colorForth

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.

Якія асноўныя прынцыпы робяць colorForth значным?

colorForth пабудаваны на невялікай колькасці радыкальных абавязацельстваў, якія адрозніваюць яго практычна ад усіх асноўных моў, якія выкарыстоўваюцца сёння. Разуменне гэтых прынцыпаў паказвае, чаму гэта працягвае прыцягваць сур'ёзныя даследаванні як сістэмных праграмістаў, так і тэарэтыкаў мовы.

  • Колер як сінтаксіс: Візуальнае кадзіраванне замяняе тэкставую пунктуацыю, выдаляючы ўвесь этап аналізу і робячы намер адразу бачным як для праграміста, так і для кампілятара.
  • Выкананне на аснове стэка: Як і Forth, colorForth выкарыстоўвае мадэль стэка постфікса (зваротная польская натацыя), якая пазбаўляе ад неабходнасці правілаў прыярытэту аператараў і аналізу выразаў.
  • Няма залежнасці ад аперацыйнай сістэмы: colorForth працуе непасрэдна на абсталяванні, не патрабуючы ўзроўню АС, што робіць увесь сістэмны стэк празрыстым і даступным для праверкі.
  • Надзвычайны мінімалізм: поўная моўная рэалізацыя, уключаючы рэдактар і інтэрпрэтатар, змяшчаецца ў менш чым 100 кілабайтах — рэзкі кантраст з сучаснымі асяроддзямі распрацоўкі, якія вымяраюцца ў гігабайтах.
  • Праграміст як дызайнер сістэмы: colorForth мяркуе, што адзін праграміст разумее кожны радок сістэмы, адмаўляючыся ад узроўняў абстракцыі, якія дазваляюць каманднае праграмаванне, але незразумелыя паводзіны.

Як 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 — працэсары Мура, распрацаваныя спецыяльна для выканання кода ў стылі colorForth — перанеслі гэтыя ідэі ў фізічны крэмній. Між тым, больш шырокая канцэпцыя сінтаксісу па колеры з'явілася ў сучасных структураваных рэдактарах і праекцыйных IDE, такіх як JetBrains MPS, якія захоўваюць праграмы як абстрактныя сінтаксічныя дрэвы, а не тэкставыя файлы. colorForth прадбачыў гэты архітэктурны зрух дзесяцігоддзямі.

Для прадпрыемстваў, якія ствараюць інструменты распрацоўшчыка або ўнутраныя платформы, урок colorForth ясны: радыкальнае спрашчэнне складанай вобласці магчыма, але гэта патрабуе гатоўнасці паставіць пад сумнеў кожнае атрыманае ў спадчыну здагадку аб тым, як павінны працаваць сістэмы.

Чаму сучасны бізнес можа навучыцца ў філасофіі colorForth?

Філасофія colorForth — бязлітаснае ўстараненне непатрэбнай складанасці — непасрэдна ператвараецца ў аперацыйныя праблемы, з якімі кожны дзень сутыкаецца сучасны бізнес. Большасць арганізацый назапашваюць праграмныя інструменты, працоўныя працэсы і працэсы так, як раннія мовы праграмавання назапашвалі сінтаксіс: адзін патч за раз, пакуль першапачатковы намер не будзе пахаваны пад пластамі абыходных шляхоў.

Адказ заключаецца не заўсёды ў стварэнні з нуля, а ў выбары платформ, якія кадзіруюць прастату ў якасці каштоўнасці дызайну, а не запозненай думкі. Калі ваша бізнес-АС апрацоўвае CRM, кіраванне праектамі, планаванне кантэнту, электронную камерцыю і каманднае супрацоўніцтва ў адзіным уніфікаваным асяроддзі, вы пазбаўляецеся падатку на інтэграцыю, які мучыць арганізацыі, якія злучаюць разам дзясяткі аднамэтавых інструментаў. Гэты падатак на інтэграцыю — час, кошт і кагнітыўная нагрузка на кіраванне несумяшчальнымі сістэмамі — з'яўляецца бізнес-эквівалентам сінтаксічнага шуму colorForth: дарагі, нябачны і якога цалкам можна пазбегнуць.

Часта задаюць пытанні

Ці актыўна выкарыстоўваецца ці распрацоўваецца colorForth сёння?

ColorForth мае невялікую, але адданую супольнасць, якая працягвае вывучаць і пашыраць яго, асабліва сярод праграмістаў, зацікаўленых апаратным забеспячэннем GreenArrays і праграмаваннем сістэм на голым метале. Чак Мур заставаўся актыўным у яго распрацоўцы да сваіх апошніх гадоў. Ён не шырока выкарыстоўваецца ў камерцыйным праграмным забеспячэнні, але застаецца жывой эталоннай рэалізацыяй для мінімалісцкага дызайну мовы.

Ці можа пачатковец вывучыць colorForth як першую мову праграмавання?

colorForth не рэкамендуецца ў якасці роднай мовы. Гэта прадугледжвае глыбокае знаёмства з вылічэннямі на аснове стэка, канцэпцыямі апаратнага забеспячэння нізкага ўзроўню і мадэллю праграмавання Forth. Большасць распрацоўшчыкаў, якія працуюць з colorForth, прыходзяць да яго пасля значнага вопыту працы з Forth або сістэмнага праграмавання, выкарыстоўваючы яго як сродак для паглыблення свайго разумення асноў моўнага дызайну.

Як сістэма каляровага кадавання працуе на практыцы без спецыяльнага рэдактара?

colorForth патрабуе спецыяльнага рэдактара, які адлюстроўвае і захоўвае інфармацыю аб колеры як частку зыходнага прадстаўлення — рэдактары звычайнага тэксту не могуць адлюстраваць яе правільна. Першапачатковая рэалізацыя ўключала карыстальніцкі рэдактар ​​​​блокаў. Сучасныя рэалізацыі супольнасці забяспечваюць спецыялізаванае асяроддзе, якое захоўвае мадэль каляровага маркера пры працы ў сучасных аперацыйных сістэмах, звычайна Linux.


Разуменне такіх асноватворных вылічальных канцэпцый, як colorForth, удасканальвае вашыя думкі аб складанасці, эфектыўнасці і наўмысным дызайне — навыках, якія непасрэдна адбіваюцца на тым, як вы будуеце і вядзеце свой бізнес. Калі вы гатовыя спрасціць свае аперацыі з такой жа прадуманай філасофіяй, вывучыце Mewayz — бізнес-АС з 207 модуляў, якой давяраюць больш за 138 000 карыстальнікаў па ўсім свеце, пачынаючы з усяго 19 долараў у месяц. Паменшыце складанасць. Будуйце тое, што мае значэнне.

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