Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
WSTĘP
systemuMS-DOS5wrazzinterpreteremjęzykaQBasic,apóźniejtakżeWindows3.1
ipotężnymIDEjęzykaVisualBasic1.0.Czasleciał,leciwy80286zostałwymienionyna
wielokrotnieszybszy80486,azjęzykaVisualBasicprzeniosłemsięnaTurboPascal.Wko-
lejnychlatachpojawiłysięprocesoryzrodzinyPentium,pierwszeakceleratory3Ddokart
graficznych(wtedyjeszczejakoosobneurządzenia),atakżeogólnodostępnyInternetza
sprawąnumeru0–202122.WrazznimuzyskałemdostępdosieciIRC,grupdyskusyjnych
ihobbystycznieprowadzonychstroninternetowychpoświęconychróżnymjęzykompro-
gramowania.Tymczasemtrafiłemdoliceum,komputerprzeszedłkolejnąmetamorfozę
izostałwyposażonywprocesorIntelCelerontaktowanyzczęstotliwością333MHzoraz
kartęgraficznązwbudowanąakceleracją3D,ajazanamowąznajomegoporzuciłemTurbo
PascalnarzeczC++iOpenGL;mojezainteresowaniewzbudziłteżtematinżynieriiwstecz-
nej.PotemnadeszłystudianaPolitechniceWrocławskiej,kolejnejęzykiprogramowania
wniemałejliczbieicorazbardziejskomplikowaneprojekty.Nadrugimrokurozpocząłem
pierwsząpracęjakoprogramistaireverseengineerdlajednejzpolskichfirmantywiruso-
wych,corazbardziejinteresującsięrównieżzagadnieniamizwiązanymizbezpieczeństwem
komputerowym.WkrótceprzeszedłemdohiszpańskiejfirmyHispasec,skończyłemstudia
inżynierskie,byostatecznietrafićdofirmyGoogle,wktórejpracujędodzisiaj.
Spoglądającwprzeszłość,mogępowiedzieć,żemojafascynacjawszystkim,cowiąże
sięzkomputerami,awszczególnościprogramowaniem,nigdynieminęła,mimożezaczęła
sięponadćwierćwiekutemujednymzjejefektówbyłonapisanieksiążki,którąwłaśnie,
Czytelniku,trzymaszwręku.Podczasjejtworzeniastarałemsięuchwycićpreferowane
przezemniepodejściedoprogramowania,którejestzabarwioneciekawością,chęciązro-
zumieniatego,jakkażdyzużywanychmechanizmówdziałaodśrodka,atakżezamiłowa-
niemdoniskopoziomowychzakątkówinformatyki.Cozatymidzie,książkępisałemzmyślą
opasjonatach,dlaktórychprogramowaniejestjednocześniewyzwaniemiświetnązabawą,
bezwzględunato,czyprogramująjedyniedlaprzyjemności,czyteżpracująwzawodzie.
Dobierajączawartośćksiążki,starałemsięprzedewszystkimwybraćtematy,októre
częstopytająpoczątkującyiśredniozaawansowaniprogramiścistądm.in.obecność
rozdziałówowątkach,gniazdachsieciowychczyplikachbinarnych.Dospisutreścitrafiły
równieżtematymoimzdaniemistotnedlakażdegoprogramisty,takiejakniskopoziomowe
kodowaniedanych,synchronizacjaprocesówwielowątkowychczychoćbykorzystanie
zwierszapoleceń.Chciałemjednakrównieżwskazać,żeprogramowanieniekończysięna
aplikacjachnarzędziowychlubhusługowych”,stądobecnośćostatniegorozdziałuksiążki
zatytułowanegohProgramowaniedlazabawy”.Jednocześniezdecydowałemsiępominąć
pewne,skądinądbardzoistotne,zagadnienia,takiejakalgorytmy,wzorceprojektoweczy
szczegółoweopisykonkretnychjęzykówprogramowaniaoneopisanewwieluinnych,
bardziejwyspecjalizowanychpublikacjach.
Przykładywksiążcezostałynapisanewróżnychjęzykachprogramowaniatoprzede
wszystkimPython,C,C++orazJava.Tanietypowaróżnorodnośćbrałasięzchęcipod-
kreślenia,żewwiększościśrodowiskwystępujątesamepodstawowemechanizmy,których
używasięwbardzopodobnysposóbniezależnieodwybranegojęzykaprogramowania,
aróżniceczęstosprowadzająsięwyłączniedonazwbibliotek,funkcji,klasitp.Jedno-
cześniezuwaginaspecyfikęposzczególnychjęzykóworazichumownąklasyfikacjęjako
16