Jason. Cała informatyka w jednym miejscu!

Dziś znowu oprę się o język C, a właściwie o C i C++ jednocześnie. Istnieje wiele debat na temat tego, który z tych dwóch języków wybrać. Większość programistów sugeruje się jedynie nazwą myśląc, że jeden jest bardziej rozbudowany od drugiego. Natomiast na tym nie może kończyć się podejmowanie decyzji. Języki nie różnią się od siebie tylko oferowanymi możliwościami. Czy C, czy C++, trzeba przeanalizować dużo więcej szczegółów niż nam się wydaje na pierwszy rzut oka. To nie jest aż tak oczywiste!

JĘZYK C CZY C++? NIE PATRZ NA NAZWĘ!

W pierwszych słowach na ten temat pragnę powtórzyć jedno z poprzednich zdań. To, że drugi język ma dwa plusy więcej na końcu to wcale nie znaczy, że jeden język jest TYLKO rozszerzeniem drugiego! Cała gama języków nie ma aż tak podobnych do siebie nazw jak C i C++ (z wyjątkiem Javy i JavaScriptu). Stąd nasuwa się prosty wniosek, że jeśli wybierać jeden z dwóch czy C, czy C++, to jasna sprawa że zdecydowana większość wybierze ten drugi. Z drugiej strony można wywnioskować, że skoro C++ pochodzi od C, to powinno się najpierw nauczyć języka C przez co może sprawiać wrażenie łatwiejszego z powodu mniejszej liczby oferowanych funkcji do opanowania niż jego "obiektowy bliźniak". Chcę jednak uświadomić każdemu czytającemu te słowa, że oba języki mogą nadawać się do zupełnie innych zastosowań.

Logo języka C Logo języka C++

Wielu osobom sprawia trudność wybór języka: "C czy C++"? Pojawia się problem pomiędzy koniecznością nauczenia się wpierw języka C, a natychmiastowym przejściem do obiektowego paradygmatu i skorzystanie z większej gamy możliwości.

Źródło: Wikimedia (C, C++)

PODOBNE JĘZYKI, ALE RÓŻNE ZASTOSOWANIA

Po mojemu to wygląda tak:

  • C oferuje programowanie strukturalne i jest często spotykany w systemach wbudowanych i mikrokontrolerach gdy może zastąpić asemblera. Jest również doskonały do pisania programów rozwiązujących pojedynczy problem. Został on tak skonstruowany, żeby nie posiadał żadnych dodatkowych funkcji, które mogą kiedykolwiek w programie okazać się zbędne przez co musimy bardzo często "wynaleźć koło na nowo".
  • C++ z kolei jest rozbudowany o paradygmat obiektowy przez co jest bardzo dobrym kandydatem do tworzenia programów z graficznym interfejsem. Przyda się również wszystkim osobom, które preferują "rozłożenie" problemu na obiekty zamiast programowania strukturalnego, a na dodatek może doskonale służyć do "sklejania" pojedynczych programów napisanych w języku C w całość. Zachowujecie przez to możliwości obiektowe i jednocześnie wydajniejsze działanie (przypominam, że C "stoi" nieco bliżej asemblera niż C++).

Można się ze mną nie zgodzić, natomiast tak to wygląda z mojej perspektywy. Widzicie zatem, że jeden język (C czy C++) może do czegoś nadawać się zdecydowanie lepiej niż jego "brat". Jest jeszcze jedna rzecz. Mogliście usłyszeć wiele razy takie teorie, że każdy program napisany w C można bez problemu uruchomić w C++. Od razu piszę: nie wszystkie się skompilują. Zdecydowana większość tak, ale nie wszystkie.


To wszystko w dniu dzisiejszym. Przypominam, że Ci którzy rozważają oba języki do tworzenia gier, niech klikają tutaj (jeśli wybraliście C) lub tutaj (jeśli C++).

PODOBNE ARTYKUŁY