Kezdőlap > Books > Júniusi könyvajánló

Júniusi könyvajánló

2008. június 8. vasárnap
Legutóbb könyvekről decemberben írtam. Most ismét folytatom a sorozatot, mert újabb remek könyvek érkeztek a polcomra.
 
A könyv szerzője, Frederick Brooks egykor az IBM híres System/360 hardver és OS/360 operációs rendszer projekteknek a vezetője volt. A projekteknek 40 évvel ezelőtt is ugyanolyan problémákkal kellett küszködniük, mint ahogy manapság egyébként szinte az összes informatikai projekt esetén. Csakhogy Mr. Brooks nem volt rest, fogta magát és készített pár tanulmányt a szoftverprojektek problémáiról, a misztikus számokról, a túlzott vagy épp alábecsült kalkulációkról és az emberek ilyen környezetben megszokott viselkedéséről. Ezekből a tanulmányokból végül 1975-ben született egy könyv, igen ez az a könyv. Méltán mondhatjuk, hogy az általa feldolgozott és a közönség elé tárt téma talán az informatika egyik leghíresebb szerzeménye lett. Rengeteg más könyvben, cikkekben, beszélgetésekben hivatkoznak rá, és kimondhatjuk, hogy ha szoftver projektek sikeressége vagy nehézsége a téma, akkor az egyenértékű a "The Mithical Man-Month" tartalmával. Egyébként olyannyira sikeres volt a könyv, hogy 20 év után, 1995-ben átdolgozva, felfrissítve, aktualizálva újra kiadták. Ezt a példányt tartom a kezemben most én is. Hogy vezető-technológus-szoftverfejlesztő létemre miért olvasok ilyeneket? Azért, mert nap, mint nap a szoftverprojektek részese vagyok én, is akármilyen pozícióban vagyok éppen. Tudni akarom, hogy miért csináljuk rosszul, tudni akarom, hogy mások hogyan teszik ugyanezt, és tudni akarom azt is, hogy ahol másképp működnek a dolgok, ott vajon mi a siker vagy épp a bukás kiváltó oka.
 
Hmm. Hmm. Meg tudná valaki mondani nekem, hogy mely problémák leküzdése a legnehezebb a szoftverfejlesztésben? … Na? … Még mindig semmi? … Elárulom hát: a legnehezebb probléma maga az ember. Bizony-bizony. Szinte bármilyen technikai, üzleti problémát képesek vagyunk leküzdeni, de az embert, pontosabban az emberek viselkedését, jó vagy rossz tulajdonságaikat, hozzáállásukat, hangulatukat, melyek mind-mind erősen befolyásolják a projekt menetét – azt már nehezen. Az előzőleg ajánlott "The Mithical Man-Month" és ez a mostani könyv párban mozog, úgyis mondhatnám, hogy ezek a téma etalonjai. Legalábbis akkor, amikor szoftverekről, projektmenedzsmentről, emberekről, sikerről vagy sikertelenségről van szó. Ahogy említettem, egy dolog a műszaki, és megint egy más dolog az emberi probléma. Ha valaki feltárja a sikertelenségek vagy épp sikerek okait, akkor örvendezhet, mert máris kezében van az a fegyver, mellyel győzelemre vezetheti a csapatát, vállalatát vagy épp saját magát kicsiben. Tanulni – főleg mások hibáiból – jó dolog, mert nem a saját bőrünkön tapasztaljuk meg annak keserűségét. Nem kell mindent megjegyezni, nem kell pontosan lemásolni. A jó vezető vagy a jó szakember mindig helyzetfüggően dönt. Amikor viszont dönteni kell, a könyvek elolvasásának hatására rögtön eszébe juthat, hogy valaki, valamikor már volt hasonló helyzetben, és elemezheti hogy akkor, az a valaki jó döntést hozott-e vagy sem. Azt várom ettől a könyvtől, hogy engem hozzásegítsen a jövőbeli jó döntésekhez. Stipi-stopi, ha ezt elérem, már megérte.
 
"Ó te drága adatbázis! Csak tudnám, hogy merre jársz…" – ismerős ugye. Foxi Maxi mondókája, kissé eltorzított formában. Bevallom: nagyon szeretem az adatbázisokat. Jó adatbázis nélkül nincs jó üzleti szoftver. Vajon milyen utakon halad az adatbázis tervezés? Egyáltalán, vajon mitől jó egy adatbázis? Nos, sok oka lehet, épp ezért számos könyv szól róla. Arról viszont kevesebb, hogy mi van, ha az adatbázis "elöregszik", és már nem felel meg a mai kor, vagy akár más elvárt követelményeknek. A szoftverfejlesztésben jól ismert, és szerencsére terjedő métellyé vált a refaktorálás, no de mi van az adatbázisokkal? Örömmel jelentem, hogy megvan a megoldás. Végre született egy könyv, amely feltárja az adatbázisok refaktorálásának titkait. Ötletek, javaslatok, módszerek a régi felújítására, renoválására anélkül, hogy az eredeti működés és lényeg megváltozna. Eddig soha senki se vállalkozott rá, és talán nem véletlenül. Az adat kritikus és fontos, ezért óvatosan kell bánni vele, no meg technikailag sem egyszerű a dolog. A könyvet rajtam kívül ajánlja még egy Martin Fowler nevü fickó, akit szerintem nem kell bemutatni akkor, ha szoftverről, fejlesztésről, refaktorálásról beszélünk. Élő legenda, aki ha azt mondja érdemes, akkor én már ehhez nem sokat tehetek hozzá, legfeljebb annyit, hogy megfogadom a tanácsát és tényleg elolvasom.
 
Valószínűleg ez az első igazán élvezhető könyv az úgynevezett Domain-Driven Design (DDD) témában. A DDD egy új szoftvertervezési szemléletmód, mely elvárásaim szerint igen jelentősen terjedni fog a jövőben. A könyv kitárgyalja, hogy mikor, miért és hogyan kell használni ezt a modellt. Valós példán keresztül felépít egy rendszert és azon keresztül mutatja be, hogyan kell tervezni, megvalósítani a kezdeti Domain Model-t. Tisztázza azokat a kifejezéseket, hogy mi az a "Persistence Ignorance", vagy "Repository Framework". Leír néhány DDD technikát, ezen belül megmutatja a Model-View-ViewModel minta alkalmazhatóságát, illetve a kliens és szerver oldali építkezés módozatait. Szoftvertervezőknek, technológusoknak igazi csemege. A példák C# nyelven olvashatók, de ez nem okozhat gondot annak se, aki inkább a Java vagy C++ nyelvekben járatos. 
 
Hát igen… már megint a LINQ. Lassan már a csapból is ez folyik. Sokat gondolkodom arról, hogy vajon ez az egységes, nyelvbe integrált lekérdezési módszer tényleg sikeres lesz-e? Valóban van létjogosultsága annak, hogy a megszokott, jól bevált (és valljuk be néha sok problémával küszködő) programozói API-kat idővel kiváltsuk valami "jobbal"? Mi programozók elfogadjuk-e azt, hogy ugyanolyan természetes módon kérdezzünk le adatbázist, mint ahogy XML-et, fájlrendszert, vagy objektumokat? Nem tudom a választ, vagy inkább mondhatnám: kissé bizonytalan vagyok. Remélem ez a könyv, amely teljes egészében és igen részletesen kitárgyalja a LINQ célját, értelmét, lehetőségeit, problémáit, hozzásegít majd engem a helyes kép megalkotásához.
 
"Mert olvasni nem gyíkság…"
Kategóriák:Books