Pređi na sadržaj

Rust u 2026: zašto tehnološki giganti prepisuju C++ i kada to treba da uradite i vi

Strahinja Polovina · Osnivač10 min čitanja

Kada sam pre šest ili sedam godina počeo da pišem Rust, šalili su se da mi u programiranju neće ostati nijedan prijatelj. Šala nije bila bez osnova. Rust je tada bio jezik kojem se svi dive u anketama, a za čije pisanje gotovo niko nije plaćen. (I dalje mu se dive više nego ijednom drugom: u Stack Overflow anketi za 2025. bio je na vrhu te liste desetu godinu zaredom, sa 72%.) Moje pitanje bilo je ozbiljnije od šala: hoće li Rust ikada biti široko prihvaćen? Prepisivanje legacy softvera traje i košta ogromno, a „novi jezik je bezbedniji“ nikada sam po sebi nije bio dovoljan razlog da firma to plati.

U 2026. to pitanje ima odgovor. Microsoft, Cloudflare, Meta i GitHub sele delove svojih sistema na Rust, a AI je velike migracije učinio izvodljivijim nego što sam tada mogao da zamislim. Pravac sam video rano, ali sa tajmingom sam imao sreće. Ovaj tekst govori o tome šta se promenilo, šta velike migracije zaista uče i kako da procenite da li se išta od toga odnosi na vaš sistem.

Zašto sam izabrao Rust i zašto su skeptici bili u pravu

Argumenti za Rust bili su jasni od početka. Daje performanse C-a i C++-a bez garbage collectora, a njegov kompajler eliminiše čitave klase grešaka, od use-after-free i prekoračenja bafera do trka nad podacima, pre nego što se kod uopšte pokrene. To nisu egzotične greške. U velikim C i C++ kodnim bazama one su, iz godine u godinu, uzrok većine ozbiljnih bezbednosnih zakrpa. Jezik koji ih uklanja već pri kompajliranju nije stvar ukusa, nego potpuno drugačija kriva troškova vlasništva nad softverom.

Skeptici su ipak bili u pravu kada je reč o ceni. Prepisivanje sistema koji radi je projekat koji mesecima nema nijednu novu funkcionalnost da pokaže. Ekosistem je bio mlad, krivulja učenja stvarna, a ljude je bilo teško naći. Svaki CTO sa kojim sam razgovarao složio bi se da je Rust bolji, a onda, sasvim racionalno, ne bi uradio ništa. Biti u pravu oko tehnologije je jeftino. Teško je biti u pravu oko toga kada industrija može sebi da priušti da je usvoji.

Šta se promenilo: Microsoft, Cloudflare, Meta i GitHub

Microsoft od 2023. isporučuje Rust u kernelu Windowsa 11 - kod za GDI regione nalazi se uwin32kbase_rs.sys - a krajem 2025. Distinguished Engineer Galen Hunt opisao je cilj da se do 2030. C i C++ uklone iz najvećih Microsoftovih kodnih baza, uz zajednički rad AI-ja i algoritama, sa vodiljom „1 engineer, 1 month, 1 million lines of code“ (jedan inženjer, jedan mesec, milion linija koda). Kasnije je pojasnio da je reč o istraživačkom projektu za razvoj alata za migraciju, a ne o planu da se Windows prepiše preko noći. Ta nijansa je važna, ali je važan i pravac: firma sa jednim od najvećih C++ nasleđa na svetu ulaže u to da ga napusti.

Cloudflare je u Rustu ponovo izgradio ključni proxy koji stoji ispred miliona sajtova. Novi sistem, FL2, ubrzao je sajtove klijenata do 25% i troši manje od polovine procesora i memorije u odnosu na platformu koju je zamenio, najviše zato što više ne prebacuje podatke između slojeva pisanih u C-u, Lui i Rustu.

Meta je 2022. Rust proglasila zvanično podržanim jezikom za serversku stranu, od tada je sa C-a na Rust preselila osnovnu biblioteku za poruke koju dele Messenger, Facebook i Instagram, a prepisala je i WhatsAppovu biblioteku za obradu medija: 160.000 linija C++-a postalo je 90.000 linija Rusta, zajedno sa testovima. Meta je 2026. u Rust prenela i React Compiler, radi bržih buildova. GitHub je od nule u Rustu napravio svoj pretraživač koda, Blackbird, koji pretražuje skoro 45 miliona repozitorijuma.

Nijedna od ovih firmi nije prepisala sve. Svaka je krenula od dela sistema u kome je ostajanje na starom koštalo najviše.

To je prava pouka velikih migracija i korisnija je od naslova. To nisu priče o herojskim prepisivanjima, nego o ciljanim: proxy na kritičnoj putanji, sloj za poruke sa istorijom memorijskih grešaka, pretraživač koji je morao da bude brz. Isti obrazac radi na svakoj skali. To je strangler pristup koji opisujemo u tekstu o modernizaciji nasleđenog sistema bez pisanja od nule, samo primenjen na promenu jezika.

AI je promenio ekonomiju migracije

