Gjuha e programimit Flow9 me burim të hapur

Zona 9 Kompania hapur kodet burimore të gjuhëve funksionale të programimit Rrjedha9, i fokusuar në krijimin e ndërfaqeve të përdoruesit. Kodi në gjuhën Flow9 mund të përpilohet në skedarë të ekzekutueshëm për Linux, iOS, Android, Windows dhe macOS dhe të përkthehet në aplikacione ueb në HTML5/JavaScript (WebAssembly) ose tekste burimore në Java, D, Lisp, ML dhe C++. Kodi i përpiluesit e hapur është licencuar sipas GPLv2 dhe biblioteka standarde është e licencuar sipas licencës MIT.

Gjuha është zhvilluar që nga viti 2010 si një alternativë universale dhe me shumë platforma ndaj Adobe Flash. Flow9 është pozicionuar si një platformë për krijimin e ndërfaqeve grafike moderne që mund të përdoren si për ueb, ashtu edhe për aplikacione desktop dhe celular. Projekti përdoret në shumë projekte të brendshme Area9 dhe fillimisht quhej Flow, por përpara se të hapej kodi u vendos që të riemërohej në Flow9 për të shmangur ndërhyrjen me analizuesin statistikor Rrjedhë nga Facebook.

Flow9 kombinon një sintaksë të njohur të ngjashme me gjuhën C (shih krahasim kodi në Flow9 dhe JavaScript), me mjete programimi funksionale në stil ML и mundësitë Gjuhët specifike të domenit të fokusuara në zgjidhjen e problemeve specifike sa më efikase të jetë e mundur (për Flow9 ky është zhvillimi i ndërfaqes). Flow9 është krijuar për të përdorur shtypjen e rreptë, por nëse është e nevojshme, është e mundur të përdoret shtypja dinamike me zbulimin automatik të tipit, si dhe referim. Mbështet polimorfizmi (një funksion mund të përpunojë të dhëna të llojeve të ndryshme), aftësia për të krijuar nëntipe, module, vargje, hash, shprehje lambda.

I njëjti kod mund të përpilohet për platforma të ndryshme, pa pasur nevojë për transferim të veçantë dhe ndryshime në kod. I njëjti aplikacion mund të ekzekutohet në një shfletues, në pajisje celulare me ekrane me prekje dhe në sisteme desktop me tastierë dhe maus. Ne ofrojmë një koleksion të gatshëm të komponentëve me elementë të ndërfaqes në stilin React, të dizajnuar në përputhje me konceptin Google Material Design. Dizajni mund të kontrollohet deri në nivelin e pikselit. Për të vendosur stile një mund të përdorni sintaksë standarde CSS. Për paraqitje në Linux, macOS dhe Windows kur përpilohet në C++ përdoret backend i bazuar në Qt me OpenGL, dhe kur përpilohet në Java - JavaFX.

Falë përdorimit të teknikave të programimit funksional, kodi i shkruar dhe komponentët e ndërfaqes mund të huazohen lehtësisht nga projekte të tjera. Gjuha është shumë kompakte dhe përfshin vetëm 25 fjalë kyçe, dhe përshkrimi gramatikor përshtatet në 255 rreshta së bashku me komentet. Për të zbatuar funksionalitet identik në Flow9, kërkohet 2-4 herë më pak kod sesa në HTML+CSS+JavaScript, C#, Swift ose Java. Për shembull, nëse për aplikacionin testues Tic-Tac-Toe nga udhëheqja për React u deshën të shkruanim 200 rreshta kodi në React/JavaScript/HTML/CSS, për Flow9 arritëm ta bënim në 83 rreshta. Për më tepër, ky aplikacion jo vetëm që mund të lansohet në shfletues, por edhe të përpilohet në formën e aplikacioneve celulare për iOS dhe Android.

Platforma përfshin përpiluesin kryesor flowc, të shkruar në Flow9 dhe të aftë për të punuar si server përpilimi; përpiluesi i referencës së rrjedhës (shkruar në haxe); korrigjues me mbështetje të protokollit gdb; një sistem profilizimi me një analizues memorie dhe një korrigjues të grumbulluesit të mbeturinave; përpilues JIT për sistemet x86_64; përkthyes për ARM dhe platforma të tjera; mjetet për përpilim selektiv në C++ dhe Java të pjesëve më kritike për performancën e kodit; shtojcat për integrim me redaktuesit e kodeve Visual Code, Sublime Text, Kate dhe Emacs; gjenerator analizues (PEG).

Burimi: opennet.ru

Shto një koment