Flow9 proqramlaşdırma dili açıq mənbə

Area9 Şirkəti açıldı funksional proqramlaşdırma dilinin mənbə kodları Axın9, istifadəçi interfeyslərinin yaradılmasına yönəlmişdir. Flow9 dilindəki kod Linux, iOS, Android, Windows və macOS üçün icra edilə bilən fayllara yığıla və HTML5/JavaScript-də (WebAssembly) veb proqramlara və ya Java, D, Lisp, ML və C++ dillərində mənbə mətnlərə tərcümə edilə bilər. Kompilyator kodu açıq GPLv2, standart kitabxana isə MIT lisenziyası ilə lisenziyalaşdırılıb.

Dil 2010-cu ildən Adobe Flash-a universal və çox platformalı alternativ kimi inkişaf edir. Flow9 həm Veb, həm də masaüstü və mobil proqramlar üçün istifadə oluna bilən müasir qrafik interfeyslər yaratmaq üçün platforma kimi yerləşdirilib. Layihə bir çox daxili Area9 layihələrində istifadə olunur və əvvəlcə Flow adlanırdı, lakin kodu açmadan əvvəl statistik analizatora müdaxilə etməmək üçün onun adını Flow9 olaraq dəyişdirmək qərara alındı. Axın Facebook-dan.

Flow9 C dilinə bənzər tanış sintaksisi birləşdirir (bax müqayisə Flow9 və JavaScript-də kod), üslubda funksional proqramlaşdırma vasitələri ilə ML и imkanlar spesifik problemləri mümkün qədər səmərəli həll etməyə yönəlmiş domenə xas dillər (Flow9 üçün bu interfeys inkişafıdır). Flow9 ciddi yazmadan istifadə etmək üçün nəzərdə tutulmuşdur, lakin zərurət yaranarsa, avtomatik tip aşkarlama ilə dinamik yazıdan istifadə etmək mümkündür, həmçinin keçidlər. Polimorfizm dəstəklənir (bir funksiya müxtəlif tipli məlumatları emal edə bilər), alt tiplər, modullar, massivlər, hashlar, lambda ifadələri yaratmaq imkanı.

Eyni kod ayrı-ayrılıqda daşınmaya və kodda dəyişikliklərə ehtiyac olmadan müxtəlif platformalar üçün tərtib edilə bilər. Eyni proqram brauzerdə, sensor ekranlı mobil cihazlarda və klaviatura və siçan ilə iş masası sistemlərində işləyə bilər. Google Material Design konsepsiyasına uyğun olaraq hazırlanmış React üslubunda interfeys elementləri olan hazır komponentlər kolleksiyasını təklif edirik. Dizayn piksel səviyyəsinə qədər idarə oluna bilər. Üslubları təyin etmək üçün olar standart CSS sintaksisindən istifadə edin. C++-da tərtib edildikdə Linux, macOS və Windows-da göstərmək üçün işlənmiş OpenGL ilə Qt əsasında və Java-da tərtib edildikdə - JavaFX.

Funksional proqramlaşdırma üsullarının istifadəsi sayəsində yazılı kod və interfeys komponentləri asanlıqla digər layihələrdən götürülə bilər. Dil çox yığcamdır və cəmi 25 açar sözdən ibarətdir və qrammatik təsvir şərhlərlə birlikdə 255 sətirə uyğun gəlir. Flow9-da eyni funksionallığı həyata keçirmək üçün HTML+CSS+JavaScript, C#, Swift və ya Java ilə müqayisədə 2-4 dəfə az kod tələb olunur. Məsələn, Tic-Tac-Toe-dan test tətbiqi üçün bələdçilər React üçün React/JavaScript/HTML/CSS-də 200 sətir kod yazmaq lazım idi, Flow9 üçün biz bunu 83 sətirdə etməyi bacardıq. Üstəlik, bu proqram təkcə brauzerdə işə salına bilməz, həm də iOS və Android üçün mobil proqramlar şəklində tərtib edilə bilər.

Platformaya Flow9-da yazılmış və kompilyasiya serveri kimi işləməyə qadir olan əsas flowc kompilyatoru daxildir; axın istinad kompilyatoru ( haxe); gdb protokol dəstəyi ilə sazlayıcı; yaddaş analizatoru və zibil kollektoru sazlayıcısı olan profilləmə sistemi; x86_64 sistemləri üçün JIT kompilyatoru; ARM və digər platformalar üçün tərcüməçi; kodun performans baxımından ən kritik hissələrinin C++ və Java dillərində seçmə tərtibi üçün alətlər; Visual Code, Sublime Text, Kate və Emacs kod redaktorları ilə inteqrasiya üçün plaginlər; təhlil generatoru (PEG).

Mənbə: opennet.ru

Добавить комментарий