ChatGPT kasutamine Pythonis, C-s ja Javas programmeerimiseks

ChatGPT on koodi kirjutamisel kohutavalt hea.

Kõik on kuulnud ChatGPT selles etapis. See on AI-toega vestlusbot, mis kasutab keerulistele küsimustele vastuste loomiseks loomulikke keeletöötlusmudeleid. Need vastused ei pruugi alati olla täpsed, kuid kipuvad olema piisavalt üksikasjalikud, et saaksite vastuseid üsna lihtsalt kontrollida. Mis siis, kui võtaksite ChatGPT ja prooviksite sellega koodi kirjutada?

Nagu selgub, saate seda teha vahelduva eduga, olenevalt keeltest, mida soovite kasutada ja mida soovite nendega saavutada. Panin selle proovile, et näha, kui hästi see erinevates programmeerimiskeeltes erinevate ülesannete täitmisel hakkama saab. Samuti ei muuda ma ChatGPT-i loodud koodi, vaid juhin seda ainult töötava koodi loomisel, kui loodud kood ei tööta.

Kasutasin ChatGPT testimiseks kolme mulle juba tuttavat keelt: Python, C ja Java. Tulemused olid eriti üllatavad, kuna sellel oli Pythoniga pisut raskusi selle abstraktse olemuse tõttu, mida ma talt palusin, kuid see käsitles C-d ja põhilist Java hõlpsalt. mul on ka

lõi GitHubi hoidla kogu kood siin on juurdepääsetav, et saaksite seda ise proovida.

Automaatne lehekontroll Pythonis

Python on minu lemmikprogrammeerimiskeel, milles töötada, ja seda tänu selle võimsusele ja kasutuslihtsusele. Olen varem kirjutanud Pythonis palju tööriistu oma töövoo osade automatiseerimiseks ja minu arvutiteaduse bakalaureusetöö tehti isegi täielikult Pythoni kaudu. Palusin ChatGPT-l kirjutada programm, mis suudaks veebilehte perioodiliselt ajastatud muudatuste osas skannida, ja see sai enamasti asja ära.

Probleem ülaltoodud koodiga, mille see mulle annab, on see, et see ei simuleeri tõelist brauserit. Veebisaidid kontrollivad teie brauseris parameetrit, mida nimetatakse "kasutajaagendiks", ja see määrab, millist brauserit te kasutate või kas olete robot. Paljud veebisaidid ei aktsepteeri ühendusi, mis ei määratle kasutajaagenti, ja ma sattusin sellesse, kui osutasin sellele XDA-le. Palusin tal lisada päringule kohandatud päised, et simuleerida tõelist brauserit, ja see järgis.

Ülaltoodud kood töötab staatiliste veebisaitide puhul, kuid probleem on selles, et suur osa veebis loetavast sisust on dünaamiline. Kui leht tagastab praeguse kellaaja, näiteks kuskil lehel, siis ülalolev kood ütleb alati, et leht on muutunud iga kord, kui seda värskendatakse. Kui ma sellele ChatGPT-le tähelepanu juhtisin, läks see segadusse ja andis mulle probleemile täiesti vale lahenduse.

Ülaltoodu on vale selgitus räside toimimise kohta. Räsi mõte seisneb selles, et sisendi väike muudatus toob kaasa räsi olulise erinevuse, kuna kaks räsi on põhimõtteliselt võrreldamatud. Kui ma ütlesin talle, et see on vale väide väita, et räsid on parim viis muudatuste võrdlemiseks ja otsimiseks, vastas ta vabandusega ja andis mulle midagi, tegid tööd.

Ainus probleem, mille ma ülaltoodud koodiga avastasin, on see, et suuremate veebisaitide puhul on see nii arvutuslikult kallis, kuna kasutab erinevuse võrdlemiseks ja arvutamiseks loomulikku keeletöötlust nende vahel. Siiski on muudetud sisu 5% lävi enamiku veebisaitide jaoks piisavalt hea, kui soovite värskendusi kontrollida, ja saate künnist vajadusel kohandada. Läks natuke aega, aga lõpuks jõudis kohale.

Sellist veebikaabitsat võiksite soovida paljudel põhjustel ja kuigi on olemas tööriistu, mis seda suudavad, on lahe ise luua. Saate neid kasutada pakkide jälgimiseks või minu puhul uute kinnisvaraobjektide otsimiseks, mida kohalikel kinnisvarasaitidel üüritakse.

Parooligeneraator C-s

Kuna turvalisus on viimasel ajal moes, on oluline kasutada turvalisi paroole ja kasutada ka kahefaktorilist autentimist. Kui teil on probleeme turvalise parooliosaga, on C-vormingus parooligeneraatori kirjutamine üsna lihtne. ChatGPT sai sellega üsna hõlpsalt hakkama ja ainus probleem, mille avastasin, oli see, et kui palusin tal luua parooligeneraatori, ei importinud see String C teeki. Ma ütlesin seda ja see lisas selle alguses impordile.

Suurendasin globaalse muutuja MAX_LENGTH 16 märgi asemel 32 märgini ja see genereeris mulle järgmise parooli: aW3H0E(&FPQvG8B@4*()+4yRKTKKB#U0O. Etteruttavalt võib öelda, et see töötab!

Kalkulaator Java keeles

Päris põhiprogramm, millega paljudel inimestel Javaga kogemusi on, on kalkulaatori loomine. See on üks varasemaid väljakutseid, millega arvutiteadlased oma programmeerimiskarjääri jooksul kokku puutuvad, olenemata sellest, millise keele nad esimesena kasutusele võtavad. Palusin ChatGPT-l kirjutada Java keeles kalkulaator, mis kasutas vähemalt kahte klassi, ja see töötas esimesel katsel suurepäraselt.

See on kalkulaatori klass:

See on põhiklass:

Nende mõlema klassi loomine minu IDE-s IntelliJ ja põhiklassi käivitamine annab suurepäraselt toimiva kalkulaator, mis võtab kaks arvu ja operaatori liitmiseks, lahutamiseks, korrutamiseks või jaotus.

ChatGPT on programmeerimises korralik

Kuigi ma ei loodaks ChatGPT-le, et kõik teie eest ära teeks, on selge, et see saab päris hästi hakkama programmide loomisel ja probleemide korral kriitikaga arvestamisel. Olin üllatunud, kui nägin, et see soovitab veebilehel väiksemate muudatuste eristamiseks räsimise algoritmi, kuid peale selle ei olnud see elementaarsemate ülesannetega hädas. Isegi Pythoni programmi puhul oli sellel algusest peale õige idee ja staatilisematel lehtedel oleks see suurepäraselt töötanud.

Muidugi ei asenda ChatGPT niipea programmeerijaid, kuid see on muutumas väga heaks tööriistaks tööjõus. GitHubi kopilootkasutab näiteks GPT tehnoloogia, mis aitab inimestel koodi kirjutada, ja see muutub aja möödudes ainult paremaks. Isegi kui olete algaja programmeerija, võib selline tööriist aidata teil õppida, kui saaksite seda täielikult usaldada, kuid mõnikord teeb see veidraid vigu, nagu oleme näinud.

Muidugi on siin toodud näited väga lihtsad ja enamik programmeerijaid suudaks need üsna lihtsalt kirjutada, kuid see pole asja mõte. See on kohutavalt hea lihtsate ülesannete lahenduste loomisel ja tundub, et saab ka keerukamate ülesannetega korralikult hakkama. Meil on hea meel näha, kuhu sellised tööriistad tulevikus lähevad ja aitavad inimestel oma oskusi parandada.