ChatGPT izmantošana programmēšanai Python, C un Java

ChatGPT šausmīgi labi prot rakstīt kodu.

Visi ir dzirdējuši par ChatGPT šajā posmā. Tas ir ar AI darbināms tērzēšanas robots, kas izmanto dabiskās valodas apstrādes modeļus, lai sniegtu atbildes uz sarežģītiem jautājumiem. Šīs atbildes ne vienmēr var būt precīzas, taču tās mēdz būt pietiekami detalizētas, lai jūs varētu diezgan viegli pārbaudīt atbildes, kuras tas sniedz. Kā būtu, ja jūs izmantotu ChatGPT un mēģinātu rakstīt kodu ar to?

Kā izrādās, tas ir kaut kas, ko jūs varat darīt ar dažādiem panākumiem atkarībā no valodām, kuras vēlaties izmantot, un to, ko vēlaties ar tām sasniegt. Es to pārbaudīju, lai redzētu, cik labi tas varētu veikt dažādus uzdevumus dažādās programmēšanas valodās. Es arī neveicu nekādas izmaiņas kodā, ko rada ChatGPT. Es tikai norādīšu tam izveidot strādājošu kodu, ja tā izveidotais kods nedarbosies.

Es izmantoju trīs valodas, kuras jau pazīstu, lai pārbaudītu ChatGPT: Python, C un Java. Rezultāti bija īpaši pārsteidzoši, jo tas nedaudz cīnījās ar Python, jo tas, ko es tam prasīju, bija abstrakts, taču tas viegli tika galā ar C un pamata Java. Man arī ir

izveidoja GitHub repozitoriju ar visu šeit pieejamo kodu, lai jūs varētu to izmēģināt pats.

Automātiska lapu pārbaude Python

Python ir mana iecienītākā programmēšanas valoda, kurā strādāt, un tas ir pateicoties tās jaudai un lietošanas vienkāršībai. Es iepriekš esmu rakstījis daudzus rīkus Python, lai automatizētu savas darbplūsmas daļas, un mans bakalaura darbs datorzinātnēs pat tika pilnībā izveidots, izmantojot Python. Es palūdzu ChatGPT uzrakstīt programmu, kas varētu periodiski skenēt tīmekļa lapu, lai meklētu izmaiņas, un lielākoties tas izdevās.

Problēma ar iepriekš minēto kodu, ko tas man sniedz, ir tāda, ka tas neatveido īstu pārlūkprogrammu. Vietnes pārbauda jūsu pārlūkprogrammā parametru, ko sauc par "lietotāja aģentu", un tas nosaka, kāda veida pārlūkprogrammu izmantojat vai esat robots. Daudzas vietnes nepieņems savienojumus, kas nedefinē lietotāja aģentu, un es saskāros ar to, kad es to norādīju uz XDA. Es lūdzu tai pievienot pielāgotas galvenes pieprasījumam, lai simulētu īstu pārlūkprogrammu, un tas tika izpildīts.

Iepriekš norādītais kods darbojas statiskām vietnēm, taču problēma ir tā, ka liela daļa tiešsaistē lasītā satura ir dinamiska. Ja lapa atgriež pašreizējo laiku, piemēram, kaut kur lapā, tad iepriekš minētais kods vienmēr norāda, ka lapa ir mainījusies katru reizi, kad tā tiek atsvaidzināta. Kad es to norādīju ChatGPT, tas apmulsa un deva man pilnīgi nepareizu problēmas risinājumu.

Iepriekš minētais ir nepareizs skaidrojums par to, kā darbojas jaucējfunkcijas. Jaukšanas jēga ir tāda, ka nelielas izmaiņas ievadē radīs būtiskas atšķirības jaucējkodā, jo divas jaukšanas būtībā ir nesalīdzināmas. Kad es teicu, ka ir nepareizs apgalvojums, ka jaucējkods ir labākais veids, kā salīdzināt un meklēt izmaiņas, tā atbildēja ar atvainošanos un sniedza man kaut ko tādu. izdarīja strādāt.

