Pierwszy serio
polski język programowania

AlexScript to pełnoprawny język programowania z polskimi słowami kluczowymi, polskim API biblioteki standardowej i polskimi komunikatami błędów. OOP z dziedziczeniem, async/await, wyjątki, debugger, framework webowy. Bez kompromisów.

Witaj, Świecie

Asynchroniczne pobieranie danych z dwóch źródeł równolegle, parsowanie JSON, typowane wyjątki — w jednym małym programie. Polskie słowa kluczowe, ale kształt znajomy każdemu, kto pisał w Pythonie czy JavaScripcie.

import("http")

asynchroniczna funkcja pobierz_dane(url) {
    proba {
        zwroc Http.get_json(url)
    } zlap (e) {
        pokazl "Sieć padła: #{e["wiadomosc"]}"
        zwroc nic
    }
}

asynchroniczna funkcja main() {
    niech wyniki = czekaj Obietnica.wszystkie([
        uruchom_rownolegle(fn() { czekaj pobierz_dane("https://jsonplaceholder.typicode.com/users/1") }),
        uruchom_rownolegle(fn() { czekaj pobierz_dane("https://jsonplaceholder.typicode.com/posts/1") }),
    ])
    niech udane = wyniki.filtruj(fn(v) { v != nic })
    pokazl "Pobrano #{udane.dlg()} z #{wyniki.dlg()} zasobów"
}

uruchom(main)

Zainstaluj lokalnie w kilka sekund

Dwie komendy, żeby zainstalować, dwie, żeby uruchomić pierwszy program.

1

Zainstaluj AlexScript przez Homebrew

brew tap N3BCKN/alexscript
brew install alexscript
2

Uruchom pierwszy program

echo 'pokazl "Witaj!"' > test.as
alexscript test.as

Nie używasz Homebrew? Zobacz inne sposoby instalacji — Docker, kod źródłowy i rozszerzenie VS Code.

Dlaczego AlexScript

Polski na każdym poziomie

Słowa kluczowe, komunikaty błędów, biblioteka standardowa — wszystko czyta się w jednym języku. Większość języków programowania zakłada, że angielski jest neutralny. AlexScript odwraca ten wybór i pozwala wreszcie myśleć o kodzie po polsku.

Pełne OOP, nie zabawkowe

Klasy z dziedziczeniem, miksiny przez moduły, klasy abstrakcyjne, metody statyczne i prywatne. Każda klasa jest otwarta — możesz ją otworzyć ponownie z innego pliku i dodać metody do istniejących typów. Wyjątki same w sobie są klasami.

Bateria w zestawie

HTTP, JSON, CSV, sockety TCP/UDP, regex, kryptografia (SHA, HMAC), pliki, czas, async/await z reaktorem opartym na fiberach. Jedno polecenie import("nazwa") — bez managera pakietów, bez konfiguracji.

Narzędzia, których faktycznie się używa

Wbudowany debugger uruchamiany jednym debug() — breakpointy, watchpointy, modyfikacja zmiennych w runtime. Rozszerzenie do VS Code z podświetlaniem i snippetami. REPL z kolorowym wyjściem. Online playground w przeglądarce.