Hlavní navigace

Swift pro Linux

8. 12. 2015 1:45 | zboj

Apple před pár dny vydal verzi svého nového (resp. dva roky starého) inovativního jazyka pro Linux. Krátce po uvedení Swiftu jsem o něm stručně napsal, ale jeho vývoj byl tak překotný, že by popis jeho dnešní podoby vydal na několik článků. Na to nemám čas (a bylo by to nošení dříví do lesa, protože je o tom na internetu spousta anglicky psaných článků a a každý vývojář anglicky umí), proto jen pár postřehů.

Swift si skvěle rozumí s C, umí volat knihovny (dynamické i statické) a obsahuje modul Glibc (podle názvu je každému jasné, o co jde). Přímá podpora C++ je plánovaná pro Swift 3 (již existující podpora pro Objective-C na Linuxu moc smysl nemá).

Apple portoval pro Linux knihovnu Foundation, sice je ještě nedodělaná, ale pokrývá většinu implementace známé z OS X. Běžný program se proto z větší části obejde bez externích knihoven.

Sofistikovaný systém počítání referencí umožní efektivní běh i na minipočítačích s minimem paměti, jako jsou Raspberry Pi, Intel Edison, Creator CI20 apod. (současná verze překladače sice podporuje pouze architekturu X64, ale vzhledem k tomu, že backendem je LLVM, podpora pro ARM, MIPS apod. jistě brzy přijde). Plně automatický garbage collector by zbytečně snižoval výkon a užíral vzácnou paměť.

Programy ve Swiftu jsou často rychlejší než odpovídající programy v C++ (a pochopitelně jazycích používajících VM). Proč tomu tak je by vydalo na hodně dlouhý samostatný článek, základní představu o optimalizacích získáte pohledem do kódu. Propracované benchmarky porovnávající Swift s C++, Go atd. se jistě brzy objeví.

Pokud máte Linux, určitě se vyplatí si Swift alespoň zběžně vyzkoušet.