ChatGPT: n käyttäminen ohjelmointiin Pythonissa, C: ssä ja Javassa

ChatGPT on pelottavan hyvä koodin kirjoittamiseen.

Kaikki ovat kuulleet ChatGPT tässä vaiheessa. Se on tekoälyllä toimiva chatbot, joka käyttää luonnollisen kielen käsittelymalleja tuottaakseen vastauksia monimutkaisiin kysymyksiin. Nämä vastaukset eivät välttämättä aina ole tarkkoja, mutta ne ovat yleensä riittävän yksityiskohtaisia, jotta voit tarkistaa vastaukset, jotka se antaa sinulle melko helposti. Mitä jos ottaisit ChatGPT: n ja yrittäisit kirjoittaa koodia sillä?

Kuten käy ilmi, voit tehdä sen vaihtelevalla menestyksellä riippuen siitä, mitä kieliä haluat käyttää ja mitä haluat saavuttaa niillä. Testasin sen nähdäkseni, kuinka hyvin se pärjäisi eri ohjelmointikielillä erilaisten tehtävien suorittamisessa. En myöskään tee muutoksia ChatGPT: n tuottamaan koodiin, vaan ohjaan sitä vain luomaan toimivan koodin, jos sen luoma koodi ei toimi.

Käytin kolmea jo tuttua kieltä ChatGPT: n testaamiseen: Python, C ja Java. Tulokset olivat erityisen yllättäviä, koska se kamppaili hieman Pythonin kanssa, koska pyysin siltä abstraktia luonnetta, mutta se käsitteli C: n ja Java-perus-Javan helposti. minulla on myös

loi GitHub-arkiston kaikki koodi täällä saatavilla, jotta voit kokeilla sitä itse.

Automaattinen sivun tarkistus Pythonissa

Python on suosikkiohjelmointikieleni, jolla työskentelen, ja se johtuu sen tehosta ja käytön yksinkertaisuudesta. Olen aiemmin kirjoittanut monia työkaluja Pythonilla automatisoidakseni osia työnkulustani, ja tietojenkäsittelytieteen kandidaattityöni tehtiin jopa kokonaan Pythonin kautta. Pyysin ChatGPT: tä kirjoittamaan ohjelman, joka pystyisi tarkistamaan verkkosivun muutosten varalta säännöllisin väliajoin, ja se enimmäkseen teki tempun.

Yllä olevan koodin ongelma, jonka se minulle antaa, on, että se ei simuloi todellista selainta. Verkkosivustot tarkistavat, onko selaimessasi "käyttäjäagentiksi" kutsuttu parametri, ja tämä määrittää, millaista selainta käytät tai oletko robotti. Monet verkkosivustot eivät hyväksy yhteyksiä, jotka eivät määritä käyttäjäagenttia, ja törmäsin tähän, kun osoitin sen XDA: lle. Pyysin sitä lisäämään pyyntöön mukautettuja otsikoita oikean selaimen simuloimiseksi, ja se noudatti.

Yllä annettu koodi toimii staattisille verkkosivustoille, mutta ongelmana on, että suuri osa verkossa lukemastasi sisällöstä on dynaamista. Jos sivu palauttaa nykyisen ajan, esimerkiksi jossain sivulla, yllä oleva koodi kertoo aina, että sivu on muuttunut joka kerta, kun se päivittyy. Kun huomautin tästä ChatGPT: lle, se hämmensi ja antoi minulle täysin väärän ratkaisun ongelmaan.

Yllä oleva on väärä selitys hajautusten toiminnasta. Hajautusarvo on se, että pieni muutos syötteeseen johtaa suureen eroon tiivisteessä, koska kaksi tiivistettä ovat periaatteessa vertaansa vailla. Kun kerroin sille, että se oli virheellinen väite väittää, että tiivisteet olivat paras tapa vertailla ja etsiä muutoksia, se vastasi anteeksipyynnöllä ja antoi minulle jotain, teki tehdä työtä.

