Kuinka hyvä Chatgpt:n käyttö on ohjelmoinnissa tai ohjelmoinnin harjoittelemisessa? Ehdoton valtaosa netissä olevista materiaaleista on "valitettavasti" englanniksi (mikä on ihan oma vika kun en sitä osaa). Chatgpt:tä voi käyttää suomeksikin. Ja joo toki englantiakin pitää treenata. Tosin sekin vie aikaa niin kuin vie ohjelmoinnin harjoitteleminenkin.
Ja tänne en välttämättä enää kauheasti haluaisi lähettää kysymyksiä edes koodaamiseen liittyen, kun menneisyyteni tällä sivustolla on mikä on.
ChatGPT osaa todella hyvin ohjelmoinnin perusasiat, mutta toisaalta sitä kannattaa käyttää harkiten. Seuraava esimerkki tuo esille ongelman:
lainaus:
Kehote: Haluaisin oppia tekemään Pythonilla ohjelman, joka arpoo lottorivin. Rivissä tulisi olla 7 numeroa väliltä 1-40.
Vastaus: Tämä on mukava ja helppo projekti aloittaa Pythonin kanssa! Voimme luoda ohjelman, joka arpoo satunnaisen lottorivin 7 numeroa väliltä 1–40. Käytämme Pythonin sisäänrakennettua random-moduulia, joka on juuri tähän tarkoitukseen täydellinen.
Tässä on yksinkertainen esimerkki:
import random def arvo_lottorivi(): # Arvotaan 7 uniikkia numeroa väliltä 1-40 lottorivi = random.sample(range(1, 41), 7) lottorivi.sort() # Voimme lajitella numerot nousevaan järjestykseen return lottorivi # Kutsutaan funktiota ja tulostetaan arvottu lottorivi lottorivi = arvo_lottorivi() print("Arvottu lottorivi:", lottorivi)
Ongelmana on, että ChatGPT antaa yleensä mihin tahansa ohjelmointiin liittyvään kehotteeseen vastauksena suoraan valmiin koodin. Tämä ei ole hyvä tapa oppia itsenäistä ohjelmointia ja ongelmanratkaisua.
Kokeilin piruuttani samaa tehtävää, mutta 8th ohjelmointikielellä:
ChatGPT sai aikaiseksi tälläisen Forth ohjelmointikieleltä näyttävän toteutuksen, mikä ei kuitenkaan edes toimisi silläkään ohjelmointikielellä:
; Lotto-rivin arpominen ohjelma (7 numeroa väliltä 1-40) ; Alustetaan satunnaislukugeneraattori RANDOM 0 40 ; Funktio, joka arpoo 7 uniikkia numeroa : ARPOA-LOTTO 7 0 DO RANDOM 1 40 DUP SWAP 0= IF DROP THEN ; Jos numero on jo arvottu, arvo uudestaan SWAP LOOP ; ; Käynnistetään lottoarvonta ARPOA-LOTTO
Yksi toimiva tapa 8th ohjelmointikielellä voisi yksinkertaisesti olla vaikka:
' noop 1 40 a:generate ( a:shuffle 0 7 a:slice ) curry: arvo-lottorivi \ -- a : main arvo-lottorivi . cr ;
Onkohan Forth/8th yleisemminkin liian kova pala purtavaksi tekoälyille?