Zadnjič sem nekje zasledila (če vas zelo zanima, se lahko potrudim in izbrskam vir), da povprečen programer (verjetno v ZDA) prebere manj kot eno tehnično knjigo na leto.
Slovenci pa menda nismo tako slabi, ane?
Torej: zaupajte meni in vesoljni Sloveniji, kako se tehnično izobražujete.
Jaz trenutno prežvekujem Code Complete 2 (pač ni knjiga, ki bi jo človek prebral na dušek, zato samo vsake toliko časa preberem kakšno poglavje) in Head First Design Patterns. To je moja prva Head First knjiga in moram reči, da sem navdušena nad njihovim formatom. Zelo so se namreč potrudili, da se bralec ne bi dolgočasil in da bi dojel bistvo. Zato je knjiga polna slik, dialogov in primerov. Na začetku se mi je zdelo to precej čudno, zdaj pa se mi zdi bolj čudno to, da se več avtorjev ne potrudi predstaviti svoje modrosti v taki obliki. Priporočam - če nič drugega, človek vidi, da se da računalniško knjigo napisati tudi drugače.
Letos sem prebrala še The Art Of Software Testing (Glenford J. Myers), ki me sicer ni posebej navdušila, ampak je bila vsekakor koristno branje. A kdo priporoča kakšno drugo knjigo o testiranju?
Konec lanskega leta sem brala Writing Effective Use Cases (Alistair Cockburn), ki je zelo dober uvod v pisanje primerov uporabe. Knjiga je napisana tako, da jo lahko uporabljate tudi kasneje kot referenco. Večine razvijalcev primeri uporabe verjetno ne zanimajo preveč, ampak resnici na ljubo malo znanja iz bolj analitičnih področij računalništva nikoli ne škodi . Je pa res, da je ta knjiga precej bolj 'filozofska' od tistih, ki jih običajno beremo.
Pred tem sem brala The Career Programmer - Guerilla Tactics For An Imperfect World (Christopher Duncan), ki me je pritegnila predvsem zaradi izvirnega naslova. Prvo tretjino knjige sem se dobro nasmejala, potem pa so se njegove šale začele ponavljati in sem končna poglavja bolj preletela. Zadeva vsebuje kar nekaj dobrih nasvetov za programerje, ki morajo šele ugotoviti, da je programiranje verjetno le najlažji del njihovega delovnika, težji del pa je sobivanje s kupom netehničnih ljudi, ki imajo svoje poglede na potek projektov. Pa ne preveč verjeti Christopherju - čisto vse, kar pravi, pa že ni res.
Dalj nazaj mi spomin ne seže preveč zanesljivo, ampak ocenila bi, da preberem vsaj 6 knjig, ki se tičejo razvoja programske opreme letno. In ne verjamem, da Amazon dostavlja tehnične knjige v Slovenijo samo zame, zato s knjigo (pardon, besedo) na dan!
AndrejT - nedelja, 26. marec 2006
Coder to Developer je v času .NET 2.0 že malo zastarela, čeprav še vedno ponudi dovolj uporabnih informacij, ki jih z novimi orodji pač apliciraš malo drugače. Če pride do dopolnjene izdaje, bo gotovo zanimivo branje. Poleg zgoraj omenjenih knjig boš dosti čtiva našel tudi na MS Patterns & Practices (http://msdn.microsoft.com/practices/compcat/default.aspx), drugače pa je izbira pač stvar odločitve, v katero smer se želiš razvijat... ?
bojanv - nedelja, 26. marec 2006
Hm, zanimiva čtiva....nikoli nisem bral takšnih knjig, večinoma samo razvijalske knjige, kot naprimer C# cookbook od O'Reilly-a ali pa ASP.NET 2.0 Core Reference....Nisem pa bral razvijalskih vzorcev razen od Gačnika Arhitektura računalniških rešitev .NET...mogoče ne bi bilo slabo si malce pogledat...Kaj mi svetujete? Code to Developer?
AndrejT - četrtek, 23. marec 2006
Uporabniški vmesniki, uporabniška izkušnja... spet stvari, ki se jim (na splošno gledano) premalo posvečamo... Tudi tu veljajo neka pravila, četudi ne slediš popolnoma trenutnim modnim smernicam. Podobno kot načrtovalski vzorci in kodiranje. Zgoraj lepo opisuješ razliko med programerjem in razvijalcem. Si mogoče brala Coder to Developer [Gunderloy]? Tudi luštna knjiga, čeprav mogoče malo preveč vezana na specifično tehnologijo in orodja [.NET 1.x in povezani], v uvodu pa pravi "I like to draw a distinction between coders, who know the syntax and semantics of a computer language, and developers, who can apply that knowledge to turning out a working application with all necessary supporting details". Sam izraza programer in razvijalec tudi strogo ločim; razlika je precejšnja, predvsem pa se navezuje na pridobljena "higher level" znanja. In s temi znanji je dosti lažje spoznavati in privzemati nove tehnologije. Vse pa se začne (ali konča) pri interesu. Ena primerjava še z glasbeno izobrazbo, da ne bomo vedno v gradbeništvu... Imaš pianiste, ki znajo igrati samo po notah [po možnosti tako, da note s črtovja premapirajo na klavirske tipke], medtem ko drugi zaradi dolgočasja raje sestavljajo svoje skladbe. Slednji bodo prav hitro zakapirali tudi kitaro in ostale instrumente...
newdrim - četrtek, 23. marec 2006
Z zgornjim blogom se kar strinjam, čeprav je zelo transparentno, da je tip svoj seznam priporočenih knjig sestavil na podlagi navdušenja nad uporabniškimi vmesniki. Res je, da znanja tehnologij hitro zastarajo in mislim, da bi se morali programerji izobraževati tudi v bolj brezčasnih temah. Take knjige so npr. Code Complete, Refactoring (Martin Fowler), Test Driven Development By Example (Kent Beck), Design Patterns (GoF) ipd. Me pa malo zmoti kadar ljudje menijo, da naj bi zaradi hitre menjave znanja programerji opustili študij tehnologij in se namesto tega posvetili 'višjim ciljem', ki jih pripeljejo v domeno načrtovanja, arhitekture ali projektnega managementa. Strinjam se, da je programer ogrožen poklic (čeprav v Sloveniji verjetno ne, ker ne poznam dosti Indijcev, ki bi lahko razvijali slovenski software ), vendar se ga je večina programerjev lotila zato, ker v njem uživa in interakcije s prevajalnikom ne želijo zamenjati za interakcijo z naročnikom. Mene sicer zanima praktično vse zgoraj našteto: načrtovanje, arhitektura in proces razvoja programske opreme (projektni management pa ne tako zelo), ampak si po drugi strani ne želim povsem izgubiti stika s prevajalnikom, ker tam ideje postanejo biti, biti pa oblikujejo virtualno resničnost na mojem monitorju (in včasih še kje drugje). V glavnem, tam se dogaja . Vem, da veliko programerjev nima takih nagnjenj kot jaz in bi radi le pisali kodo - to spoštujem in mislim, da so dobro izbrali. Samo naj se zavedajo (in dobri programerji se), da je poznavanje tehnologije le začetek, ki se mora nadaljevati v poznavanje (skoraj) brezčasnih znanj o konstrukciji, kot bi rekel Steve McConnell, avtor knjige Code Complete. Brez teh znanj lahko tehnologija naredi prav toliko škode kot koristi. Upam, da tokrat nisem bila preveč agresivna. Po drugi strani pa, če to kakšnega Slovenca pripravi, da spregovori, to sploh ne more biti tako slabo.
AndrejT - sreda, 22. marec 2006
In ko smo že pri tematiki... če že agregiramo bloge... "Everything You Know Will Be Obsolete in Five Years" [http://www.codinghorror.com/blog/archives/000545.html].
AndrejT - sreda, 22. marec 2006
Pro ADO.NET 2.0 bo pohvalil še najmanj eden redni obiskovalec tega foruma... Že ve zakaj Obstoj knjig, kot so "A developer's notebook" je po svoje zanimiv ravno zaradi razširjenosti blogov zadnje čase. Ne ponujajo neke globoke vsebine in razlage; vse skupaj je en digest primerov, ki jih z rednim branjem blogov in MSDN itak sproti zapečeš nekam v ozadje možganov, z nekaj truda pa jih hitro zbereš tudi z guglanjem. Blogi so koristni tudi zato, ker te vsake toliko časa v glavo udari kakšen post s fabulozno idejo za rešitev trenutnega problema. Unit testi... Da - za samodejne regresivne teste (kjer najbolj boli, <50% pokritosti), Ne - za TDD [not really there yet]
newdrim - sreda, 22. marec 2006
ExAmigan, Pragmatic Unit Testing in C# čaka tudi mene. Lansko leto sem prebrala Test Driven Development in Microsoft .NET in me je kar pritegnila, čeprav s kakšnim TDD razvojem na konkretnem projektu seveda ni bilo nič. Zanimivo bi bilo vedeti koliko je razširjena praksa pisanja unit testov pri nas. Glede tematike: vedno je zanimivo slišati, kaj drugi berejo, še posebej če so knjige vredne svojega denarja.
newdrim - sreda, 22. marec 2006
Vem, tudi moj dan ima samo 24 ur . Ampak poskušam najti nekaj časa tudi za svoj razvoj, ne le za razvoj kode Framework Design Guidelines je tudi na moji wish-listi. Lepo je slišati, da so znali tudi kaj pokritizirati - nenazadnje se najbolje učimo na napakah, pa tudi če so tuje. Hvala za priporočilo Pro ADO.NET 2.0. Zveni zanimivo, pa je verjetno ne bi vzela v roke, če je ne bi kdo pohvalil . Glede serije "A developer's Notebook" se pa strinjam, čeprav takih knjig nikoli ne "berem" ampak samo "listam", ker jih primem v roke takrat, ko moram rešiti problem. Uh, pri blogih sem pa bolj slaba... vsake toliko časa me prime in jih par dni berem, potem pa spet pozabim nanje. Knjige se osredotočajo na točno tisto stvar, ki me v nekem trenutku zanima, blogi so pa bolj random, tako da se jim težje posvetim.
ExAmigan - sreda, 22. marec 2006
Tudi jaz poskušam prebrati vsaj nekaj razvijalskih knjig letno, seveda poleg obveznega spremljanja blogov in člankov ter še bolj iskanja informacij v njih, ko naletim na konkreten problem. Sicer pa sem ravno včeraj končal z branjem Pragmatic Unit Testing in C# with NUnit [Hunt, Thomas], ki mi je pustila precej dober vtis, predvsem za potrebe začetnega spoznavanja s tematiko, čeprav pokriva tudi nekaj naprednejših tematik. Pridružiti se moram Andrejevi pohvali knjige Pro ADO.NET 2.0 [Malik], čeprav jo še berem. Res je odlično branje in po mojem mnenju tudi tistim, ki ste s tematiko že domači, ponudi nekoliko drugačen pogled na nekatere stvari. Na polici pa me čaka še Pro .NET 2.0 Windows Forms and Custom Controls [MacDonald], o kateri pa si mnenja seveda še nisem ustvaril. Tematika se mi sicer zdi dobra ideja, saj sem že v prejšnjih dveh prispevkih dobil par idej za nadaljnje branje.
AndrejT - torek, 21. marec 2006
Developerji nimamo časa za branje knjig Če to povprečje res velja za ZDA, me čudi, da tam še vedno izhaja toliko knjig. Ali pa je toliko nadpovprečnih programerjev. Pri nas je stanje verjetno še slabše in glede na to, da je vedno več informacij na voljo po blogih in forumih, se utegne statistika še poslabšati. Code Complete 2 je dobra in vedno aktualna knjiga. Sam trenutno zaključujem mnogo fino Framework Design Guidelines [Krzysztof Cwalina, Brad Abrams], ki je že polna bookmarkov za kasnejšo referenco. Skupek smernic in vzorcev, ki so jih avtorji soustvarjali pri razvoju ogrodja .NET, pospremljeni s komentarji članov ekip. Izveš tudi cvetke o nekaterih (priznano zgrešenih) implementacijah in zakaj je do njih prišlo. Zanimivo in nadvse uporabno. Pred kratkim je celo dobila nagrado. Nato me čaka Data Binding with Windows Forms 2.0 [Brian Noyes], kot referenco zadnje čase večkrat vzamem tudi Professional ASP.NET 2.0 [Evjen, Hanselman], omeniti moram tudi odlično Pro ADO.NET 2.0 [Sahil Malik], ki me je pritegnila prav zaradi podajanja snovi. Bere se res kot kakšen (sci-fi) roman, zato jo z lahkoto prebereš od začetka do konca, četudi tematiko dobro poznaš. Ni odvečnega blebetanja, napisana je z dosti humorja, stvari so razložene preprosto in zanimivo, ... Popolna razlika od suhoparnih debelih referenčnih knjig, katerih prav nikoli ne prebereš v celoti. V kategorijo "zabavno-bralnih" knjig bi spadala recimo tudi Programming WPF [Sells, Griffiths] Zanimiva je mogoče tudi serija ... - A developer's Notebook, ki je tudi polna kratkih primerov in rešitev, opremljenih s slikami. Knjige ponudijo hiter vpogled v tehnologijo, ki jo pokrivajo, za kakšno poglobljeno razlago pa ni prostora. Je pa navedenih nekaj referenčnih spletnih naslovov, kjer izveš več o tehniki ali opisani rešitvi. Lahko rečem, da nekje vsake 3 mesece naročim vsaj 2 tehnični knjigi z Amazona in pridem skozi ceneje, kot če bi jih kupil pri nas [kar je spet svojevrstna katastrofa in mogoče tema za drugo debato]. Poleg knjig seveda ne moreš mimo kopice zanimivih blogov, ki te dodatno odtegnejo od kodiranja...