Liderzy opinii
Przeprogramowując przyszłość: Jak AI zmienia programistów i języki

Era programowania wspomaganego przez sztuczną inteligencję jest już tu, i nie jest to tylko wspierająca rola; kradnie scenę. AI już teraz zmienia reguły tworzenia kodu. Jednak to dopiero początek jego potencjału. W niedalekiej przyszłości, algorytmy są gotowe wyeliminować bariery językowe i radykalnie zmienić rolę ludzkich programistów. Czy więc jesteśmy świadkami końca programu ludzkiego, jakiego znamy? Zobaczmy.
Wpływ AI: Postęp i wyzwania
CEO Stability AI maluje ciemny obraz dla programistów, twierdząc, że sztuczna inteligencja zastąpi ich w ciągu zaledwie pięciu lat. OpenAI idzie pełną parą, zbierając “armię” zewnętrznych kontrahentów, aby przyspieszyć szkolenie ich modeli, potencjalnie likwidując podstawowe zadania programistyczne. Bloomberg ogłasza, że ostrzega, że ogromna liczba 5 milionów programistów w Indiach jest na granicy “AI-jobs-katastrofy”. Mimo tych złych prognoz, dyskusje na Reddit sugerują, że wielu programistów jest obojętnych wobec swojej bezpieczeństwa pracy. Ale czy możemy pozwolić sobie na to, by być tak pewnymi w obliczu takiej radykalnej zmiany?
Jeśli uważasz, że AI jest tylko dodatkiem, być może powinieneś to ponownie rozważyć. Prawdą jest, że obecnie, chociaż AI może naśladować składnię i strukturę ludzkiego kodu, często ma trudności z zrozumieniem “dlaczego” za “czym”. Innymi słowy, brakuje mu głębokiego zrozumienia podstawowej logiki i intencji.
Jednak już 92% amerykańskich programistów korzysta z narzędzi programistycznych AI, zarówno w pracy, jak i w czasie wolnym. Te inteligentne algorytmy mogą stworzyć 40% Twojego kodu, od prostych skryptów po złożone. Ludzkie błędy stają się rzadkością. Szybkość rozwoju jest przyspieszona, a AI obcina czas dokumentacji kodu o 45-50% i redukuje czas pisania kodu o 35-45%.
Zasięg AI nie jest ograniczony do jednego języka; obejmuje wszystkie. Nasze własne dane pokazują, że programiści Java, Python i C++ równie korzystają z funkcji czatu AI Machinet, która może generować kod przy użyciu kontekstu danego projektu i opisu. Ta inkluzywność prowadzi do 25% wzrostu zaangażowania użytkowników.
Ale nie przestawajmy tam — AI już ujawnia błędy w aplikacjach, zapewniając, że produkty są solidne, niezawodne i wydajne. Sieci neuronowe mogą skanować nieustannie w poszukiwaniu luk, których ludzie mogliby nie zauważyć. AI doskonali swoje umiejętności, aby identyfikować słabości oprogramowania i wzmacniać jego obronę, przybliżając nas do przyszłości, w której nadzór ludzki może stać się przestarzały.
Algorytmy AI opanowują nawet sztukę tłumaczenia kodu. AI jest jak poliglotyczny programista, który analizuje kod napisany w jednym języku, a następnie tworzy równoważną wersję w innym. Przykłady już istnieją — IBM niedawno opracował swój asystent, który wykorzystuje model AI do tłumaczenia COBOL na Java. Pytanie brzmi, czy potrzebujemy ludzkich ekspertów lub wielu języków programowania, gdy AI w końcu będzie mogła zrobić wszystko?
Koniec różnorodności językowej
Jestem przekonany, że nie ma powstrzymania wzrostu dużych modeli językowych, takich jak GPT-4. Zrozumieją one zarówno język naturalny, jak i kod, zacierając granice jak nigdy wcześniej.
Przejęcie AI podnosi pytania o przyszłość krajobrazu programistycznego. Dziś istnieją setki języków programowania, a nowe są rozwijane regularnie. Kilka z nich jest aktywnie używanych w branży. Według indeksu PYPL, Python jest najpopularniejszym językiem na świecie, po którym następuje Java, JavaScript, C# i C/C++. Inne dane pokazują, że w 2022 roku JavaScript był najczęściej używanym językiem wśród programistów. Niektóre języki są odpowiednie do podobnych celów i zastosowań, a Java i GO są jednym z przykładów.
Czy te języki, każdy z własną niszą i celem, staną się bezużyteczne, gdy AI stanie się coraz bardziej biegłe w kodowaniu? Uważam, że AI jest na progu unicestwienia starszych, wolniejszych i mniej bezpiecznych technologii. Może to potencjalnie doprowadzić do scentralizowania języków, z których tylko najszybsze i najbardziej wydajne przetrwają. Programiści nie będą już wybierać ich ze względu na preferencje osobiste lub historyczne kodowanie. Zamiast tego będą wybierani ze względu na ich wydajność. Narzędzia AI będą starannie analizować i testować je, aby zidentyfikować optymalne wybory dla konkretnych zadań. Te analizy będą brać pod uwagę czynniki takie jak szybkość wykonywania, zużycie pamięci i skalowalność.
Może nawet pojawi się scentralizowany, przyjazny AI język do ogólnych zadań programistycznych. Jednak kilka specjalistycznych języków będzie miało swoje miejsce w niszowych dziedzinach, takich jak obliczenia naukowe. AI może ułatwić ich integrację, gdy konkretnym problemom wymagają użycia. Ten hybrydowy podejście połączy wydajność scentralizowania z siłą specjalizacji, oferując elastyczność i różnorodność w procesie tworzenia.
Systemy legacy w ogniu
Wpływ AI sięga poza tworzenie nowego kodu; jest to również potencjalny zabójca systemów legacy. Migrowanie ze starszych, mniej wydajnych języków do nowszych, bardziej efektywnych może być uciążliwym i kosztownym procesem. Jednak trzymanie się systemów legacy jest również obciążeniem finansowym. Zazwyczaj zespoły technologiczne przydzielają około 75% swojego budżetu rozwojowego na zadania konserwacyjne. A jeśli organizacja nadal polega na rozwiązaniach legacy, może spodziewać się wzrostu budżetu o około 15% rocznie.
To właśnie tutaj wkraczają narzędzia migracyjne AI. Ułatwią one organizacjom aktualizację ich oprogramowania do optymalnych języków nowej ery. Produkty AI będą automatycznie analizować i rozumieć złożoność starszych kodów. Zidentyfikują one podstawową funkcjonalność, zależności i potencjalne problemy w legacy kodzie, co ułatwi planowanie i wykonanie procesu migracji.
Oczekuję, że AI zidentyfikuje najbardziej odpowiedni język dla danego projektu i automatycznie przekonwertuje kod, przepisując sekcje zgodnie z najlepszymi praktykami, eliminując zbędne lub przestarzałe funkcje i optymalizując wynik dla lepszej wydajności i bezpieczeństwa. W ten sposób narzędzia migracyjne AI stopniowo sprawią, że legacy kod stanie się reliktami przeszłości.
Czy programiści ludzie przetrwają rewolucję?
W końcu, w tym krajobrazie dominowanym przez AI, rola ludzkich programistów ulegnie przekształceniu. Zamiast pisać kod ręcznie, będą mostem pomiędzy potrzebami biznesowymi a możliwościami AI. Będą definiować cele, dostarczać informacji zwrotnej i zapewniać, że kod jest zgodny z ich wizją. W istocie, programiści staną się “połączonymi” z podstawową wiedzą programistyczną. W tym samym czasie widzę, jak asystenci kodowania AI ewoluują w całościowe rozwiązania z przyjaznymi interfejsami, które umożliwiają ludziom skuteczne komunikowanie swoich potrzeb algorytmom.
Te zmiany zdemokratyzują pole programowania. Obecnie jest ponad 26 milionów programistów oprogramowania na świecie. Postępy w AI tworzą drogę dla miliardów ludzi, aby wkroczyć w rolę twórców oprogramowania. Będą mogli prosić algorytmy o stworzenie dostosowanych aplikacji, czy to gier, czy programów korporacyjnych. Wyobraź sobie stworzenie nowej wersji Angry Birds z kotami? Po prostu wyjaśnij swoje pomysły systemom AI i uzyskaj natychmiastowe wyniki, bez potrzeby zrozumienia, jak dokładnie działa ta czarna skrzynka.
W tym kontekście pojawia się palące pytanie: co czeka juniorów i średniozaawansowanych programistów w tym nowym paradygmacie? Moim zdaniem, niewiele. AI jest gotowa przewyższyć ich znacznie we wszystkich aspektach. Mogą znaleźć się w roli nadzorców AI lub samodzielnie doskonalić swoje umiejętności, być może angażując się w mniej lukratywne projekty, aby osiągnąć poziom doświadczonych i wysoko opłacanych programistów.
Druga grupa pozostanie w popycie w sektorach, gdzie błędy są kosztowne, a 5% poprawa dokładności może przekładać się na miliony lub nawet miliardy oszczędności. Są to na przykład transakcje o wysokiej częstotliwości, gdzie różnica 10 milisekund może decydować o zysku lub stracie, bankowość i technologia wojskowa.
Ta zmiana stworzy prawdziwą globalną konkurencję wśród programistów. Obecnie działa ona w ramach pseudo-globalnego frameworku. W przeciwieństwie do muzyków konkurujących na platformach takich jak Spotify z rówieśnikami z całego świata, programiści mogą nadal koncentrować się głównie na lokalnych rynkach i konkretnych zadaniach. Jednak rynek, w którym AI może zarządzać znaczną częścią zadań programistycznych, stanie się hardcore. Bycie “wystarczająco dobrym” już nie wystarczy. Programiści będą musieli dążyć do doskonałości, aby konkurować zarówno z rówieśnikami na całym świecie, jak i z AI.












