Klong влиза в браузъра: WebAssembly и ренесансът на класическите езици
Как тествах нов език за програмиране без да инсталирам нищо
Помниш ли последния път, когато реши да опиташ нов език за програмиране? Първо сваляш интерпретатора. После настройваш средите. И най-вероятно нещо не тръгва както очакваш.
Този процес е достатъчно досаден, за да те откаже.
Ами ако просто отвореше браузъра и започнеш да пишеш код?
Klong: Езикът, който се побира в браузъра
Именно това предлага Klong – малък array език, създаден от Nils M Holm. Неговият интерпретатор на C е прекомпилиран в WebAssembly и опакован в notebook интерфейс. Няма инсталация. Няма сървърни зависимости. Само ти, браузърът ти и изразителните операции над масиви.
Notebook-ът работи като мини Jupyter – клетките споделят състояние на интерпретатора, могат да се изпълняват поотделно или заедно, а работата ти се запазва локално. Можеш дори да експортираш notebook-ите като .kg файлове и да ги споделяш с други хора.
Защо си струва да обърнеш внимание на array езиците
Klong, J, APL – тези езици имат своите фенове, и то с основание. С тях можеш да изразиш сложни операции с невероятна краткост. Ето проверка за просто число:
prime::{&/x!:\2+!_x^1%2}
prime(97)
Без цикли. Без индекси. Без временни променливи. Целият алгоритъм се побира в един ред и работи с цели масиви наведнъж.
Този начин на мислене – разглеждане на операциите като трансформации на структури от данни, вместо стъпка по стъпка инструкции – може fundamentalно да промени подхода ти към решаването на проблеми. Дори и да не пишеш production код на такъв език, начинът на мислене се пренася и прави кода ти по-чист и изразителен в ежедневната ти работа.
WebAssembly: Мостът към браузъра
Техническият детайл тук е интересен. Вместо да пренапишат Klong на JavaScript (огромна задача за език със собствен интерпретатор), разработчикът е прекомпилирал съществуващата C имплементация директно в WASM. Получава се тясна връзка – сорс кодът се подава на интерпретатора, а web worker се грижи за изпълнението, така че продължителни програми не блокират браузъра.
Този подход става все по-популярен. Системи написани на C или C++, които са си седели с години, вече могат да стигнат до браузъра без пълни пренаписания. Това демократизира достъпа до мощни инструменти, които иначе щяха да останат затворени в десктоп среди.
Прагът пада
За разработчиците, любопитни към функционалното или array програмиране, браузър базираните среди премахват най-голямото препятствие – тази досадна стъпка преди изобщо да започнеш. Можеш да експериментираш през обедната почивка, да пробваш примери от tutorial, да запазиш полезни неща – без да се ангажираш с цяла development среда.
Това има значение. Най-добрият начин да разбереш защо хората обичат тези езици е да ги изпиташ сам – не да четеш документация за тях.
Дали си стартъп, търсещ нови парадигми, любопитен разработчик, или просто човек, който цени елегантните решения – браузър базираните среди като този Klong notebook представляват именно този вид експериментиране без триене, което помага на developer общността да се развива.
Понякога най-добрият инструмент за научиш нещо ново е просто този, с който най-лесно започваш.