Vydání Julia Programming Language 1.3

zveřejněno vydání programovacího jazyka Julia 1.3, kombinující takové kvality, jako je vysoký výkon, podpora dynamického psaní a vestavěné nástroje pro paralelní programování. Juliina syntaxe je blízká MATLABu, některé prvky si vypůjčuje z Ruby a Lispu. Metoda manipulace se strunami připomíná Perl. Kód projektu distribuovány pod licencí MIT.

В nová verze:

  • Možnost implementována doplňky metody do abstraktních typů;
  • Je poskytována podpora pro Unicode 12.1.0 a možnost používat specifické styly digitálních znaků Unicode (𝟎-𝟗, 𝟘-𝟡) v identifikátorech;
  • Chcete-li zobrazit a analyzovat nestandardní názvy proměnných navržený nová syntaxe var"#str#";
  • Nástroje související s multithreadingem byly rozšířeny: Makro Threads.@spawn a klíčové slovo Channel(f::Function, spawn=true) byly přidány pro organizaci spouštění úloh v libovolném dostupném vláknu. Všechny systémové I/O operace se soubory a sokety, stejně jako generátor pseudonáhodných čísel, jsou přizpůsobeny pro vícevláknové aplikace (bezpečné pro vlákna);
  • Přidány nové funkce knihovny včetně
    findfirst, findlast, findnext, findprev, findall(vzor, ​​string), count(vzor, ​​string), sincosd(x) a nonmissingtype.

Klíčové vlastnosti jazyka:

  • Vysoký výkon: jedním z klíčových cílů projektu je dosáhnout výkonu blízkého programům C. Kompilátor Julia je založen na práci projektu LLVM a generuje efektivní nativní strojový kód pro mnoho cílových platforem;
  • Podporuje různá programovací paradigmata, včetně prvků objektově orientovaného a funkčního programování. Standardní knihovna poskytuje mimo jiné funkce pro asynchronní I/O, řízení procesů, protokolování, profilování a správu balíčků;
  • Dynamické typování: jazyk nevyžaduje explicitní definici typů proměnných, podobně jako skriptovací programovací jazyky. Podporován interaktivní režim;
  • Volitelná možnost explicitně specifikovat typy;
  • Syntaxe ideální pro numerické výpočty, vědecké výpočty, strojové učení a vizualizaci dat. Podpora mnoha numerických datových typů a nástrojů pro paralelizaci výpočtů.
  • Možnost přímého volání funkcí z C knihoven bez dalších vrstev.
  • Zdroj: opennet.ru

Přidat komentář