Arvutitest, muusikast, kokandusest ja keeleõppest
Olen
oma olemuselt üsna teoreetiline inimene ja seda olemust on raske
muuta. Mulle meeldivad paksud ja põhjalikud raamatud, isegi kui ma
ei ole enamasti neid suutnud lõpuni läbi lugeda.
Mulle meeldib olla informeeritud ja mulle ei meeldi tegelda asjadega, kus on hea ports küsimusi, millest ma aru ei saa. Siis oleks hea kaevata, küsimus küsimuse järel, näiteks annab Internet selleks võimalusi, seni, kuni tundmatuid küsimusi enam ei ole jäänud.
Mulle meeldib olla informeeritud ja mulle ei meeldi tegelda asjadega, kus on hea ports küsimusi, millest ma aru ei saa. Siis oleks hea kaevata, küsimus küsimuse järel, näiteks annab Internet selleks võimalusi, seni, kuni tundmatuid küsimusi enam ei ole jäänud.
Matemaatikas
selline meetod (kohati) töötab ja sealgi mitte väga hästi -
hobimatemaatikas hästi, professionaalse matemaatiku puhul enam mitte
- paljud teoreemid ja tulemid tuleb võtta omaks usu põhiselt, olgu
näiteks siin nelja värvi probleem või mõni muu sarnane teema.
Usk
on matemaatikas oluline.
Aga
see konkreetne teoreem või probleem, millega tegeled, tuleb
pulkadeni lahti võtta.
Arvutite
programmeerimine siin omab mingit ühist osa matemaatikaga.
Aga
vastu tahtmist olen sunnitud tunnistama, et veel rohkem omab see
kummaline käsitöö sarnasust kokandusega.
Kõige
loetavamad ja kasulikumad arvutiraamatud on head retseptikogumikud,
mitte loogiliselt ülesehitatud tellised.
Ja programmeerimine on
ka lingvistika,
selleni tõi mind põgus tutvus Perl-iga,
mille loojale Larry Wallile võlgneme tänu selle tõsiasja
allakriipsutamise eest.
See
töö on tegelikult pidev
tõlkimine. 2 programmeerijat peavad suhtlema omavahel võõras
keeles, mis ei ole nende emakeel ja karmiks kriitikuks on nende vahel
arvuti, kes mõne lause kuulutab vääraks, mõne õigeks.
Selle
(eelkõige, nagu lõpuks
selgub) omavahelise ja
arvutiga suhtlemise eesmärk on panna arvutit väljendama ennast
inimese moodi mingis kolmandas keeles, mida peab mõistma selle
programmi kasutaja. Viimane
- kasutaja rahulolu - võiks olla isegi kõige tähtsam, kuid sinnani
jõudmiseks on ees väga pikk tee.
Mõnikord
kuulutatakse laused vääraks või õigeks väga pika aja möödudes,
enamasti aga ei ole võimalik päris vigase keelega arvutile ligi
pääseda. Selles mõttes on see halastamatu keeleõpe.
Omamoodi hea ka, peab
hakkama vähemalt grammatiliselt õieti rääkima, kuigi võib selle
juures väljutada
igasuguseid rumalusi.
Ja
nii jõuame sarnasuseni muusika mängimisega, kus
instrument ei talu vigast mängu silma otsaski.
Mõnikord ehk on mingit
sarnasust loomisega, aga
enamasti mängimisega, improviseeridas ad nauseam tuntud teemadel
ikka ja jälle.
Improviseerimiseks
saab seda algaja puhul lugeda sama palju, kui sai lugeda
improviseerimiseks koerapolka mängimist minu
kooliajal vahetundidel
kusagil koridorinurka unustatud klaveritel. See oli NL aja omapära -
iga kooli mõnes nurgas vedeles mõni vana klaver. Seal tavaliselt
mängit vahetunniti koerapolkat, mõnikord kahel käel. See
oli juba tegija, kes niigi kaugele oli jõudnud.
Ja
nii jõuame ka sarnasuseni muusika ja kokkamisega - see on
harjutamine, vahel ad nauseam.
Tõsi,
ärge nüüd jõudke Paganinini, kes olevat 14 tundi päevas
harjutanud, või Richterini,
kelle kohta tänase päevani häbematult valetatakse, kuidas ta oli
kogu aeg etüüde
harjutanud.
Ma
arvan, et need geeniused harjutasid ja lõid ühteaegu. Richter ei
ole oma elus MITTE ÜHTEGI ETÜÜDI mänginud (Samad sõna Argerichi
kohta, Paganinilt ei ole saadud küsida).
Richter mängis kohe algusest peale tõsiseid klaveripalu.
Aga
et nad mängisid, iga päev mängisid, tunde, see
on küll õige.
Koka
kohta ei olegi võimalik öelda, et ta on kokk, kui ta ei õienda
piisavalt kaua köögis.
Ühtegi
keelt ei saa selgeks käsiraamatuid lugedes. Ka
arvutikeelt. Ühegi keele selgekssaamise tunnuseks ei ole
käsiraamatute teadmine, vaid rääkimise ja mõtlemise oskus selles
keeles.
Pigem
enamik autojuhte liikluseeskirju väga hästi ei tunnegi. Ometi mõned
oskavad sõita, mõned ei oska.
Kõige kiiremini aga õpib ujuma vette viskamise meetodil, või keelt ikkagi selle vana keelekümbluse meetodil.
Kõige kiiremini aga õpib ujuma vette viskamise meetodil, või keelt ikkagi selle vana keelekümbluse meetodil.
Ei
ole aga jonnakamat suhtlusparnterit, kui arvuti. Tõsi, selle taga on
loodetavasti juba täna, võis siis homme teie kolleeg, kes peab teie
koodi sööma, mis eeldatavalt on läbinud arvuti suhtlustesti -
arvuti on saanud teie asjadest aru.
Siin
on asjad sarnased köögiga, kus kõik võib ootamatult kergesti
untsu minna.
Kahe inimese vaheline kommunikatsioon on sellega võrreldes uskumatu tolerantsiga. Üksteisest aru saadakse isegi siis, kui suhtlejad ei oska üksteise keelt peaaegu üldse.
Kahe inimese vaheline kommunikatsioon on sellega võrreldes uskumatu tolerantsiga. Üksteisest aru saadakse isegi siis, kui suhtlejad ei oska üksteise keelt peaaegu üldse.
Arvutil
ja praepannil aga puudub intelligents ja te peate olema tunduvalt
kannatlikumad. Vahel ei jäägi muud üle, kui rida realt uurida
manuaali ja veenduda, et arvutil oli õigus (tal on alati õigus,
nagu ka praepannil).
Kuhu
ma tahan selle jutuga välja jõuda?
Ikka
selleni, et kõige paremini õpib kokkama köögis, mitte Jamie
Olivieri saateid jälgides. Aga kui pärast kõva rahmeldamist ja
kõikide kookide untsukeeramist viitsite selle kokkamise virtuoosi
tegemisi jälgida, võib teist ehk veel asja saada.
Ja
te peate saama köögis reaalselt asju untsu keerata, reaalseid
ülesandeid täita, mitte pelmeene soojendada. Väga paljud õpikud
teevad vaid seda ja kui olete need läbi närinud, avastate
üllatusega, et peale keeruliste grammatikakonstruktsioonide ei ole
teil mitte midagi.
Nagu
Gunnar Graps laulis - jällegi vaid tühjad pihud...
Oskate
C#-s pelmeene keeta, oskate seda teha Perlis ja javaScriptis, oskate
isegi .bat keeles pelmeene soojendada.
Aga
kokata ei oska.
Siin
ma ei oska algul muud soovitada,endale ja teistele, kui
muusika/koka/keeltekooli vana ja väga vastikut paradigmat:
õppimine
klaveripalade / ülesannete stiilis. Vahel võib juurde õpetada ka
mõne uue grammatikaelemendi või programmide
teegi või misiganes asja.
Aga kõige selle vahepeal peab olema aeg, mis kulub ära instrumendi,
s.t. arvuti taga vaeveldes,
seda vahel päris
ilma igasuguse kõrvalise abita.
Võite
aeg ajalt muidugi käia õppevideosid
luuramas-puurimas, aga see aeg tuleb arvuti taga ära istuda ja välja
mõelda / sõrmedesse saada see või teine liigutus. See
on nagu sportlasel läbitud kilometraaz ja sellest ei pääse üle
ega ümber.
Ja
see aeg peab olema SUUREM KUI 50% minimaalselt arvutiteadusele
pühendatud ajast.
Kui
see % väiksem,
siis olete oma aega kasutult raisanud.
Siin
aga kerkib hoopis ootamatu mure - kust neid klaveripalu
arvutimaailmas võtta?
Erinevalt
muusikust, kes orkestris peab mängima etteantud noodi järgi, väga
täpselt, aga ka loominguliselt siiski, on programeerija enamasti
improviseerija. Aga et seda hästi tegema
õppida, peab tal olema
siiski mingi lähtematerjal.
Muusikas
on lõputu hulk teemasid, noote, palu. Harjuta ogaruseni!
Programmeerimises
on aga ogaruseni
manuaale, mis õpetavad mängima “rong see sõitis tsuhh tsuhh
tsuhh pala”, seda tuhandetel erinevatel instrumentidel. Aga pala on
sama.
Ja
mis veel hullem, programmeerijad ise eeldavad üksteiselt, et nad
kirjutavadki selliseid manuaale!
Tahate
programeerimist õppida luas? Ikka see üks ja ainumas pala - Kuidas
ma kirjutan hello worldi? -
Seejärel tuleb “põnev probleem”,
kuidas ma kirjutan programmi, mis kasutajalt John küsib tema nime ja
siis
ütleb, hallo, kuidas elad John...
Ja
loomulikult celsiuste ja fahrenheitide konversooniülesanne...
Homme
aga õpime rongisõitu mängima hoopis “Julia-s”. Või Scheme-s
... või Java-s.
Sellele
loole leidus kunagi erand - Andrew Tanenbaum kirjutas kunagi päris
terve suure raamatu operatsioonisüsteemist Minix ja
avaldas koos koodiga.
Selle
tagajärjel sündis LINUX.
Pisut
leevendab etüüdide muret avatud lähtekoodiga tarkvara, aga enamik
nendest pakettidest on tänaseks veninud välja täiesti
loetamatuteks monstrumiteks. Õppeotstarbel saaks neist kasutada vaid
esimesi versioone, aga need on ammu vajunud aegade hämarusse ...
Kuid isegi kõige banaalsemate foo ja baridega jantimine läbi isikliku 10 sõrme on tunduvalt efektiivsem, kui sama asja kopeerimine ja peistimine. Igatahes mina olen mingis uues arvutikeeles võimeline tegema läbi peaaegu kõik võimalikud ja võimatud grammatikavead, mis on võimalik teha ja alles siis hakkavad sõrmed normaalselt tööle. Reflekse aga ei omandata 10 minutiga või isegi mitte 2 tunniga.
Imelik,
et tegevus, mis on kutsutud ellu teiste inimeste tüütuid rutiine
kaotama, on ise seotud selle omandamise- ja ka edasise
praktiseerimise mõttes küllaltki rutiinsete mõtte- ja
sõrmekäikudega.
Seetõttu
ärge uskuge pettureid, kes teid küll 1 tunni, mõni koguni 10
minutiga, mõni 24 tunniga, midagi tegema õpetavad.
Kui
te olete Mozart, siis olete seda juba lapsest saadik osanud. Kui te
aga ei ole?
Sry,
olete vaid järjekordse petturi lüpsilehm, kes heauskselt kalli
raamatu omandamise järel veendub, et isegi mitte 56 tunniga ei ole
ta veel midagi selgeks saanud. Võib-olla oleksite kaugemale jõudnud,
kui oma kulutatud 56-st tunnist oleksite pühendanud vähemalt 40 ise
pusimisele.
Seda
aga mingi reaalse ülesande lahendamise käigus.
Üritan
selle jutu lõpetuseks ennast motiveerida nädalavahetustel kirjutama
just midagi sellist, mida oleks endale vaja - serverit, kuhu saaks
üles ja alla laadida pilte. Oma kodus, arvutitest-mobiilidest A, B,
C serverile D. Üle html-i.
Olgu
näiteks ühes otsas node javascript ja teises otsas ka htmli
kätketud javascript.
Mis puudutab infosse, et seda teeb kusagil pakett A, B või C palju paremini, siis seda paluks ignoreerida. Sellise mõtteviisi korral ei kirjuta te mitte iialgi mitte ühtegi kasulikku programmi, sest alati leidub keegi, kes sama ülesande on teist kümneid kordi paremini lahendanud.
Mis puudutab infosse, et seda teeb kusagil pakett A, B või C palju paremini, siis seda paluks ignoreerida. Sellise mõtteviisi korral ei kirjuta te mitte iialgi mitte ühtegi kasulikku programmi, sest alati leidub keegi, kes sama ülesande on teist kümneid kordi paremini lahendanud.
Võib-olla
ongi, aga mõnikord ka EI OLE. Võimalik, et selle pildilaadimisega
olen pisut hiljaks jäänud, aga ühel hetkel mul tuleb idee, mille
realiseerin ehk mina ise teistest pisut paremini.
Ja
naudin bingo võitja rõõme. Nii ma vähemalt unelen.
Proosalisema
variandi korral, kui bingo võitjat oma unikaalse paketiga teist
siiski ei saa, vajatakse just praktilist oskust oskavat inimest igas
teises arvutifirmas.
Kuulutustes
on tuima järjekindlusega sama motiiv - IT hariduse võib
lisaboonusena omandada, oskused peavad olemas olema. Need aga ei
sünni mitte raamatu taga, nagu kokakski ei saada kokaraamatu taga.
Aga
KOKARAAMATUD peavad riiulis olema, PARIMAD selle juures.
See
on asi, millest ei tohiks ka taganeda. Võimalik, et veedate 80%
ajast arvuti taga nikerdades. Aga 20 % peab jääma teoreetilisele
mõtlemisele, kuigi jah, sõnniku keskelt, kus õpetatakse foode ja
baridega jändamist, on seda raske üles leida.
Siin
on nüüd teema, mis minu arvates Eesti IT maailmas tuleb uuesti
avastada. See, et raamatutarkus ka loeb.
Lõpetuseks:
Lõpetuseks:
See
jutt on isikliku kogemusega kaetud. Kui mingi asja omandamisel jääb
kõik vaid raamatu veerimise ja foo ja baride katsetamise juurde, on
see kõik osutnud täiesti kasutuks ajaraiskamiseks.
Õpikunäited ka ei aita, teil PEAB nina ees olema reaalne projekt. Kui ei ole reaalset projekti võtta, mõelge reaalsusele võimalikult lähedal olev projekt ise välja ja ärge kopeerige ja peistige valmis lahendusi-ideesid.
Õpikunäited ka ei aita, teil PEAB nina ees olema reaalne projekt. Kui ei ole reaalset projekti võtta, mõelge reaalsusele võimalikult lähedal olev projekt ise välja ja ärge kopeerige ja peistige valmis lahendusi-ideesid.
Mul
on aga praktiliselt ka asju, kus teooriat ei ole jälle saanud
peaaegu üldse uurida - andmebaaside programeerimine näiteks. Seal
sai lähenetud just nii - hüpata vette ja hakata “panema”...
Kuna
kogu aeg oli vaja töötada teatud ajadefitsiidi tingimustes, tekkis
harjumus vajalikke, aga mitte NII vajalike asju edasi lükata. Lõpuks
võib juhtuda, et isegi kui ajadefitsiiti ei ole, edasilükkamise
koha pealt aga on olemas refleks. Te ei saagi kunagi päris
korralikult teada, mida tähendab andmebaaside normaliseerimine!
Ja
te määrite hiljem oma mitteteadmist teistele ka pähe - ma näen
seda andmebaaside vallas hiliselt omandatud teadmise tõttu - kogu
arvutimaailm üritab jonnakalt relatsiooniliste andmebaaside teooriat
nurka visata, sest hetkel on vaja väga suurte baasidega midagi teha
- ja astub väga pikaajajalisse ämbrisse, kust nii aastakümne
möödudes jälle häbenedes välja üritatakse saada, nagu OO-stki.
Tulemina
olen teinud pikka aega ehitanud natukene valesid asju. Pisut
teoreetilist teadmist oleks suutnud üsna suuri karisid vältida.
Ja
teoreetilisi puudujääke ei pane ise tähele, praktilised torkavad
õnneks alati silma.
Natuke
tarka juttu teistelt ka:
1 Comments:
Hää lugu. Aitüma.
Postita kommentaar
<< Home