Vienīgā problēma, ko esmu atklājis ar iepriekš minēto kodu, ir tā, ka lielākām vietnēm tā ir skaitļošanas ziņā dārgi, jo izmanto dabiskās valodas apstrādi, lai salīdzinātu un aprēķinātu starpību starp viņiem. Tomēr 5% slieksnis mainītajā saturā ir pietiekami labs lielākajai daļai vietņu, ja vēlaties pārbaudīt, vai nav atjauninājumu, un vajadzības gadījumā varat pielāgot slieksni. Pagāja kāds laiciņš, bet beigās sanāca.

Ir daudz iemeslu, kāpēc jūs varētu vēlēties tādu tīmekļa skrāpi, kā viens no šiem, un, lai gan ir pieejami rīki, kas to var izdarīt, ir lieliski izveidot savu. Varat tos izmantot, lai izsekotu sūtījumus vai, manā gadījumā, meklētu jaunus īpašumus, kas tiek izīrēti vietējā īpašuma vietnēs.

Paroles ģenerators valodā C

Tā kā drošība pēdējā laikā ir populāra, ir svarīgi izmantot drošas paroles un izmantot arī divu faktoru autentifikāciju. Ja jums ir problēmas ar drošās paroles daļu, ir diezgan viegli uzrakstīt paroļu ģeneratoru valodā C. ChatGPT ar to tika galā diezgan viegli, un vienīgā problēma, ko atklāju, bija tāda, ka, kad es tai palūdzu izveidot paroļu ģeneratoru, tas neimportēja String C bibliotēku. Es to pateicu, un sākumā tas pievienoja importam.

Es palielināju globālo mainīgo MAX_LENGTH līdz 32 rakstzīmēm, nevis 16, un tas man ģenerēja šādu paroli: aW3H0E(&FPQvG8B@4*()+4yRKTKKB#U0O. Droši var teikt, ka tas darbojas!

Kalkulators Java valodā

Diezgan vienkārša programma, ar kuru daudziem cilvēkiem ir pieredze Java, ir kalkulatora izveide. Tas ir viens no agrākajiem izaicinājumiem, ar ko datorzinātnieki saskarsies savā programmēšanas karjerā, neatkarīgi no tā, kādu valodu viņi vispirms pārņems. Es palūdzu ChatGPT uzrakstīt Java kalkulatoru, kurā tika izmantotas vismaz divas klases, un pirmajā mēģinājumā tas darbojās lieliski.

Šī ir kalkulatora klase:

Šī ir galvenā klase:

Izveidojot abas šīs klases manā IDE, IntelliJ, un izpildot galveno klasi, tiek iegūts nevainojams darbs. kalkulatora programma, kas ņem divus skaitļus un operatoru saskaitīšanai, atņemšanai, reizināšanai vai nodaļa.

ChatGPT labi programmē

Lai gan es nepaļautos uz ChatGPT, kas visu izdarīs jūsu vietā, ir skaidrs, ka tas var veikt diezgan labu darbu, veidojot programmas un ņemot vērā kritiku, ja rodas problēmas. Es biju pārsteigts, redzot, ka tajā tiek ieteikts jaukšanas algoritms kā veids, kā atšķirt nelielas izmaiņas tīmekļa lapā, taču, ja neskaita to, tas nekādi nespēja veikt pamata uzdevumus. Pat Python programmas gadījumā tai jau no paša sākuma bija pareiza ideja, un statiskākās lapās tā būtu strādājusi lieliski.

Protams, ChatGPT drīzumā neaizstās programmētājus, taču tas ir ceļā uz ļoti labu rīku darbaspēkam. GitHub kopilots, piemēram, izmanto GPT tehnoloģija, kas palīdz cilvēkiem rakstīt kodu, un laika gaitā tā kļūs tikai progresīvāka. Pat ja esat iesācējs programmētājs, šāda veida rīks varētu palīdzēt jums mācīties, ja tam pilnībā uzticaties, taču dažreiz tas pieļauj dīvainas kļūdas, kā mēs esam redzējuši.

Protams, šeit sniegtie piemēri ir ļoti vienkārši, un vairums programmētāju varētu tos uzrakstīt diezgan viegli, taču tas nav galvenais. Tas ir šausmīgi labi, veidojot risinājumus vienkāršiem uzdevumiem, un šķiet, ka tas lieliski tiek galā arī ar sarežģītākiem uzdevumiem. Mēs priecājamies redzēt, kur šādi rīki nonāks nākotnē un palīdzēs cilvēkiem uzlabot savas prasmes.