Flow9 programlama dili açık kaynak

Area9 Şirketi açıldı işlevsel programlama dili kaynak kodları Flow9, kullanıcı arayüzleri oluşturmaya odaklandı. Flow9 dilindeki kod, Linux, iOS, Android, Windows ve macOS için yürütülebilir dosyalar halinde derlenebilir ve HTML5/JavaScript (WebAssembly) biçimindeki web uygulamalarına veya Java, D, Lisp, ML ve C++ dilindeki kaynak metinlere çevrilebilir. Derleyici kodu açık GPLv2 kapsamında lisanslanmıştır ve standart kitaplık MIT lisansı kapsamında lisanslanmıştır.

Dil, Adobe Flash'a evrensel ve çok platformlu bir alternatif olarak 2010'dan beri gelişiyor. Flow9, hem Web hem de masaüstü ve mobil uygulamalar için kullanılabilecek modern grafik arayüzler oluşturmaya yönelik bir platform olarak konumlandırılmıştır. Proje birçok dahili Area9 projesinde kullanılıyor ve başlangıçta Flow olarak adlandırılıyordu, ancak kodu açmadan önce istatistiksel analizciye müdahaleyi önlemek için onu Flow9 olarak yeniden adlandırmaya karar verildi. akış Facebooktan.

Flow9, C diline benzer tanıdık bir sözdizimini birleştirir (bkz. сравнение Flow9 ve JavaScript'teki kod), stildeki işlevsel programlama araçlarıyla ML и fırsatlar belirli sorunları mümkün olduğunca verimli bir şekilde çözmeye odaklanan alana özgü diller (Flow9 için bu arayüz geliştirmedir). Flow9 katı yazmayı kullanacak şekilde tasarlanmıştır ancak gerekirse otomatik tür algılamalı dinamik yazmayı kullanmak da mümkündür. referans. Polimorfizm desteklenir (bir işlev farklı türdeki verileri işleyebilir), alt türler, modüller, diziler, karmalar, lambda ifadeleri oluşturma yeteneği.

Aynı kod, ayrı bir taşıma işlemine ve kodda değişiklik yapılmasına gerek kalmadan farklı platformlar için derlenebilir. Aynı uygulama tarayıcıda, dokunmatik ekranlı mobil cihazlarda, klavye ve fare bulunan masaüstü sistemlerde de çalışabilir. Google Materyal Tasarımı konseptine uygun olarak tasarlanmış, React tarzında arayüz elemanlarına sahip hazır bir bileşen koleksiyonu sunuyoruz. Tasarım piksel seviyesine kadar kontrol edilebilir. Stilleri ayarlamak için kimse yapamaz standart CSS sözdizimini kullanın. C++ ile derlendiğinde Linux, macOS ve Windows'ta görüntü oluşturmak için kullanılmış OpenGL ile Qt'yi temel alan ve Java - JavaFX'te derlendiğinde arka uç.

Fonksiyonel programlama tekniklerinin kullanılması sayesinde yazılı kod ve arayüz bileşenleri kolaylıkla başka projelerden ödünç alınabilmektedir. Dil çok kompakttır ve yalnızca 25 anahtar kelime içerir ve dilbilgisi açıklaması, yorumlarla birlikte 255 satıra sığar. Flow9'da aynı işlevselliği uygulamak için HTML+CSS+JavaScript, C#, Swift veya Java'ya göre 2-4 kat daha az kod gerekir. Örneğin, Tic-Tac-Toe test uygulaması için kılavuzlar React için React/JavaScript/HTML/CSS'de 200 satır kod yazmak gerekiyordu, Flow9 için bunu 83 satırda yapmayı başardık. Üstelik bu uygulama yalnızca tarayıcıda başlatılamaz, aynı zamanda iOS ve Android için mobil uygulamalar biçiminde de derlenebilir.

Platform, Flow9'da yazılmış ve derleme sunucusu olarak çalışabilen ana Flowc derleyicisini içerir; akış referansı derleyicisi (yazılı lanet); gdb protokol desteğine sahip hata ayıklayıcı; bellek analizörü ve çöp toplayıcı hata ayıklayıcı içeren bir profil oluşturma sistemi; x86_64 sistemleri için JIT derleyicisi; ARM ve diğer platformlar için tercüman; kodun performans açısından en kritik bölümlerinin C++ ve Java'da seçici olarak derlenmesine yönelik araçlar; kod editörleri Visual Code, Sublime Text, Kate ve Emacs ile entegrasyon için eklentiler; ayrıştırıcı oluşturucu (PEG).

Kaynak: opennet.ru

Yorum ekle