Perspektywa bezrobocia technologicznego wśród programistów z reguły budzi skrajne reakcje, jednak z całą pewnością nie możemy wykluczyć, że w przyszłości kod będzie w mniejszym lub większym stopniu pisał się sam. W obliczu niesłabnącego zapotrzebowania na programistów i jednoczesnej prekaryzacji tego zawodu na niższych szczeblach, oczywistością wydaje się poszukiwanie alternatyw. Także maszynowych.
Firefox debugowany dzięki Clever-Commitom
Zazwyczaj o wdrażaniu kodu pisanego maszynowo słyszymy w kontekście eksperymentów, rzadziej w przypadku „dużych” programów z milionami użytkowników. Coraz częściej jednak producenci popularnego oprogramowania wdrażają debugowanie maszynowe. Do tego grona właśnie dołączyła Mozilla, a to ważny sygnał dla całej branży. Jedna z najpopularniejszych przeglądarek internetowych i domyślne okno na Internet lwiej części linuksowych dystrybucji odtąd korzystać będzie z tzw. Clever-Commit.
Clever–Commit to element narzędzia Commit Assistant. Co ciekawe, zostało ono opracowane w studiu Ubisoft La Forge, jednym z oddziałów popularnego producenta gier komputerowych, odpowiedzialnego między innymi za serię Assassins’s Creed. Aby Commit Assistant był skuteczny, konieczne było przeprowadzenie procesu maszynowego uczenia dotychczasowych modyfikacji kodu Firefoksa. Materiału do nauki było z całą pewnością sporo – aktualnie cykl wydawniczy pisanego w Ruście, C++ i Java Scripcie Firefoksa ma interwał od 6 do 8 tygodni, a każde kolejne wydanie to około 8 tys. wprowadzonych do kodu zmian.
Na tej podstawie oprogramowanie będzie mogło rozpoznawać najczęściej popełniane błędy, zaś po analizie konkretnego commitu samodzielne wypracowywać rozwiązania. Dzięki temu wyłapanie błędów będzie mogło zostać przeprowadzone jeszcze przed zatwierdzeniem zmian, a to pozwala zaoszczędzić czasem i pieniądze. Z początku Mozilla będzie wykorzystywać maszynowe debugowanie na etapie audytu kodu. Fundacja szacuje, że pełne wdrożenie pozwoli wychwycić od 3 do 4 błędów na 5.
Nie tylko Clever-Commity – IntelliCode
Topniejąca popularność Firefoksa wystarczy niektórym komentatorom, by wieścić jego koniec. Jak jednak wielokrotnie pisaliśmy na łamach naszego bloga, Firefox i jego rozwój być może nigdy nie był ważniejszy niż teraz, na zdominowanym przez chromopodobne przeglądarki rynku. Dlatego to tak ważne, że Mozilla nie stoi w miejscu i wprowadza nowoczesne usprawnienia całego cyklu produkcji. Od premiery wydania Quantum pod koniec 2017 roku, Firefox to z wersji na wersję coraz lepsza przeglądarka, która w tej chwili w niczym nie ustępuje programom tworzonym na bazie silników Blink i V8.
Choć możliwości Commit Assistanta mogą się wydawać cokolwiek futurystyczne, to z odpowiedników jego pojedynczych funkcji może korzystać już dziś każdy programista i to w darmowych narzędziach. Doskonałym przykładem są rozwijane przez Microsoft automatyczne sugestie IntelliSense i IntelliCode – z pozoru prosty system podpowiedzi w Visual Studio także jest oparty na analizie wyborów programisty i zauważalnie przyśpiesza cały proces pisania kodu. Jak widać, automatyzacja pracy dewelopera, zarówno na poziomie tak ogromnego przedsięwzięcia, jak Firefox, jak i pod deweloperską strzechą, dzieje się na naszych oczach.