Nvidia říká, že AI zabije kódování, ale zde je 5 důvodů, proč je to špatné

Photo of author

By etechblogcz

Zásadní body

  • Generální ředitel společnosti Nvidia tvrdí, že umělá inteligence (AI) nahradí lidské programování, čímž odpadá potřeba učit se kódovat.
  • Nicméně, AI není bezchybná; lidský dohled je nezbytný pro ladění a zdokonalování generovaného kódu.
  • Programátoři disponují schopnostmi řešit problémy a flexibilitou, které AI postrádá. Jejich schopnost reagovat na zpětnou vazbu od uživatelů a technologické trendy převyšuje efektivitu AI.

Generální ředitel Nvidie veřejně prohlásil, že by se děti neměly učit programovat, protože AI za ně vykoná veškerou obtížnou práci. I když AI může být pro kodéry velkým pomocníkem, lidé by se měli i nadále učit programovat, bez ohledu na to, kolik kódu vygenerovaného AI nakonec využijí. Existuje pro to více než jeden dobrý důvod.

Co generální ředitel Nvidie řekl o AI a programování?

Na summitu světové vlády v Dubaji v roce 2024 Jensen Huang, CEO společnosti Nvidia, uvedl, že podle jeho názoru nemá smysl učit lidi kódovat, protože v blízké budoucnosti bude veškeré programování provádět AI:

„Naším úkolem je vyvinout výpočetní technologie tak, aby nikdo nemusel programovat. Programovacím jazykem je lidský jazyk. Každý na světě je nyní programátorem. To je zázrak AI.“

Ačkoli umělá inteligence dokáže vytvářet funkční bloky kódu, objevují se argumenty, že lidé se nemusí učit základy programování, pokud chtějí vytvářet vlastní programy.

Jak efektivní je AI v programování?

Než budeme moci analyzovat Jensenovo prohlášení, musíme si nejprve ujasnit, co ho k němu vedlo.

V současné době existují modely umělé inteligence, které vám mohou pomoci s programováním. Existují obecné modely, jako je ChatGPT, ale i specializované modely jako CodeGPT, které jsou určené pro zpracování programovacích dotazů.

Denis Kuria/MakeUseOf

Obecně tyto modely AI umí výborně převádět zadání na kód. Jejich hlavní silnou stránkou, kterou zmiňuje Jensen, je, že k generování kódu pomocí AI nepotřebujete programátorské znalosti. Jednoduše popíšete v běžném jazyce, co potřebujete, zkopírujete výstup a (v ideálním případě) získáte bezchybný kód, který přesně splňuje vaše požadavky.

Proč se Nvidia mýlí v tom, že bychom neměli děti učit programovat?

Gorodenkoff/Shutterstock

Huang to sice skvěle popsal a jeho prohlášení se opírá o reálné důkazy. Přesto ale existuje mnoho důvodů, proč je důležité i nadále učit lidi programovat.

1. Kód AI stále vyžaduje znalosti pro kontrolu chyb

AI sice často vygeneruje kód, který funguje bez chyb, ale není stoprocentní. Programování vám poskytne potřebné znalosti pro vylepšování a opravování kódu vygenerovaného AI. Jak jsme již zmínili v souvislosti s CodeGPT:

„CodeGPT umí psát kód, ale je třeba být opatrný, protože ne vždy poskytne nejlepší výsledek. Kód může být náchylný k chybám a nemusí dodržovat osvědčené postupy. Při používání CodeGPT nebo jakéhokoli jiného nástroje AI pro generování kódu je klíčové nejprve pochopit, co kód dělá. Není to jen o kopírování a vkládání.“

Nejde jen o chyby, ale také o to, aby byl kód čitelný pro lidi a aby dodržoval základní programátorské principy, které by měl každý programátor znát. Slepé přidávání kódu vygenerovaného AI může vést k nepřehlednému a obtížně udržovatelnému kódu nebo dokonce k zranitelnostem ve vašem softwaru nebo webu.

2. Programátoři dokáží lépe využít zkušenosti k řešení problémů než AI

Programátoři se primárně snaží řešit problémy. Ať už vytvářejí aplikaci pro sebe nebo pro klienta, musí najít nejlepší způsob, jak přenést koncept do reality pomocí kódu.

S tím, jak programátoři získávají zkušenosti s vývojem aplikací, jsou schopni lépe vizualizovat celý proces projektu od návrhu až po fungující program. AI chatboti nemají stejnou úroveň školení, aby se mohli učit z předchozích projektů a aplikovat tyto zkušenosti na zlepšení své budoucí práce.

3. Programátoři mohou efektivněji vylepšit kód, aby vyhovoval požadavkům uživatelů

Pokud vyvíjíte software pro někoho jiného, je pravděpodobné, že bude mít připomínky a požadavky. Je to přirozená součást procesu, která zajišťuje, že klient získá produkt, který si přeje.

Pokud aplikaci naprogramoval člověk, může sám zapracovat veškerou zpětnou vazbu a odeslat další verzi, přičemž tento postup se opakuje, dokud není klient spokojen. Pokud je ale kód generován AI, nejlepší, co lze udělat, je požádat AI o provedení úprav, s nadějí, že AI správně zpracuje požadavky (a opět, bez vytváření chyb, přepisování užitečných částí kódu, zavádění zranitelností atd.).

4. Programátoři se dokáží přizpůsobit měnícím se technologickým trendům rychleji než AI

Modely AI získávají své znalosti z existujících dat. Díky tomu jsou skvělé ve vytváření věcí z toho, co už existuje, ale ne tak dobré v porozumění nejnovějším technologiím a trendům.

Programátoři mohou sledovat aktuální vývoj ve svém oboru a implementovat nové poznatky do svého kódu. Také chápou, které jazyky nejlépe fungují pro různé úkoly, a v případě potřeby mohou změnit použitý programovací jazyk.

5. Programátoři dokáží rychleji reagovat na naléhavé požadavky na opravy

Pokud se v kódu objeví chyba, je potřeba někdo se znalostmi programování, aby ji opravil. Zejména v případě zero-day zranitelností je čas klíčový. Problém je potřeba identifikovat a vyřešit co nejrychleji.

Nezáleží na tom, zda je kód napsaný člověkem nebo AI, oba jsou náchylné k chybám. Někdo, kdo kódu rozumí, však bude schopen problém snáze najít a pochopit. Někdo, kdo neví, jak kód funguje, nebude ani vědět, co má od AI žádat.

Jensen Huang ve svém výroku nemluvil zcela z cesty. Umělá inteligence umožňuje lidem, kteří nikdy předtím neprogramovali, generovat a používat kód. Pokud však chce někdo něco vytvořit pro sebe nebo pro někoho jiného, bude potřebovat základní znalosti programování, aby vše fungovalo hladce a efektivně.