Itt a Swift, az Apple 2010 óta fejlesztett, nemrég nyilvánosságra hozott programnyelve, ami átalakíthatja a programozást, mert tettek bele egy kis grafikát. Kritika is éri bőven, mivel csak az Apple eszközeire lehet majd használni, de elvileg mégis könnyen átalakítható lesz. Nem biztos, hogy megváltja a programozók világát, de a hatása már most is érzékelhető. A Flappy Bird 9 óra alatt elkészült vele, és oktatásra is jó lehet.
Az Apple szokásos, általában nagy bejelentésektől hangos WWDC-konferenciáján idén volt olyan is, ami nem váltott ki hatalmas visszhangot az átlagfelhasználók között. Nem úgy a programozóknál: a cég bejelentett egy új programozási nyelvet Apple-hardverekre, a Swiftet.
A Swift fő tervezője Chris Lattner, az LLVM megalkotója (Low Level Virtual Machine – alacsony szintű virtuális gép), ami képes nyelvfüggetlen kódot generálni, ezzel megkönnyítheti a Swift nyelven írt programok átültetését más környezetekre. Lattner még a Microsoft gyakornokaként kezdett dolgozni az LLVM-en. Apple-ös levelezőlistákra küldött emailjei keltették fel a cég érdeklődését, így először besegítettek a projektbe, aztán 2005-ben felvették a céghez, innentől az LLVM az Apple fejlesztéseinek egyik alapja lett. A Swiftet 2010-ben kezdték fejleszteni OS X-re és iOS-re, és lényegében új nyelv, kifejezetten Lattner megoldásához. Az Apple 400 oldalas könyvben el magyarázza a működését.
A nyelv gyorsan népszerű lett: rengetegen beszélnek róla, egy fejlesztő pedig nem sokkal a bemutatása után, mindössze kilenc óra alatt lemásolta vele a Flappy Birdöt, az elmúlt pár hónap legnépszerűbb – igaz, nem túl összetett – okostelefonos játékát. A programozó, Nate Murray négy óra ismerkedés után pakolta össze a játékot. Murray korábban a webes összekötőnél, az IFTTT-nél dolgozott, most pedig az online oktatási portálnál foglalkoztatják, ahol nemsokára tanítják majd az Apple új nyelvét is. A programban a vizuális megjelenítés ráadásul könnyen taníthatóvá teszi a nyelvet: a tanulók tényleg láthatják, mit rontottak el.
Az Apple legtöbb szoftvere Objective-C programozási nyelven készült, ennél a Swift elvileg sokkal gyorsabb és hatékonyabb. A cél, hogy jó ideig egymás mellett létezzen a kettő. A C-alapú nyelvet még a nyolcvanas években tervezték, sok tekintetben egyáltalán nem olyan egyszerű használni, mint más modern nyelveket, például a Rubyt és a Pythont, amelyek rengeteg dolgot elvégeznek a programozó helyett (legalábbis vannak rá kész eszközök).
A nyílt forrású Lift-keretrendszert létrehozó programozó, David Pollak szerint a nyelv egyik legnagyobb előnye az automatikus szemétgyűjtés: a nyelv elboldogul a memóriában lévő felesleges információ kiszórásával, így a fejlesztőnek nem kell ezzel foglalkoznia.
A Swift automatikusan elboldogul (fordítási időben) a változók típusaival (type inference), ami szintén gyorsítja a munkát. Egyes kódrészleteket pedig könnyebben újra lehet hasznosítani. Összességében könnyebb újrahasznosítható kódot készíteni.
Mindennek a tetején pedig ott csücsül az interaktív játszótér, amellyel már gépelés közben meg lehet nézni a kód eredményét. Ebben a Wolfram programozási nyelvhez hasonlít: az Apple bevallása szerint Bret Victor gondolatai inspirálták, ugyanúgy, mint a Khan Academy online tanulási felületet. Ez az újítás az, ami az egész programozásra rányomhatja bélyegét. Pollak szerint attól függően, hogy mennyire jól működik majd a gyakorlatban az eszköz, új irányba fordíthatja a programozást: sokkal intuitívabban lehet majd kódolni.
Caylan Larson programozó szerint az új nyelv sokkal könnyebben elsajátítható, „sok embernek sok új ajtót nyithat”. Ehhez persze teljesen újfajta gondolkodást kell elsajátítani, ami egyelőre a hátránya is a Swiftnek: a programnyelv inkább a jövő, mint a jelen, a váltás pedig nem lesz könnyű.
A másik kritika a nyelvvel szemben, hogy kizárólag az Apple eszközein működik. Pollak szerint a Tim Cook által kijelölt irány nem jó: rengeteg problémát megold, de elválasztja az Apple rendszerének programozóit mindenki mástól.
Valószínűleg ennek hátrányait nem hamar fogja érezni az Apple. Alapvetően a cég jobban szereti így intézni a dolgokat: meghatározzák saját szabályaikat, rengeteg, széles körben használt eszközük van, így sok fejlesztő boldogan ír majd programokat ezekre, függetlenül attól, milyen nyelv szükséges hozzá. Sokkal könnyebb lenne a programozók élete, ha úgy fejleszthetnének, hogy a végtermék egyből működjön más eszközökön is, az androidos telefonoktól a Windowsokig. Sokan régóta várnak erre. Pollak szerint most egy lépéssel még távolabb kerültünk a megoldástól.
Viszont Pollaknak csak részben van igaza: a fent említett LLVM-t beépítettek a Swiftbe, ezért tényleg könnyen készíthető vele más rendszerekre is átültethető kód. Azonban először egy átmeneti formátumot (binárist) kell készíteni, a Swifttel készült kód nem egy az egyben használható más rendszereken: valószínűleg ennek szól a programozó Wiredben megfogalmazott kritikája.
Az interaktivitást leszámítva viszont a nyelv nem igazán különbözik a többi modern nyelvtől, például a Rubytól. Emiatt Pollak szerint az Apple-nek nem a Swiftet kellett volna kifejlesztenie, hanem felkarolhatott volna egy olyan nyelvet, aminek már megvannak ugyanezek az előnyei.
Az Apple viszont nem ebben hisz, mindent maguknak csinálnak – néha bejön, néha nem. Egyelőre úgy tűnik, a Swifttel kapcsolatban igen: az érdeklődés hatalmas, és egyetlen médiabarát újítás is elég ahhoz, hogy erről beszéljen a programozótársadalom. Már magyar meetup is van a témában.