ChatGPT siaubingai gerai rašo kodą.
Visi girdėjo ChatGPT šioje stadijoje. Tai dirbtinio intelekto valdomas pokalbių robotas, kuris naudoja natūralios kalbos apdorojimo modelius, kad pateiktų atsakymus į sudėtingus klausimus. Tie atsakymai nebūtinai visada yra tikslūs, tačiau jie yra pakankamai išsamūs, kad galėtumėte gana lengvai patikrinti atsakymus. Ką daryti, jei paimtumėte „ChatGPT“ ir pabandytumėte su juo parašyti kodą?
Pasirodo, tai yra kažkas, ką galite padaryti su skirtinga sėkme, priklausomai nuo kalbų, kurias norite naudoti, ir tai, ką norite jomis pasiekti. Išbandžiau, kad pamatyčiau, kaip sėkmingai atlikti įvairias užduotis skirtingomis programavimo kalbomis. Taip pat neatliksiu jokių „ChatGPT“ kuriamo kodo pakeitimų, tik nurodysiu jam sukurti veikiantį kodą, jei jo sukurtas kodas neveiks.
Bandydamas ChatGPT naudojau tris man jau pažįstamas kalbas: Python, C ir Java. Rezultatai buvo ypač stebinantys, nes jis šiek tiek vargo su Python dėl abstraktaus to, ką aš jo prašiau, tačiau jis lengvai susidorojo su C ir pagrindine Java. as taip pat turiu
sukūrė „GitHub“ saugyklą su visu čia esančiu kodu, kad galėtumėte tai išbandyti patys.Automatinis puslapio tikrinimas Python
Python yra mano mėgstamiausia programavimo kalba, kuria naudojuosi, ir tai yra dėl jos turimos galios ir naudojimo paprastumo. Praeityje „Python“ parašiau daug įrankių, kad galėčiau automatizuoti kai kurias savo darbo eigos dalis, o mano informatikos bakalauro darbas netgi buvo atliktas tik per Python. Paprašiau „ChatGPT“ parašyti programą, kuri galėtų periodiškai nuskaityti tinklalapį dėl pakeitimų, ir dažniausiai tai padarė.
Pirmiau pateikto kodo problema, kurią jis man suteikia, yra ta, kad jis neimituoja tikros naršyklės. Svetainės tikrina, ar jūsų naršyklėje yra parametras, vadinamas „vartotojo agentu“, ir tai apibrėžia, kokią naršyklę naudojate, ar esate robotas. Daugelis svetainių nepriims jungčių, kurios neapibrėžia vartotojo agento, ir aš susidūriau su tuo, kai nukreipiau jį į XDA. Paprašiau pridėti pasirinktines antraštes prie užklausos imituoti tikrą naršyklę, ir ji atitiko.
Aukščiau pateiktas kodas tinka statinėms svetainėms, tačiau problema ta, kad didžioji dalis internete skaitomo turinio yra dinamiška. Jei puslapis grąžina dabartinį laiką, pavyzdžiui, kurioje nors puslapio vietoje, aukščiau pateiktas kodas visada sakys, kad puslapis pasikeitė kiekvieną kartą, kai jis atnaujinamas. Kai tai nurodžiau „ChatGPT“, jis susipainiojo ir davė man visiškai neteisingą problemos sprendimą.
Aukščiau pateiktas neteisingas maišos veikimo paaiškinimas. Maišos esmė ta, kad nedidelis įvesties pakeitimas lems didelį maišos skirtumą, nes dvi maišos iš esmės yra nepalyginamos. Kai pasakiau, kad teiginys, kad maišos yra geriausias būdas palyginti ir nuskaityti pakeitimus, yra neteisingas, jis atsiprašė ir man pasakė, kad padarė dirbti.
Vienintelė problema, kurią atradau naudodamas aukščiau pateiktą kodą, yra ta, kad didesnėms svetainėms tai yra skaičiuojant brangu, nes skirtumui palyginti ir apskaičiuoti naudojamas natūralios kalbos apdorojimas tarp jų. Vis dėlto 5 % pakeisto turinio slenkstis yra pakankamai geras daugeliui svetainių, jei norite patikrinti, ar yra naujinimų, ir, jei reikia, galite koreguoti slenkstį. Prireikė šiek tiek laiko, bet galiausiai viskas įvyko.
Yra daugybė priežasčių, kodėl galbūt norėsite tokio žiniatinklio grandiklio, ir nors yra įrankių, galinčių tai padaryti, puiku sukurti savo. Galite naudoti juos siuntiniams sekti arba, mano atveju, ieškoti naujų nekilnojamojo turto objektų, kurie nuomojami vietinėse nuosavybės svetainėse.
Slaptažodžių generatorius C
Kadangi saugumas pastaruoju metu yra labai populiarus, svarbu naudoti saugius slaptažodžius ir dviejų veiksnių autentifikavimą. Jei susiduriate su saugaus slaptažodžio dalimi, gana lengva sukurti slaptažodžių generatorių C. „ChatGPT“ su tuo susitvarkė gana lengvai, o vienintelė problema, kurią atradau, buvo ta, kad kai paprašiau sukurti slaptažodžių generatorių, jis neimportavo „String C“ bibliotekos. Aš tai pasakiau, ir pradžioje jis įtraukė į importą.
Padidinau MAX_LENGTH visuotinį kintamąjį iki 32 simbolių, o ne 16, ir jis man sugeneravo tokį slaptažodį: aW3H0E(&FPQvG8B@4*()+4yRKTKKB#U0O. Galima drąsiai teigti, kad tai veikia!
Skaičiuoklė Java
Gana pagrindinė programa, kurią daugelis žmonių turi Java programoje, yra skaičiuotuvo kūrimas. Tai vienas iš pirmųjų iššūkių, su kuriais susidurs kompiuterių mokslininkai savo programuotojo karjeroje, nesvarbu, kokią kalbą jie išmoks pirmiausia. Paprašiau „ChatGPT“ parašyti „Java“ skaičiuotuvą, kuriame būtų naudojamos mažiausiai dvi klasės, ir jis puikiai veikė pirmuoju bandymu.
Tai yra skaičiuotuvo klasė:
Tai yra pagrindinė klasė:
Sukūrus abi šias klases mano IDE, IntelliJ ir vykdant pagrindinę klasę, gaunamas tobulas darbas. skaičiuoklės programa, kuri paima du skaičius ir operatorių, skirtą sudėti, atimti, dauginti arba padalinys.
ChatGPT puikiai moka programuoti
Nors nepasitikėčiau, kad „ChatGPT“ viską padarys už jus, akivaizdu, kad jis gali puikiai atlikti programų kūrimą ir atsižvelgti į kritiką iškilus problemoms. Nustebau pamatęs, kad jis siūlo maišos algoritmą, kaip būdą atskirti nedidelius tinklalapio pakeitimus, tačiau, be to, jis niekaip nesusidorojo su pagrindinėmis užduotimis. Net ir Python programos atveju ji nuo pat pradžių turėjo teisingą idėją ir statiškesniuose puslapiuose būtų veikusi puikiai.
Žinoma, „ChatGPT“ artimiausiu metu tikrai nepakeis programuotojų, tačiau netrukus jis taps labai geru įrankiu. „GitHub“ antrasis pilotas, pavyzdžiui, naudojasi GPT technologija, padedanti žmonėms rašyti kodą, ir laikui bėgant ji tik tobulės. Net jei esate pradedantysis programuotojas, toks įrankis gali padėti mokytis, jei galėtumėte juo visiškai pasitikėti, tačiau kartais jis daro keistų klaidų, kaip matėme.
Žinoma, čia pateikti pavyzdžiai yra labai paprasti, ir dauguma programuotojų galėtų juos gana lengvai parašyti, bet ne tai. Jis siaubingai gerai kuria paprastų užduočių sprendimus ir, atrodo, puikiai susidoroja su sudėtingesnėmis užduotimis. Džiaugiamės galėdami pamatyti, kur tokie įrankiai bus naudojami ateityje ir padės žmonėms tobulinti savo įgūdžius.