Dlaczego C++
Dlaczego C++
Podstawową decyzją twórcy języka jest to według jakich teorii go skonstruuje. Wspólną cechą prawie wszystkich jest teoria "język musi być tak zbudowany, aby programista nie powodował problemów". Ciągnie to za sobą wiele uproszczeń czy ograniczeń. Bjarne Stroustrup nie zastosował się do tego i utworzył C++. Programista nie jest w nim zwykłym użytkownikiem, a królem. Tak. C++ nie chce być mądrzejszy od programisty, a jedynie udostępnia wszystkie możliwości, dzięki czemu wprawny czarodziej może zrobić dosłownie wszystko.
Z czego ten język się składa? Ma bardzo prostą składnię - kilkadziesiąt słów, które są albo angielskimi wyrazami, lub skrótami od tych. Powiecie, że to niemożliwe skoro tworzą w nim systemy operacyjne (bardzo upraszczam, tak naprawdę tworzy się je zestawem Assembler + C albo C++)? A no od reszty są biblioteki. Prawdopodnie jest to najlepszy zestaw funkcji ze wszystkich języków. Powiecie, że niepotrzebne wam na razie tyle? Żaden problem! Na początku programu dołączamy potrzebne, a reszta sobie będzie czekała.
Ci co spotykają się codziennie - choćby z Pascalem - powiedzą, że to Pascal też ma. Taaaaak? A czy pozwala wam ingerować w te biblioteki i tworzyć nowe? Czy macie przeciążenia operatorów pozwalające tworzyć nowe typy danych o takich samych prawach co zmienne? Raczej nie :). A w C++ to wszystko jest. Czemu więc uważacie, że C++ ma trudną składnię? Dlatego, że można w nim tworzyć program dodawający 2 i 2 jak i cały system operacyjny? Ktoś powiedział, że po co sięgać po kombajn (w tym przypadku C++) skoro chcemy tylko stworzyć prosty program obliczający przyszłą wartość lokaty. Po to, bo C++ to owszem, kombajn, ale taki, który zarówno może się przekształcić w nożyczki, kosiarkę czy inne ustrojstwo - wedle życzenia programisty. Tutaj nic na siłę, nie ma żadnej "walki" z językiem jaką spotykamy w wielu innych językach (np. "kurczę, dlaczego ta struktura nie chce się wywołać w tym miejscu" - tego w C++ z pewnością nie uświadczysz).
20 lat temu Stroustrup wyznaczył nową drogę języków programowania, nowoczesnego programowania. Także dzięki temu powstały tak chwalone Java i C#. C++ jest najlepszy jako pierwszy język do nauki, najlepszy jako kolejny w nauce i najlepszy dla każdego.
Wiem, że i tak większości z was nie jestem w stanie przekonać, więc przytoczę słowa znanego eksperta w dziedzinie języków programowania, Herberta Shildta: C++ to potęga, która polega na umożliwieniu sterowania komputerem na najniższym możliwym poziomie, na możliwości generowania wysoce zoptymalizowanego kodu wynikowego oraz na umiejętności bezpośredniej współpracy z systemem operacyjnym. Potęga C++ rozciąga się wzdłuż i wszerz. Za pomocą C++ możesz precyzyjnie sterować obiektami, czyli ich tworzeniem, niszczeniem i dziedziczeniem, możesz używać wskaźników i masz moźliwość wykonywania niskopoziomowych operacji wejścia-wyjścia. Działanie programu wzbogacasz dzięki definiowaniu nowych klas i przeciążaniu operatorów. Język C++ pozwala także konstruować własne biblioteki i ręcznie optymalizować kod. Kiedy wymaga tego sytuacja, możesz także łamać zasady. I może jeszcze pointa tego artykułu (także słowa wyżej wymienionego pana) - C++ to nie język dla nieśmiałych, przeznaczony jest dla programistów, którzy porządają najpotężniejszego języka programowania na świecie i na niego zasługują.
Na koniec streszczenie artykułu:
Jedi Bartek: Czemu wolisz C++? (cytuję z jednego z jego tekstów)
Ja: Składnia prosta jak rozmowa z kolegą; słowa kluczowe bajecznie łatwe do zapamiętania; ogromne możliwości, które w razie potrzeb można ucinać jak i dokąd się chce; wielka optymalizacja pod wszystkimi kątami programu (wielkość, zajmowana pamięć, szybkość działania, itd.); masa dodatków, które można także samemu tworzyć; programowanie w C++ to czysta przyjemność!
PS. Jedi Bartek przegiął pałę przeciwstawiając C++ do Assemblera. Z jakiej racji porównujesz język wysokiego i język niskiego poziomu? (Jednak ogólnie tekst, w którym to zrobił oprócz tego jest na wysokim poziomie i nic do autora nie mam ;p)
PS2. Np. Metallica, DKA, Red hot chili peepers.
autor("kurczak_blady","kurczak_blady@op.pl")
Wyszukiwarka
Podobne podstrony:
k cplk cpl2k cpl?k cplk cpl1k cpl?k cpl?k cplk cplr08 cpl t (3)k cpl0k cpl0k cplk cplk cpl1k cplawięcej podobnych podstron