Ono što 2019. nisam predvideo bio je AI. Najskuplji deo migracije nekada je bilo mehaničko prevođenje: hiljade funkcija prepisanih ručno, liniju po liniju, od strane inženjera koji bi radije gradili nešto novo. Danas velik deo tog prvog prolaza rade AI alati. U našem radu dobri su u prevođenju samostalnih modula, u generisanju testova koji dokazuju da se ponašanje nije promenilo i u objašnjavanju starog koda za koji se niko ne seća da ga je pisao.

I dalje su slabi u delovima od kojih zavisi uspeh migracije: u povlačenju granica između starog i novog koda, u projektovanju vlasništva tako da se ne bori sa borrow checkerom i u pregleduunsafeblokova, gde prestaju garancije koje Rust daje. Trošak se, dakle, nije izgubio nego preselio, sa kucanja na procenu. Upravo ta promena pretvara migraciju iz opklade od nekoliko godina u niz projekata od po nekoliko nedelja, od kojih se svaki sam isplati.

Da li da pređete na Rust? Okvir za odluku

Za većinu firmi iskren odgovor glasi „deo sistema, vremenom“. Prođite kroz sistem modul po modul i svaki svrstajte u jednu od dve kolone.

Migrirajte modul
  • Iz njega stalno stižu greške u radu sa memorijom ili bezbednosne zakrpe
  • Na kritičnoj je putanji, pa se latencija ili trošak procesora vide na računu za cloud
  • U narednih godinu dana ionako morate ozbiljno da ga menjate
  • Ima testove ili jasan interfejs prema kome možete da ih napišete
Ostavite ga na miru
  • Stabilan je, retko se menja i jeftino radi
  • U pitanju je običan CRUD: forme, izveštaji, tokovi rada
  • Posle migracije niko u timu neće preuzeti brigu o Rust kodu
  • Jedini argument za prepisivanje je to što je Rust popularan

Zatim migrirajte vrh prve kolone, jedan po jedan modul. Novi Rust kod stavite iza istog interfejsa koji je imao stari, bilo kao C ABI preko FFI-ja ili kao zaseban servis, pustite oba da rade uporedo i saobraćaj prebacite tek kada se testovi i metrike iz produkcije slože. Ako se modul ne isplati, tu stanite: izgubili ste nedelje, a ne godinu. A ako se argument za Rust svodi samo na to da je popularan, to nije argument. Ista disciplina važi za svaki izbor tehnologije, zbog čega smo i pisali o tome da je dosadna tehnologija luksuzna roba. Deset godina posle verzije 1.0, Rust je tiho postao jedan od tih dosadnih izbora.

Pouka: ne jurite za hajpom

Ako me je sedam godina Rusta naučilo jednoj stvari, onda je to ovo: ne jurite za hajpom, nego razmišljajte o problemima koje će industrija morati da rešava za nekoliko godina. Bezbednost memorije, potrošnja energije i trošak clouda, sistemi koje decenijama održavaju timovi koji se stalno menjaju: ti problemi su se videli još 2019, a danas su samo veći. Tehnologija koja ih rešava morala je da pobedi; pitanje je bilo samo kada će postati isplativa.

Isto pitanje vredi postaviti i o sopstvenom planu razvoja. Koji će problem u vašem sistemu za pet godina biti skup i koliko bi koštalo da na njemu počnete da radite sada, modul po modul?

Česta pitanja

Da li Rust zamenjuje C++?

Ne svuda, ali u novom sistemskom kodu i u bezbednosno osetljivim delovima postojećih kodnih baza sve češće da. Microsoft, Cloudflare, Meta i GitHub drže Rust u produkciji, a nov niskonivovski posao u mnogim velikim kompanijama danas podrazumevano počinje u Rustu.

Da li naša firma treba da prepiše softver u Rustu?

Retko ceo. Migrirajte module u kojima greške u radu sa memorijom, latencija ili trošak infrastrukture najviše bole, jedan po jedan i iza stabilnog interfejsa, a stabilan kod koji jeftino radi ostavite gde jeste.

Može li AI da prevede C ili C++ u Rust?

AI alati danas odrađuju velik deo mehaničkog prevođenja i upravo zato su velike migracije postale izvodljive. Inženjeri i dalje moraju da projektuju interfejse, pregledaju unsafe kod i testovima dokažu da se ponašanje nije promenilo.

Koliko traje migracija na Rust?

Jedan modul ili servis obično je posao od nekoliko nedelja. Cela kodna baza je program koji traje godinama, i upravo zato ga treba raditi postepeno, tako da svaki korak sam donese vrednost.

I da, usput sam stekao i nekoliko prijatelja koji pišu Rust. Malo kasnije, ali stigli su. Ako razmišljate o migraciji, evo kako pristupamo razvoju u Rustu i migraciji sa C/C++-a.

Planirate migraciju na Rust?

Dijagnoza je besplatna: pregledamo vašu kodnu bazu, rangiramo module koje vredi preseliti i iskreno kažemo koje da ostavite na miru.