Flow9 программалоо тили ачык булак

Area9 компаниясы ачылды функционалдык программалоо тилинин баштапкы коддору Агым 9, колдонуучу интерфейстерин түзүүгө багытталган. Flow9 тилиндеги кодду Linux, iOS, Android, Windows жана macOS үчүн аткарылуучу файлдарга компиляциялоого жана HTML5/JavaScript (WebAssembly) же Java, D, Lisp, ML жана C++ тилдериндеги баштапкы тексттерге которууга болот. Компилятор коду ачык GPLv2 жана стандарттык китепкана MIT лицензиясы боюнча лицензияланган.

Бул тил 2010-жылдан бери Adobe Flash программасына универсалдуу жана көп платформалуу альтернатива катары өнүгүп келе жатат. Flow9 Интернетте, десктоп жана мобилдик тиркемелер үчүн да колдонула турган заманбап графикалык интерфейстерди түзүү үчүн платформа катары жайгашкан. Долбоор көптөгөн ички Area9 долбоорлорунда колдонулат жана алгач Flow деп аталчу, бирок кодду ачардан мурун статистикалык анализаторго тоскоолдук жаратпоо үчүн анын атын Flow9 деп өзгөртүү чечими кабыл алынган. Flow Facebookтан.

Flow9 C тилине окшош тааныш синтаксисти айкалыштырат (кара окшоштук код Flow9 жана JavaScript), стилдеги функционалдык программалоо куралдары менен ML и мүмкүнчүлүктөр конкреттүү көйгөйлөрдү мүмкүн болушунча натыйжалуу чечүүгө багытталган доменге тиешелүү тилдер (Flow9 үчүн бул интерфейсти иштеп чыгуу). Flow9 катуу терүүнү колдонуу үчүн иштелип чыккан, бирок зарыл болсо, типти автоматтык түрдө аныктоо менен динамикалык терүүнү колдонууга болот, ошондой эле маалымат. Полиморфизм колдоого алынат (бир функция ар кандай типтеги маалыматтарды иштете алат), субтиптерди, модулдарды, массивдерди, хэштерди, ламбда туюнтмаларын түзүү мүмкүнчүлүгү.

Бир эле кодду ар кандай платформалар үчүн түзсө болот, өзүнчө портинг жана кодду өзгөртүүнүн кереги жок. Ошол эле тиркеме браузерде, сенсордук экраны бар мобилдик түзмөктөрдө жана клавиатура жана чычкан бар иш столунда иштей алат. Биз Google Material Design концепциясына ылайык иштелип чыккан React стилиндеги интерфейс элементтери бар компоненттердин даяр коллекциясын сунуштайбыз. Дизайнды пиксел деңгээлине чейин көзөмөлдөсө болот. Стилдерди орнотуу үчүн алат стандарттуу CSS синтаксисин колдонуңуз. C++ тилинде компиляцияланганда Linux, macOS жана Windows'до көрсөтүү үчүн колдонулган OpenGL менен Qt негизинде жана Java - JavaFXде түзүлөт.

Функционалдык программалоо ыкмаларын колдонуунун аркасында жазылган код жана интерфейстин компоненттерин башка долбоорлордон оңой эле алууга болот. Тил абдан компакттуу жана 25 гана ачкыч сөздөрдү камтыйт, ал эми грамматикалык сүрөттөмө комментарийлер менен бирге 255 сапка туура келет. Flow9да окшош функцияларды ишке ашыруу үчүн HTML+CSS+JavaScript, C#, Swift же Javaга караганда 2-4 эсе аз код талап кылынат. Мисалы, Tic-Tac-Toe тесттик тиркеме үчүн болсо жетекчилик React үчүн React/JavaScript/HTML/CSSде 200 сап код жазуу керек болсо, Flow9 үчүн биз аны 83 сапта жаза алдык. Мындан тышкары, бул тиркемени браузерде гана ишке киргизбестен, iOS жана Android үчүн мобилдик тиркемелер түрүндө да түзүүгө болот.

Платформада Flow9да жазылган жана компиляция сервери катары иштөөгө жөндөмдүү негизги flowc компилятору бар; агым шилтеме компилятору (жазылган хакс); gdb протоколунун колдоосу менен мүчүлүштүктөрдү оңдоочу; эс анализатору жана таштанды жыйноочу мүчүлүштүктөрдү оңдоочу менен профилдөө системасы; x86_64 системалары үчүн JIT компилятору; ARM жана башка платформалар үчүн котормочу; C++ жана Java тилдеринде коддун эң маанилүү бөлүктөрүн тандап компиляциялоо үчүн куралдар; Visual Code, Sublime Text, Kate жана Emacs код редакторлору менен интеграциялоо үчүн плагиндер; талдоочу генератор (PEG).

Source: opennet.ru

Комментарий кошуу