mai 22, 2016

45++ ja C#


kommentaarimisena pildile - see vana õppis lugema 98 aastasena. Nii et ei ole iial hilja. Juba
saja aasta vanuselt sai ta oma sünnipäevakaardist aru ...


Ajakirjanduses materdati ühte õnnetut juhti aktsiaseltsist RKAS, kes julges arvata (kellegi teise arvamise toel), et 45++ isik on kaotanud olulise osa oma õppimisvõimest.
See on tegelikult tõsi, kui oma viimase 1.5 aasta tegemisi jälgin.
Asjad, mis --40 vanuses olid võimalikud (programmi prototoüübi tegemine 3 päevaga, mingi kursuse põhisisu omandamine 1 nädalaga) ei ole enam võimalikud.
Ühe lugemise asemel 2 või 3 lugemist, et midagigi kinnistuks.
Igasugused ületunnid toovad kasu asemele kahju (10++ tundi päevas), rääkimata öötundidest.
Võib magada manuaal padja kõrval, abi sellest ei ole. Peavalu on ainuke tulem.
Erinevus ei rikasta. Ühekorraga kümmelda IDE-s ja programmikeele põhiloogikas ja veel mingi konkreetse asja tegemise loogikas viib vaid ahastuseni (ja sealt kassiahastuseni on vaid 1 samm).
Erinevus ei rikasta ka keelte ja raamistike paabelis. Hoolimata MÕNINGASEST kasust, mida andis süüvimine regulaarsetesse avaldistesse, perli, dosi, powershelli ja millese kõik veel raiskasin hea hulga aega nende asjade peale ära, kasu tuleb sellest aga alles 3++ aasta möödudes.
Tingitud oli see töötuajast loetud tööpakkumiste virvarrist, kus praegugi uude kohta sisenemiel võib-olla ongi kasu mingite raamistike pealkirjade ja esimeste alustuste teadmisest - tööintervjuult saab läbi. Edasises võib aga mõne asja hello world teadmine olla sisuliselt nullteadmine. Alustada tuleb jälle algusest.
Nii et oleks targem olnud enesele öelda C, C ja veel kord C (K & R uuesti, 88. aasta poolik lugemine spektrianalüüsi programmi tarbeks ei ole piisav), Linux, Linux ja veel kord Linux.
PowerShell ootab nüüd nurgas seda hetke, mil C# on läbitud ja ei mitte ühtegi muud asja kõrvale, v.a. tööl kümblemine Delphis, kuigi meie väikse arendusmeeskonna spetsiifika tõttu see võib muutuda kiiresti, alustasin ju C-st.
Kümblemine aga on vältimatu, et üldse midagi liikuma hakkaks. Muidu raiskad jälle manuaal padja kõrval aega või teab ära küll seda, mis peen asi on lambda avaldis C#-s ja kui tekib mõte kirjutada lihtne programm, mis näitab kella aknas tiksumas, ikkagi ei oska.
Võimalik, et elu ise tõestab väga lihtsalt, et lihtsam on mitte ridagi uurida manuaale ja kümmelda, kümmelda kümmelda (Delphi näitena) ja asjad saavad selgemaks, kui suurte tarkade raamatute lugemisel.
C# -ga seotult mul ei ole ühtegi tõsist projekti ja tulemus on näha - asjad ei edene, hoolimata formaalsest teoreetilisest lugemisest.
Formaalne lugemine siiski võib anda intresse mingi aja möödudes - 6++ kuu järel. Siis äkitselt selgub, et Delphi mingit põhikonstruktsiooni ei olegi teadnud ja C# mingite asjade rakendamine käivitub valutult. Aga kui jälle lihtne ajaparameeter kõrvale võtta ja jälgida seda kergust, millega tõenäoliselt siis saab lugeda edasijõudnute raamatuid Delphist, võib juhtuda vastupidine. Kümmelda alguses ja siis manuaalid järgi võib olla efektiivsem.
Raamatutest aga on 90% on põhk. Äkki koguni 95%?
Aga see 10% minu arvates endiselt on vaja läbi lugeda. Võimalik, et pärast kümblust siiski oleks asjadest rohkem kasu, leiab üles ka selle 10% kiiremini.
Nagu uue keele õppimisel ei pääse esialgsetest vestlussõnastikest, ei ole pääsu (kui üldse kiigata raamatuid), ei ole pääsu päris algajate raamatutest, sest seal vähemalt rõhutatakse olulisi asju. 
Häid raamatuid ei leia aga just tihti.
Käsiraamatute stiilis läbu ei ole mõtet uurida, sealt tuleb võtta pealkirjad - raamatu kasu võib olla mingist loogilisest järjestusest, mida näiteks C# puhul MDSN-s ei ole. Muud vahet ei ole, C# käsiraamatud jutustavad MSDN (Micsrosoft Developers Network) sisu niikuinii ümber, isegi kui väidavad vastupidist. Järelikult võta pealkiri ja vaata, mida MSDN ütleb. Siis otsi mujalt abi (minu puhul sagedane). Üsna sageli netist leiabki just teemapõhiselt kõige sobivama selgituse. Ka seal saab valida, valige keskmike taseme selgitus alustuseks (never alustajate selgitus, sest see võib olla rubriigist võhikult võhikule).
Tõenäoliselt mingile teema pühendatud edasijõudnute raamatud on kõige konkreetsemad. Näiteks mingid raamatud stiilis design patterns ja C# (või C++ või misiganes).

Kõigest hoolimata RTFM!
Arvutis tuleb kasutada MSDN-i niikuinii, seetõttu miks siis mitte kohe sealt alata?
Võib-olla juuni lõpuks ma kirjutan ka sellest, mis siis C# tekstidest ja kohtadest on sõelale jäänud, et mõnel teisel alustajal oleks ehk abx. Praegu ei riski spämmida - algselt tekitas mõni piibel suure pettumuse ja peavalu.
Endiselt on jõus - 50:50 suhe teooria ja praktika jaoks (piirides 30:70 ... 70:30) täiesti uue asja omandamisel. Kui on mingi asi reaalselt käsil, tikub minema asi 90:10 poole (kui sedagi), siis aga võib juhtuda, et sellest 30 % on äärmiselt vajalik - kuigi on kiire, varasta see 30 % arendusajast ja uuri mingid põhitekstid läbi. Näiteks raiska 1 päev IDE klahvide ja mugavuste peale ära.
Vastupidine on aga veel valusam - kui midagi reaalselt vaja teha ei ole - alla 30 % praktika tähendab sisuliselt teooria lugemisele kulutatud tühiaega.
Ja siin ma nüüd üritangi muudatust - lasin ikkagi C# -ga edasi teooria kõigepealt stiilis - vana hea Javascripti õppimise ajast pärit Tic-tac-toe ja mõni mäng veel C# -s koos programmeerimise ülesannetega võiks ajutiselt seda 30% osa tekitada.
Jälle sama mure - aega ei ole. Mis ma raiskan aega hallo worldi pusimise peale, loen kohe edasi järgmist peatükki ja mingis abstraktses tulevikus teen reaalse projekti...
Ajalisele survele peab suutma vastu seista, muidu läheb aega VEEL ROHKEM lõppkokkuvõttes.
PS!
Mdx: tühiblogimisele ka ei tasuks üldse aega raisata. Aga siin mind hoiab blogimas missioonitunne ilusasti öelduna, edevus vähem kaunilt väljendatuna...
Kõigest hoolimata ärge visake lusikat nurka. Elame veel, kuigi
ealise iseärasuse paramatu kaasnähtus on taktsageduse vähenemine.