Flow9-programmeertaal oopbron

Area9 Maatskappy oopgemaak funksionele programmeertaal bronkodes Vloei, gefokus op die skep van gebruikerskoppelvlakke. Kode in die Flow9-taal kan saamgestel word in uitvoerbare lΓͺers vir Linux, iOS, Android, Windows en macOS, en vertaal word in webtoepassings in HTML5/JavaScript (WebAssembly) of brontekste in Java, D, Lisp, ML en C++. Samesteller kode is oop is onder GPLv2 gelisensieer en die standaardbiblioteek is onder die MIT-lisensie gelisensieer.

Die taal ontwikkel sedert 2010 as 'n universele en multi-platform alternatief vir Adobe Flash. Flow9 is geposisioneer as 'n platform vir die skep van moderne grafiese koppelvlakke wat vir beide die web en rekenaar- en mobiele toepassings gebruik kan word. Die projek word in baie interne Area9-projekte gebruik en is oorspronklik Flow genoem, maar voor die opening van die kode is besluit om dit na Flow9 te hernoem om inmenging met die statistiese ontleder te vermy Flow van Facebook af.

Flow9 kombineer 'n bekende sintaksis soortgelyk aan die C-taal (sien vergelyking kode in Flow9 en JavaScript), met funksionele programmeringsinstrumente in die styl ML ΠΈ geleenthede domeinspesifieke tale wat daarop gefokus is om spesifieke probleme so doeltreffend moontlik op te los (vir Flow9 is dit koppelvlakontwikkeling). Flow9 is ontwerp om streng tik te gebruik, maar indien nodig is dit moontlik om dinamiese tik te gebruik met outomatiese tipe opsporing, sowel as verwysing. Polimorfisme word ondersteun (een funksie kan data van verskillende tipes verwerk), die vermoΓ« om subtipes, modules, skikkings, hashes, lambda-uitdrukkings te skep.

Dieselfde kode kan vir verskillende platforms saamgestel word, sonder dat dit nodig is vir aparte portering en veranderinge aan die kode. Dieselfde toepassing kan in 'n blaaier loop, op mobiele toestelle met raakskerms en op rekenaarstelsels met 'n sleutelbord en muis. Ons bied 'n klaargemaakte versameling komponente met koppelvlakelemente in die React-styl, ontwerp in ooreenstemming met die Google Material Design-konsep. Ontwerp kan tot op die pixelvlak beheer word. Om style te stel kan 'n mens gebruik standaard CSS-sintaksis. Vir weergawe op Linux, macOS en Windows wanneer saamgestel in C++ word gebruik backend gebaseer op Qt met OpenGL, en wanneer saamgestel in Java - JavaFX.

Danksy die gebruik van funksionele programmeringstegnieke kan die geskrewe kode en koppelvlakkomponente maklik by ander projekte geleen word. Die taal is baie kompak en bevat slegs 25 sleutelwoorde, en die grammatikabeskrywing pas in 255 reΓ«ls saam met opmerkings. Om identiese funksionaliteit op Flow9 te implementeer, word 2-4 keer minder kode benodig as op HTML+CSS+JavaScript, C#, Swift of Java. Byvoorbeeld, as vir die toets aansoek Tic-Tac-Toe van gidse vir React het dit 200 reΓ«ls kode in React/JavaScript/HTML/CSS geskryf, vir Flow9 kon ons dit in 83 reΓ«ls doen. Boonop kan hierdie toepassing nie net in die blaaier bekendgestel word nie, maar ook saamgestel word in die vorm van mobiele toepassings vir iOS en Android.

Die platform sluit die hoof flowc samesteller in, geskryf in Flow9 en in staat om te werk as 'n samestelling bediener; vloeiverwysingsamesteller (geskryf in knokkel); ontfouter met gdb protokol ondersteuning; 'n profileringstelsel met 'n geheue-ontleder en 'n vullisverwyderaar-ontfouter; JIT samesteller vir x86_64 stelsels; tolk vir ARM en ander platforms; gereedskap vir selektiewe samestelling in C++ en Java van die mees prestasie-kritiese dele van die kode; plugins vir integrasie met kode-redakteurs Visual Code, Sublime Text, Kate en Emacs; ontleder generator (PEG).

Bron: opennet.ru

Voeg 'n opmerking