ChatGPT használata Python, C és Java programozáshoz

A ChatGPT borzasztóan jó a kódírásban.

Mindenki hallott már róla ChatGPT ezen a ponton. Ez egy mesterséges intelligencia által vezérelt chatbot, amely természetes nyelvi feldolgozási modelleket használ, hogy bonyolult kérdésekre választ adjon. Ezek a válaszok nem feltétlenül mindig pontosak, de általában elég részletesek ahhoz, hogy meglehetősen könnyen ellenőrizhesd a tényeket. Mi lenne, ha vennéd a ChatGPT-t és próbálnál kódot írni vele?

Mint kiderült, ez olyasmi, amit változó sikerrel megtehet, attól függően, hogy milyen nyelveket szeretne használni, és mit szeretne elérni velük. Kipróbáltam, hogy lássam, mennyire boldogul a különböző programozási nyelveken a különböző feladatok elvégzése. Nem fogok módosítani a ChatGPT által előállított kódon sem, csak akkor irányítom a működő kód létrehozására, ha az általa létrehozott kód nem működik.

Három nyelvet használtam, amelyeket már ismerek a ChatGPT teszteléséhez: Python, C és Java. Az eredmények különösen meglepőek voltak, mivel egy kicsit küszködött a Pythonnal a kérésem absztrakt természete miatt, de könnyedén kezelte a C-t és az alapvető Java-t. nekem is van

létrehozott egy GitHub adattárat az itt található összes kód elérhető, így Ön is kipróbálhatja.

Automatikus oldalellenőrzés Pythonban

A Python a kedvenc programozási nyelvem, és ez a benne rejlő teljesítménynek és egyszerű használatának köszönhető. Korábban számos eszközt írtam Python nyelven, hogy automatizáljam a munkafolyamatom egyes részeit, és a számítástechnikai diplomamunkám is teljes egészében Pythonon keresztül készült. Megkértem a ChatGPT-t, hogy írjon egy olyan programot, amely időközönként átvizsgálja a weboldalakat a változások után, és többnyire sikerült is.

A probléma a fenti kóddal az, hogy nem szimulál egy valódi böngészőt. A webhelyek ellenőrzik a böngészőben található paramétert, amelyet "felhasználói ügynöknek" neveznek, és ez határozza meg, hogy milyen böngészőt használ, vagy ha bot vagy. Sok webhely nem fogad el olyan kapcsolatokat, amelyek nem határoznak meg felhasználói ügynököt, és ebbe futottam bele, amikor az XDA-ra mutattam. Megkértem, hogy adjon hozzá egyéni fejléceket a kéréshez, hogy valódi böngészőt szimuláljon, és teljesítette.

A fent megadott kód statikus webhelyeken működik, de a probléma az, hogy az online olvasott tartalom nagy része dinamikus. Ha egy oldal az aktuális időt adja vissza, például valahol az oldalon, akkor a fenti kód mindig azt fogja mondani, hogy az oldal minden frissítéskor megváltozott. Amikor rámutattam erre a ChatGPT-nek, az összezavarodott, és teljesen helytelen megoldást adott a problémára.

A fentiek helytelen magyarázatot adnak a hash működésére. A hash lényege, hogy a bemenet kisebb módosítása jelentős különbséget eredményez a hashben, mivel a két hash alapvetően összehasonlíthatatlan. Amikor azt mondtam neki, hogy helytelen állítás azt sugallni, hogy a hash a legjobb módja az összehasonlításnak és a változások keresésének, bocsánatkéréssel válaszolt, és adott nekem valamit, tette munka.

Az egyetlen probléma, amit a fenti kóddal felfedeztem, az az, hogy nagyobb webhelyek esetében ez az számításilag költséges, mivel természetes nyelvi feldolgozást használ a különbség összehasonlítására és kiszámítására közöttük. Ennek ellenére a megváltozott tartalom 5%-os küszöbértéke elegendő a legtöbb webhely számára, ha frissítéseket szeretne keresni, és ha szükséges, módosíthatja a küszöböt. Eltartott egy ideig, de végül megérkezett.