Ainoa ongelma, jonka olen havainnut yllä olevasta koodista, on se, että se on suurempien verkkosivustojen kohdalla laskennallisesti kallista, koska se käyttää luonnollisen kielen käsittelyä eron vertailuun ja laskemiseen heidän välillään. Kuitenkin 5 %:n kynnys muuttuneessa sisällössä riittää useimmille verkkosivustoille, jos haluat tarkistaa päivityksiä, ja voit tarvittaessa muuttaa kynnystä. Kesti hetken, mutta lopulta se tuli perille.

On monia syitä, miksi saatat haluta tällaisen verkkokaavin, ja vaikka olemassa on työkaluja, jotka voivat tehdä sen, on hienoa rakentaa oma. Voit käyttää niitä pakettien seurantaan tai minun tapauksessani uusien kiinteistöjen etsimiseen paikallisilta kiinteistösivustoilta.

Salasanageneraattori C: ssä

Koska turvallisuus on viime aikoina ollut muotia, on tärkeää, että käytät suojattuja salasanoja ja käytät myös kaksivaiheista todennusta. Jos sinulla on vaikeuksia suojatun salasanan kanssa, on melko helppoa kirjoittaa salasanageneraattori C-kielellä. ChatGPT hoiti sen melko helposti, ja ainoa havaitsemani ongelma oli, että kun pyysin sitä luomaan salasanageneraattorin, se ei tuonut String C -kirjastoa. Kerroin sen, ja se lisäsi sen tuontiin alussa.

Lisäsin globaalin muuttujan MAX_LENGTH 32 merkkiin 16 merkin sijaan, ja se loi minulle seuraavan salasanan: aW3H0E(&FPQvG8B@4*()+4yRKTKKB#U0O. Turvallista sanoa, että se toimii!

Laskin Java-kielellä

Melko perusohjelma, josta monilla on kokemusta Javasta, on laskimen luominen. Se on yksi varhaisimmista haasteista, joita tietotekniikan tutkijat kohtaavat ohjelmointiuransa aikana, riippumatta siitä, minkä kielen he ottavat ensimmäisenä. Pyysin ChatGPT: tä kirjoittamaan Java-kielellä laskimen, joka käytti ainakin kahta luokkaa, ja se toimi täydellisesti ensimmäisellä yrityksellä.

Tämä on laskimen luokka:

Tämä on pääluokka:

Molempien luokkien luominen IDE: ssäni IntelliJ ja pääluokan suorittaminen johtaa täydellisesti toimivaan laskinohjelma, joka ottaa kaksi numeroa ja operaattorin yhteen-, vähennys-, kerto- tai kertolaskua varten jako.

ChatGPT on hyvä ohjelmoimaan

Vaikka en luottaisi siihen, että ChatGPT tekee kaikkea puolestasi, on selvää, että se voi tehdä melko hyvää työtä ohjelmien luomisessa ja kritiikin huomioimisessa, kun on ongelmia. Olin yllättynyt nähdessäni, että se ehdottaa hajautusalgoritmia tapana erottaa pienet muutokset verkkosivulla, mutta sitä lukuun ottamatta se ei kamppaillut perustehtävien kanssa ollenkaan. Python-ohjelmankin tapauksessa sillä oli alusta alkaen oikea idea ja staattisemmilla sivuilla se olisi toiminut täydellisesti.

ChatGPT ei tietenkään tule lähiaikoina korvaamaan ohjelmoijia, mutta siitä on tulossa erittäin hyvä työkalu työvoimassa. GitHubin kopilottiesimerkiksi käyttää GPT tekniikka auttaa ihmisiä kirjoittamaan koodia, ja se vain kehittyy ajan myötä. Vaikka olisit aloittelija ohjelmoija, tällainen työkalu voisi mahdollisesti auttaa sinua oppimaan, jos voit luottaa siihen täysin, mutta joskus se tekee outoja virheitä, kuten olemme nähneet.

Tietenkin tässä annetut esimerkit ovat hyvin yksinkertaisia, ja useimmat ohjelmoijat pystyisivät kirjoittamaan ne melko helposti, mutta siitä ei ole kysymys. Se on pelottavan hyvä rakentamaan ratkaisuja yksinkertaisiin tehtäviin ja näyttää pärjäävän myös monimutkaisemmissa tehtävissä. Olemme innoissamme nähdessämme, mihin tämänkaltaiset työkalut menevät tulevaisuudessa ja auttavat ihmisiä parantamaan taitojaan.