ChatGPT este îngrozitor de bun la scrierea codului.
Toată lumea a auzit de ChatGPT în această etapă. Este un chatbot alimentat de inteligență artificială care utilizează modele de procesare a limbajului natural pentru a produce răspunsuri la întrebări complicate. Este posibil ca aceste răspunsuri să nu fie neapărat exacte, dar tind să fie suficient de detaliate încât să puteți verifica cu ușurință răspunsurile pe care vi le oferă. Ce se întâmplă dacă ai lua ChatGPT și ai încerca să scrii cod cu el?
După cum se dovedește, este ceva ce poți face cu diferite grade de succes, în funcție de limbile pe care vrei să le folosești și de ceea ce vrei să obții cu ele. L-am pus la încercare pentru a vedea cât de bine s-ar descurca în diferite limbaje de programare pentru a îndeplini diferite sarcini. De asemenea, nu voi face nicio modificare la codul pe care ChatGPT îl produce, îl voi ghida doar pentru a crea cod de lucru dacă codul pe care îl creează nu funcționează.
Am folosit trei limbi cu care sunt deja familiarizat pentru a pune ChatGPT la încercare: Python, C și Java. Rezultatele au fost deosebit de surprinzătoare, deoarece s-a luptat puțin cu Python din cauza naturii abstracte a ceea ce i-am cerut să facă, dar a gestionat C și Java de bază cu ușurință. Am, de asemenea
a creat un depozit GitHub cu tot codul de aici accesibil, astfel încât să îl puteți încerca singur.Verificarea automată a paginii în Python
Python este limbajul meu de programare preferat în care să lucrez și asta datorită puterii pe care o are și simplității sale de utilizare. Am scris multe instrumente în Python în trecut pentru a automatiza părți ale fluxului meu de lucru, iar teza mea de licență în informatică a fost chiar realizată în întregime prin Python. Am cerut ChatGPT să scrie un program care ar putea scana o pagină web pentru modificări periodice, și în cea mai mare parte a făcut trucul.
Problema cu codul de mai sus pe care mi-l oferă este că nu simulează un browser real. Site-urile web verifică un parametru în browser numit „agent de utilizator” și acesta definește ce fel de browser utilizați sau dacă sunteți un bot. Multe site-uri web nu vor accepta conexiuni care nu definesc un agent de utilizator și am dat peste asta când l-am îndreptat către XDA. I-am cerut să adauge antete personalizate la cererea de a simula un browser real și s-a conformat.
Codul de mai sus funcționează pentru site-uri web statice, dar problema este că o mare parte din conținutul pe care îl citiți online este dinamic. Dacă o pagină returnează ora curentă, de exemplu, undeva pe pagină, atunci codul de mai sus va spune întotdeauna că pagina s-a schimbat de fiecare dată când se reîmprospătează. Când am subliniat acest lucru la ChatGPT, s-a încurcat și mi-a oferit o soluție complet incorectă la problemă.
Cele de mai sus sunt o explicație incorectă a modului în care funcționează hashurile. Ideea unui hash este că o modificare minoră a intrării va avea ca rezultat o diferență majoră în hash, prin aceea că două hash-uri sunt practic incomparabile. Când i-am spus că a fost o afirmație incorectă să sugereze că hashurile sunt cea mai bună modalitate de a compara și de a scana modificări, mi-a răspuns scuze și mi-a dat ceva care făcut muncă.
Singura problemă pe care am descoperit-o cu codul de mai sus este că pentru site-urile web mai mari, este costisitoare din punct de vedere computațional, deoarece utilizează procesarea limbajului natural pentru a compara și a calcula diferența între ele. Totuși, un prag de 5% în conținutul modificat este suficient de bun pentru majoritatea site-urilor web dacă doriți să verificați actualizările și puteți ajusta pragul dacă este necesar. A durat ceva timp, dar a ajuns acolo până la urmă.
Există o mulțime de motive pentru care s-ar putea să doriți un răzuitor web ca unul dintre acestea și, deși există instrumente care o pot face, este grozav să-l construiți pe al dvs. Le puteți folosi pentru urmărirea pachetelor sau, în cazul meu, pentru a scana proprietăți noi care se închiriază pe site-uri locale.
Generator de parole în C
Având în vedere că securitatea a făcut furori recent, este important să utilizați parole sigure și, de asemenea, să utilizați autentificarea cu doi factori. Dacă te lupți cu partea sigură a parolei, este destul de ușor să scrii un generator de parole în C. ChatGPT s-a descurcat destul de ușor și singura problemă pe care am descoperit-o a fost că atunci când i-am cerut să creeze un generator de parole, nu a importat biblioteca String C. I-am spus asta și l-a adăugat la importuri la început.
Am crescut variabila globală MAX_LENGTH la 32 de caractere în loc de 16 și mi-a generat următoarea parolă: aW3H0E(&FPQvG8B@4*()+4yRKTKB#U0O. Cu siguranță să spunem că funcționează!
Calculator în Java
Un program destul de de bază cu care mulți oameni au experiență în Java este crearea unui calculator. Este una dintre cele mai timpurii provocări cu care se vor confrunta informaticienii în cariera lor de programare, indiferent de limbajul pe care îl vor folosi prima. Am cerut ChatGPT să scrie un calculator în Java care să folosească cel puțin două clase și a funcționat perfect la prima încercare.
Aceasta este clasa de calculator:
Aceasta este clasa principală:
Crearea ambelor clase în IDE-ul meu, IntelliJ, și executarea clasei principale rezultă într-o funcționare perfectă. program de calculator care include două numere și un operator pentru adunare, scădere, înmulțire sau Divizia.
ChatGPT este decent la programare
Deși nu m-aș baza pe ChatGPT pentru a face totul pentru tine, este clar că poate face o treabă destul de bună la crearea de programe și la luarea în considerare a criticilor atunci când există probleme. Am fost surprins să văd că sugerează un algoritm de hashing ca o modalitate de a discerne între modificările minore dintr-o pagină web, dar în afară de asta, nu a avut probleme cu sarcinile de bază. Chiar și în cazul programului Python, a avut ideea potrivită de la bun început și, pe pagini mai statice, ar fi funcționat perfect.
Desigur, ChatGPT nu va înlocui programatorii în curând, dar este pe cale să devină un instrument foarte bun în forța de muncă. Copilotul GitHub, de exemplu, folosește GPT tehnologie pentru a ajuta oamenii să scrie cod și va deveni mai avansat pe măsură ce timpul trece. Chiar dacă ești un programator începător, acest tip de instrument te-ar putea ajuta să înveți dacă ai putea avea încredere deplină în el, dar uneori face greșeli ciudate, așa cum am văzut.
Desigur, exemplele date aici sunt foarte de bază, iar majoritatea programatorilor ar putea să le scrie destul de ușor, dar nu acesta este ideea. Este îngrozitor de bun la construirea de soluții la sarcini simple și pare să se ocupe decent și de sarcini mai complexe. Suntem încântați să vedem unde vor ajunge instrumente ca acestea în viitor și să îi ajutăm pe oameni să-și îmbunătățească abilitățile.