Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
10
Metodologiaitechnikiprogramowania
dziach,którepozwolązwiększyćpoziomabstrakcjisłużącychdowyrażaniaprojektów.
Ponadtonależywyciągnąćwnioskizprzeszłości:takiejęzyki,jakFortran(1956)lub
Cobol(1958),przetrwałyzewzględunaogromnąilośćoprogramowania,którewnich
napisano.Mimożeodwielulattechnicznieprzestarzałe,ciągleużywaneiulepszane,
np.mamyFortran77i90.Dlategojednozpodstawowychzagadnieńzwiązanychzuży-
ciemjęzykówprogramowaniadotyczymożliwościwcześniejszegoprzygotowaniakon-
wersjioprogramowaniazistniejącychjęzykównanowe,jeszczeniewprowadzone.Zwięk-
szeniepoziomuabstrakcjiopisuprojektówjestjednymzesposobówosiągnięciategocelu.
Tenfaktpowinniprzewidywaćprojektanci.Dobryprojektodróżniasięodzłego
przezporównanie,jakłatwo(lubtrudno)gozmodyfikować.Doświadczenieuczy,żeim
prostszyibardziejusystematyzowanyjestprogram,tymłatwiejszebędziejegopóźniejsze
modyfikowanieirozszerzanie.Takwięcprojektancimusząznacznieuzupełnićswoją
wiedzęotworzeniusystematycznychmodelisystemów,np.równoległychikomunikacji
międzyprocesorowej.Powinnitakżenauczyćsięodróżniaćwymaganiaistotneodmniej
ważnychwceluzmniejszeniazłożonościswoichprojektów.Przykładowowieluprogrami-
stównadaluważa,żesystemyoperacyjneipodobneoprogramowanienależypisać
wasemblerze,ponieważkompilatoryjęzykówwysokiegopoziomunieumożliwiająużycia
rozkazówuprzywilejowanych.Zkoleiwiadomo,żenajwyżej5procentkodusystemu
operacyjnegokorzystaztychrozkazów.Dlategowłaściwebyłobypostępowaniepolega-
jącenawyodrębnieniuodpowiednichfragmentówpodczasprojektowaniawcelupotrakto-
waniaichwczasieimplementacjiodmiennieodresztysystemu.
Równocześniezpojawianiemsięcoraztańszychprocesorówocorazwyższejmocy
obliczeniowejstosowaniekodumaszynowegobądźasemblerówdotworzeniabardziej
wydajnychprogramówniemajużtakiegoznaczenia,jakkiedyś.Jednymzprzykładów
tańszychprocesorówmogąbyćmikroprocesoryrealizowanewarchitekturzeRISC.Chara-
kteryzująsiępodwyższonąmocąobliczeniowądziękiznacznemuskróceniulistyrozka-
zów.Znanetakżeprzykładywieluzastosowsystemówkrytycznychczasowozwyko-
rzystaniemjęzykówprogramowaniawysokiegopoziomu,np.językaAdadobudowania
systemuczasurzeczywistegom.in.napotrzebyDepartamentuObronyStanówZjednoczo-
nych.
Integracjasystemuistandardyoprogramowania(tzn.sprzężeniastandardowe)sta-
nowiąkolejneważnezagadnieniewtejdziedzinie.Szczególniekierownicyprojektów
częstowyrażająpogląd,żedoutworzeniaśrodowiskaprogramowegolubinnegosystemu
wystarczypołączyćposiadanenarzędzia.Systempowstaływtensposóbjestzawolnyze
względunakoniecznośćdopasowanianiezgodnychsprzężeń.Programistapowinien
nauczyćsięużywaniakilkuróżnychedytorówiróżnychjęzykówpoleceń.Wprzeciwnym
raziejegowydajnośćmocnospada,ponieważjestbardziejzajętyopanowaniemnarzędzi
niżrozwiązywaniempostawionegozadania.Cowięcej,popełniaciąglebłędyiniezawod-
nośćprogramówmaleje.
Środkiemzaradczymjestopracowaniedługofalowegoplanu,doktóregobędądosto-
sowywanenarzędziapowstającewprzyszłości.Tenplanmusiwszczególnościzalecać
jednolitesprzężeniaprogramowe.Cowięcej,ustanowieniefaktycznychstandardów(ang.