Tankeledere
Genprogrammering af fremtiden: Hvordan AI omdefinerer udviklere og sprog

Æraen for AI-drevet programmering er her, og det er ikke bare en støtterolle; det stjæler rampelyset. AI skriver allerede om reglerne for kodeoprettelse. Men dette er kun toppen af isbjerget, når det kommer til dets potentiale. I den ikke så fjerne fremtid er algoritmerne klar til at eliminere sprogbarrierer og radikalt omforme rollen af menneskelige udviklere. Så, er vi vidne til enden af den menneskelige programmer, som vi kender den? Lad os finde ud af det.
AI’s indvirkning: Fremskridt og udfordringer
CEO’en for Stability AI maler et mørkt billede for programmører, og hævder, at kunstig intelligens vil erstatte dem inden for blot fem år. OpenAI går hele vejen, sammenstiller en “hær” af eksterne underleverandører til at accelerere deres modeltræning, og potentielt udslette indledende kodestillinger. Bloomberg erklærer ømt, at Indiens enorme pool af 5 millioner kodere er på randen af en AI-jobapokalypse. Trods disse dystre forudsigelser, viser diskussioner på Reddit, at mange programmører er nonchalante omkring deres jobssikkerhed. Men kan vi tillade os at være så selvtilfredse over for en så radikal forandring?
Hvis du tror, at AI kun er en sideshow, måske skal du omvurdere det. Det er sandt, at AI i øjeblikket kan efterligne syntaks og struktur af menneskeskrevet output, men det kæmper ofte for at forstå “hvorfor” bag “hvad”. Med andre ord, mangler det en dyb forståelse af den underliggende logik og hensigt.
Alligevel er det allerede sådan, at 92% af US-baserede udviklere omfavner AI-kodningsværktøjer, både på arbejde og i deres fritid. Disse intelligente algoritmer kan skabe 40% af din kode, fra simple scripts til komplekse. Menneskelige fejl bliver en ting af fortiden. Udviklingshastigheden er turboforstærket, og AI skærer kodningsdokumentationstiden ned med 45-50% og reducerer kodningstiden med 35-45%.
AI’s rækkevidde er ikke begrænset til ét sprog; det spænder over alle. Vores egne data viser, at Java-, Python- og C++-udviklere alle nyder godt af Machinets AI-chatfunktion, som kan generere kode ved at bruge konteksten af et bestemt projekt og en beskrivelse. Dette fører til en 25% øgning i brugerengagement.
Men lad os ikke stoppe der — AI afslører allerede fejl i programmer, og sikrer, at produkter er solide, pålidelige og robuste. Neurale netværk kan scanne uafbrudt efter sårbarheder, som mennesker måske overser. AI udvikler sine færdigheder til at identificere softwarens bløde punkter og styrke dets forsvar, og bringer os et skridt nærmere en fremtid, hvor menneskelig tilsyn måske bliver overflødigt.
AI’s algoritmer er endda mester i kunsten at oversætte kode. AI er som en polyglot-programmør, der analyserer kode skrevet i ét sprog og derefter skaber en tilsvarende version i et andet. Eksempler er allerede der — IBM har nylig præsenteret sin assistent, der bruger en AI-model til at oversætte COBOL til Java. Spørgsmålet er, hvem har brug for menneskelige eksperter eller multiple programmeringsprog, når AI til sidst kan gøre det hele?
Enden af sprogdiversitet
Jeg er overbevist om, at der ikke er noget, der kan stoppe opgangen af store sprogmodeller som GPT-4. De forstår både naturligt sprog og kode, og udvisker grænserne som aldrig før.
AI’s overtageri vækker spørgsmål om fremtidens programmeringslandskab. I dag findes hundredvis af programmeringsprog, og nye udvikles jævnligt. Flere er aktivt brugt i branchen. Ifølge PYPL-indekset er Python det mest populære sprog verden over, efterfulgt af Java, JavaScript, C# og C/C++. Andre data viser, at i 2022 var JavaScript det mest almindelige blandt software-udviklere. Nogle sprog er egnede til lignende formål og anvendelser, Java og GO er et eksempel.
Så, vil disse sprog, hver med sin egen niche og formål, blive værdiløse, når AI bliver mere og mere dygtig til at kode? Jeg tror, at AI er på randen af at gøre ældre, langsommere og mindre sikre teknologier forældede. Dette kunne potentielt føre til en centralisering af sprog, hvor kun de hurtigste og mest effektive overlever. Udviklere vil ikke længere vælge dem baseret på personlige præferencer eller historiske kodebaser. I stedet vil de blive valgt for deres præstation. AI-drevne værktøjer vil omhyggeligt analysere og benchmarkere dem for at identificere de optimale valg for bestemte opgaver. Disse analyser vil tage hensyn til faktorer som eksekveringstid, hukommelsesbrug og skalerbarhed.
Et centralt, AI-venligt sprog til generelle kodningsopgaver kan endda opstå. Men et par specialiserede sprog vil have deres plads i niche-domæner, som f.eks. videnskabelig beregning. AI kan faciliterer deres integration, når bestemte problemer kræver deres brug. Denne hybridtilgang vil kombinere centraliseringens effektivitet med specialiseringens kraft, og tilbyde fleksibilitet og diversitet i udviklingsprocessen.
Ældre systemer i skudlinjen
AI’s indvirkning strækker sig ud over oprettelsen af ny kode; det er også en potentiel ældre-system-dræber. Migration fra forældede sprog til nyere, mere effektive kan være en besværlig og kostbar proces. Men at fastholde ældre systemer er også en finansiell byrde. Typisk allokerer teknologihold ca. 75% af deres udviklingsbudget til vedligeholdelsesopgaver. Og hvis en organisation fortsætter med at afhænge af ældre løsninger, kan de forvente en årlig budgetøgning på ca. 15%.
Her kommer AI-drevne migrationsværktøjer ind i billedet. De vil gøre det lettere for organisationer at opdatere deres eksisterende software til de optimale sprog i denne nye æra. AI-drevne produkter vil automatisk analysere og forstå de komplekse detaljer i forældede kodebaser. De vil identificere den centrale funktionalitet, afhængigheder og potentielle problemer i den ældre kode, og gøre det langt lettere at planlægge og udføre migrationsprocessen.
Jeg forventer endda, at AI kan identificere det mest egnede sprog til et givet projekt og automatisk konvertere kodebasen, omskrive dele for at overholde bedste praksis, eliminere redundant eller forældet funktionalitet og optimere resultatet for bedre præstation og sikkerhed. På denne måde vil AI-drevne migrationsværktøjer langsomt gøre ældre kode til en relikt fra fortiden.
Overlever menneskelige programmører revolutionen?
Til sidst, i dette AI-dominerede landskab, vil rollen af menneskelige programmører forvandle sig. I stedet for at skrive kode manuelt, vil de brobygge mellem forretningsbehov og AI-kapaciteter. De vil definere mål, give feedback og sikre, at koden er i overensstemmelse med deres vision. I virkeligheden vil udviklere blive “forbindere” med grundlæggende programmeringskundskaber. Samtidig kan jeg se AI-kodningsassistenter udvikle sig til holistiske løsninger med brugervenlige grænseflader, der giver mennesker mulighed for at kommunikere effektivt med algoritmer.
Disse forandringer vil demokratisere programmeringsfeltet. I øjeblikket er der over 26 millioner software-udviklere verden over. Fremgangen i AI baner vejen for milliarder af mennesker til at træde ind i rollen som software-skabere. De vil kunne anmode algoritmer om at skabe tilpassede programmer, enten det er spil eller erhvervsprogrammer. Tænk på at skabe en ny version af Angry Birds med katte? Fortæl blot dine ideer til AI-systemer og få øjeblikkelige resultater, uden at skulle forstå, hvordan denne sorte boks fungerer.
I denne kontekst opstår et presserende spørgsmål: Hvad gemmer sig for junior- og mellem niveau-udviklere i dette opblomstrende paradigme? Ifølge min mening, ikke meget. AI er på vej til at overgå dem betydeligt på alle punkter. De kan finde sig selv som AI-overvågere eller uafhængigt udvikle deres færdigheder, måske ved at engagere sig i mindre finansielt lønsomme projekter, for at opnå det niveau af kvalificerede og højt betalte programmører.
Den sidstnævnte gruppe vil forblive efterspurgt i sektorer, hvor fejl er dyre, og en 5% forbedring af nøjagtighed kan oversætte til millioner eller endda milliarder af besparelser. Disse er f.eks. højfrekvenshandel, hvor en enkelt 10-millisecond variation kan afgøre profit eller tab, bank og militærteknologi-programmering.
Denne forandring vil skabe en ægte global konkurrence blandt programmører. I øjeblikket fungerer det inden for et pseudo-globalt rammeværk. Til forskel fra musikere, der konkurrerer på platforme som Spotify med kolleger fra hele verden, kan udviklere stadig primært fokusere på lokale markeder og bestemte opgaver. Men markedet, hvor AI kan håndtere en betydelig andel af programmeringsopgaver, vil blive hårdkogt. At være “god nok” vil ikke længere være nok. Programmører må stræbe efter excellence for at konkurrere med både kolleger verden over og AI.












