Zaczynamy 7
C++ to nie tylko lepsze C
Prawdą jest, że C++ to rozbudowane C, każdy poprawny program w C jest również prawidłowy w C++. Takie rozumowanie może prowadzić do nieporozumień. H. L. Mencken powiedział kiedyś o muzyce Wagnera: „W rzeczywistości jest ona lepsza niż jej brzmienie”. Różnica między C i C++ jest większa niż to widać na pierwszy rzut oka.
Czy trzeba się najpierw nauczyć C?
To pytanie rodzi się samo: Czy z tego, że C++ to rozbudowane C wynika, że powinienem się najpierw nauczyć C , a potem C++? Stroustrup i wielu innych programistów C++ twierdzi, że nie tylko nie jest to konieczne, ale wręcz zbędne. Ta książka zakłada, że nie jesteś programistą C. Oczywiście nie jest to problemem jeśli znasz C — przeczytaj kilka pierwszych rozdziałów — nigdy nie powrócisz to zwykłego C.
C++, bardziej niż inne języki, wymaga od programisty zaprojektowania programu przed napisaniem go. Oczywiście proste problemy, takie jak te omawiane w kilku pierwszych rozdziałach tej książki, nie wymagają wielkiego wkładu w projektowanie. Jednak duże zagadnienia, rozwijane codziennie przez zawodowych programistów wymagają poświęcenia dużej ilości czasu na ich właściwe przygotowanie, również na określenie czasu ich powstawania i kosztów. Dobry projekt powoduje, że program jest poprawny i zawiera niewiele błędów łatwych do poprawienia. Oszacowano, że ok. 90 procent kosztów programu stanowi jego poprawianie i dostosowywanie do wymagań. Oczywistym jest, że projekt ma duży wpływ na całkowity koszt przedsięwzięcia.
Pierwsze pytanie, jakie programista powinien sobie postawić brzmi: „Jaki problem chcę rozwiązać?”. Każdy program powinien mieć jasno określony, dobrze postawiony cel. Zobaczysz, że nawet najprostszy program w tej książce jest wierny tej regule. Drugie ważne pytanie to „Czy można tego dokonać bez uciekania się do pisania własnego oprogramowania?” Ponowne użycie innego programu jest zazwyczaj lepszym rozwiązaniem niż pisanie wszystkiego od nowa. Programista, który stosuje te alternatywne rozwiązania znacznie ułatwia sobie pracę. Szukanie tańszych rozwiązań do aktualnych problemów będzie procentować w przyszłości.
C++ to język programowania. DOS, Windows, UNIX, MacOS to systemy operacyjne. Kiedy uczysz się C++, to poznajesz go jako język „przenośny”, nie odwołujący się do żadnego konkretnego komputera, czy systemu operacyjnego.
C++ to nie tylko lepsze C
Prawdą jest, że C++ to rozbudowane C, każdy poprawny program w C jest rów-rdeż prawidłowy w C++. Takie rozumowanie może prowadzić do nieporozumień. H L. Mencken powiedział kiedyś o muzyce Wagnera: „W rzeczywistości jest ona .epsza niż jej brzmienie". Różnica między C i C++ jest większa niż to widać na pierwszy rzut oka.
Czy trzeba się najpierw nauczyć C?
To pytanie rodzi się samo: Czy z tego, że C++ to rozbudowane C wynika, że powinienem się najpierw nauczyć C , a potem C++? Stroustrup i wielu innych programistów C++ twierdzi, że nie tylko nie jest to konieczne, ale wręcz zbędne. Ta książka zakłada, że nie jesteś programistą C. Oczywiście nie jest to problemem jeśli znasz C -przeczytaj kilka pierwszych rozdziałów - nigdy nie powrócisz to zwykłego C.
C++, bardziej niż inne języki, wymaga od programisty zaprojektowania programu przed napisaniem go. Oczywiście proste problemy, takie jak te omawiane w kilku pierwszych rozdziałach tej książki, nie wymagają wielkiego wkładu w projektowanie. Jednak duże zagadnienia, rozwijane codziennie przez zawodowych programistów wymagają poświęcenia dużej ilości czasu na ich właściwe przygotowanie, również na określenie czasu ich powstawania i kosztów. Dobry projekt powoduje, że program jest poprawny i zawiera niewiele błędów łatwych do poprawienia. Oszacowano, że ok. 90 procent kosztów programu stanowi jego poprawianie i dostosowywanie do wymagań. Oczywistym jest. że projekt ma duży wpływ na całkowity koszt przedsięwzięcia.
Pierwsze pytanie, jakie programista powinien sobie postawić brzmi: „Jaki problem chcę rozwiązać?”. Każdy program powinien mieć jasno określony, dobrze postawiony cel. Zobaczysz, że nawet najprostszy program w tej książce jest wierny tej regule.
Drugie ważne pytanie to „Czy można tego dokonać bez uciekania się do pisania własnego oprogramowania?” Ponowne użycie innego programu jest zazwyczaj lepszym rozwiązaniem niż pisanie wszystkiego od nowa. Programista, który stosuje te alternatywne rozwiązania znacznie ułatwia sobie pracę. Szukanie tańszych rozwiązań do aktualnych problemów będzie procentować w przyszłości.
C++ to język programowania. DOS, Windows, UNIX, MacOS to systemy operacyjne. Kiedy uczysz się C++, to poznajesz go jako język „przenośny”, nie odwołujący się do żadnego konkretnego komputera, czy systemu operacyjnego.