Számos oka lehet annak, hogy szeretne egy ilyen webkaparót, és bár vannak olyan eszközök, amelyek ezt megtehetik, nagyszerű, ha elkészíti a sajátját. Használhatja őket csomagkövetésre, vagy esetemben új ingatlanok keresésére, amelyek a helyi ingatlanoldalakon kerülnek bérbeadásra.

Jelszógenerátor C-ben

Mivel a biztonság mostanában divatossá vált, fontos, hogy biztonságos jelszavakat és kétfaktoros hitelesítést is használjon. Ha a biztonságos jelszó résszel küszködik, meglehetősen egyszerű jelszógenerátort írni C nyelven. A ChatGPT meglehetősen könnyen kezelte, és az egyetlen probléma, amit felfedeztem, az volt, hogy amikor megkértem, hogy hozzon létre egy jelszógenerátort, nem importálta a String C könyvtárat. Ezt elmondtam neki, és már az elején hozzáadta az importhoz.

A MAX_LENGTH globális változót 16 helyett 32 karakterre növeltem, és a következő jelszót generálta nekem: aW3H0E(&FPQvG8B@4*()+4yRKTKKB#U0O. Nyugodtan mondhatjuk, hogy működik!

Számológép Java nyelven

Egy elég alapprogram, amellyel sok embernek van tapasztalata a Java nyelven, egy számológép létrehozása. Ez az egyik legkorábbi kihívás, amellyel az informatikusoknak szembe kell nézniük programozói pályafutásuk során, függetlenül attól, hogy milyen nyelvet használnak először. Megkértem a ChatGPT-t, hogy írjon egy számológépet Java nyelven, amely legalább két osztályt használ, és az első próbálkozásra tökéletesen működött.

Ez a számológép osztály:

Ez a fő osztály:

Mindkét osztály létrehozása az IDE-ben, az IntelliJ-ben, és a fő osztály végrehajtása egy tökéletesen működőképes számológép, amely két számot és egy operátort vesz fel az összeadáshoz, kivonáshoz, szorzáshoz, ill osztály.

A ChatGPT jól programoz

Bár nem támaszkodnék a ChatGPT-re, hogy mindent megtesz helyetted, egyértelmű, hogy elég jó munkát végezhet a programok létrehozásában és a kritikák figyelembevételében, ha problémák merülnek fel. Meglepődve láttam, hogy kivonatolási algoritmust javasol, hogy különbséget tudjon tenni a weboldalon végrehajtott kisebb változtatások között, de ettől eltekintve nem küzdött az alapvetőbb feladatokkal. Még a Python program esetében is az elejétől fogva jó ötlet volt, és statikusabb oldalakon tökéletesen működött volna.

Természetesen a ChatGPT nem éppen a közeljövőben fogja leváltani a programozókat, de jó úton halad afelé, hogy nagyon jó eszköz legyen a munkaerőben. A GitHub másodpilótájapéldául használja GPT technológia, amely segíti az embereket a kódírásban, és ez az idő előrehaladtával egyre fejlettebb lesz. Még akkor is, ha Ön kezdő programozó, ez a fajta eszköz segíthet a tanulásban, ha teljes mértékben megbízik benne, de néha furcsa hibákat követ el, mint láttuk.

Természetesen az itt megadott példák nagyon alapvetőek, és a legtöbb programozó elég könnyen meg tudná írni őket, de nem ez a lényeg. Félelmetesen jó megoldást építeni egyszerű feladatokra, és úgy tűnik, hogy az összetettebb feladatokat is rendesen kezeli. Izgatottan várjuk, hogy az ilyen eszközök a jövőben merre haladnak, és segítik az embereket készségeik fejlesztésében.