wojt03 pisze:Trudniejszy, czyli ... Asembler? Wydaje mi się, że osoba, która bardzo dobrze opanowała język C i czuje się w nim najlepiej nie ma zamiaru przesiadać się np. na Pythona bo niby po co. Zrozumiałbym jeszcze późniejszy wybór Javy, gdyż nauka tego języka z pewnością przychodziłaby jej łatwiej aniżeli C a zważając na współczesny rynek pracy wypływałby z tego jakiś sens... BTW bardzo dobre opanowanie C wymaga sporo czasu...
Język C jest bardzo prosty - bardzo prosta biblioteka standardowa i składnia - w praktyce trudniejszy jest praktycznie każdy język (c++/python/java/... gdzie masz dodatkowe rzeczy i teorię jak programowanie obiektowe, szablony, funkcje lambda...). C jest bardzo mały i łatwy do nauki (dlatego jest na studiach pierwszym, bądź drugim (po pascalu) językiem którego się uczysz - dopiero później języki które się opierają na C, ale go rozszerzają jak Java/C++/Python/Assembler) - jedynym minusem C na początek jest mniejsza wygoda jak już się nie będzie początkującym (brak obiektowości (tzn można programować obiektowo, bo można w każdym języku, ale język sam w sobie tego nie wspiera), szablonów... ;p)
Wspomniana książka to bardzo prosto i dokładnie opisany cały język C przez jego twórcę (nawet z nawiązką, dotyczącą środowiska Unix - ale to chyba normalne, skoro twórca książki to twórca C i współtwórca Unixa ;p), z bardzo łatwym opisem wskaźników i dodatkiem w postaci zwięzłego spisu całej biblioteki standardowej C, z opisem każdej funkcji - całość na ledwo ponad 300 stron
el.pescado pisze:I nie, C nie zawsze się przydaje. Często, ale nie zawsze. Dzisiaj spokojnie można się obejść bez C.
Można się obejść... ale się przydaje przy nauce innych języków (C++, Python, PHP zawierają w sobie całą lub sporą część biblioteki standardowej C, a składnia jest praktycznie identyczna, poza małymi modyfikacjami - można wręcz powiedzieć, że jak znasz te języki to praktycznie znasz C ;]), a jeśli chciałoby się programować np. shadery, kernele w CUDA/OpenCL czy na iPhone/iPod czy wiele innych urządzeń to trzeba znać C (shadery i kernele w tych językach to język C bez biblioteki standardowej i dodanymi kilkoma typami/funkcjami które się przydają przy grafice (wektory/macierze)), a iPhone/iPod programuje się w Objective-C (C + obiektowość)... Bez C tak na prawdę bardzo ciężko się obyć (korzysta się z niego nawet pisząc w innych językach, bo praktycznie pisząc w nich trzeba poznać C i to co dodali ;p) - można tylko jeśli się nie korzysta z nowinek, i pisze się tylko w pascalu (lub innym języku który nie wyrósł z C).