Nauka programowania, która książka będzie lepsza?

0

Cześć

Chcę się rozwijać w kierunku DevOps, rozpoczynam właśnie studia informatyczne i mam bardzo małą styczność z programowaniem(podstawy Pythona). Do tej pory uczyłem się sieci i Linuxa. Postanowiłem, że będę uczył się programować z użyciem technologii, które będą na studiach. W pierwszym semestrze mam C. Czytałem sporo opinii o dwóch książkach: Prata oraz K&R. Mam mętlik w głowie, bo książki są bardzo różne. Książka Praty jest ze 4x dłuższa. Niekoniecznie chcę tracić czas na lanie wody. K&R jest o wiele starsza, pisana pod starsze standardy. Zależy mi także na zadaniach i projektach. Którą książkę wybrać i dlaczego?

1

K&R to chyba już archeologia?
Na uniwersytetach lubią taką archeologię wiec jeszcze ze sto lat będą ją polecać. Ale ja bym się dwa razy zastanowił jakbym miał brać książkę do nauki programowania starszą ode mnie

0

No dlatego wolę dopytać, ze względu na oszczędność czasu chcę uczyć się akurat tego co będzie na studiach, bo tam i tak jest fajny rozkład technologii, jest C, C++, C#, Java, Python, sporo tego.. Dowiedziałem się, że zajęcia z C polegają na prezentacji pokazującej składnię i kilku zadań więc chciałbym to poprzeć jakąś fajną książką, jak to działa 'under the hood'.

0

Pewnie mniej popularna, ale moim zdaniem świetna do nauki C: https://www.amazon.com/Head-First-C-Brain-Friendly-Guide/dp/1449399916

Uczyłem się z niej C i w bardzo przystepny sposób pokazuje inne zagadnienia z zakresu OS np. jak wygląda model pamięci procesu w OS itp.

Head First to cała seria książek do różnych języków programowania.

Co do DevOpsa, to zajrzyj na taką roadmapę: https://roadmap.sh/devops

Polecam również książki od Tanenbauma:
Sieci: https://www.amazon.com/Computer-Networks-5th-Andrew-Tanenbaum/dp/0132126958
Systemy: https://www.amazon.com/Modern-Operating-Systems-Andrew-Tanenbaum/dp/013359162X
Architektura komputerów: https://www.amazon.com/Structured-Computer-Organization-Andrew-Tanenbaum/dp/0132916525 - moim zdaniem totalny sztos, najlepsza książka do architektur jaką widziałem! ;)

A tak to musisz cisnąć jak najwięcej z samym kodowaniem projektów w praktyce, rozwiązywaniem zadań:
https://pl.spoj.com/
https://github.com/karan/Projects
oraz inne strony z listami projektów

0

K&R jest jedną z najlepszych książek informatycznych ever. Owszem, uczy starożytnego ANSI C, ale to jest zaleta a nie wada. Under the hood jest tak dużo, że za wcześnie dla Ciebie na początek. Jak poznasz C, to możesz poczytać OSTEP (https://pages.cs.wisc.edu/~remzi/OSTEP/), gdzie jest sporo projektów w C. Ale jeśli chcesz iść w DevOps, to niższy poziom może być dla Ciebie mało pociągający, więc pomyśl, czy chcesz w to inwestować czas.

1

Head First to totalny chaos dla kogoś, kto dopiero zaczyna. Aby wykorzystać w pełni wiedzę zawartą w tej książce, trzeba sięgnąć do innych technologii. Pamiętam, że było tam Arduino i jakaś archaiczna biblioteka do robienia gier w 2D. Głowy pod topór nie położę, ale świta mi nawet coś o JS... Head First bym sobie podarował.
Ostatnia wersja K&R (czyli druga) była aktualna na albo na rok 1988, albo na 1989. Kosmicznych zmian w języku C od tego czasu nie było. Później wdrażano jeszcze standardy C99, C11 i C18 (który faktycznie jest standardem C11, lecz poprawionym o kilka błędów, bez dodawania nowych funkcjonalności).
K&R będzie dobry dla tych, którzy nie mają czasu na przebijanie się przez tysiącstronicowe tomy (bo kto ma na to czas na studiach?). Jednak z tyłu głowy musisz mieć to, że kiedyś i tak trzeba będzie zaktualizować swoją wiedzę. I to szybciej, niż później, jeśli będziesz pracować w tej technologii. Myślę, że wartościową kontynuacją będzie książka Kamrana Amini "Ekstremalny kod w języku C" (tytuł oryginału: "Extreme C: Taking you to the limit in Concurency, OOP, and the most advanced capabilities of C") i to bynajmniej nie ze względu na wskazówki jak ogarniać obiektówkę w C, lecz wiele cennych informacji o programowaniu niskopoziomowym.
Prata z kolei jest kompleksowy w dosłownym znaczeniu tego słowa. Systematycznie, wręcz łopatologicznie tłumaczy kolejne zagadnienia. Oczywiście mówimy o jego książce o C, a nie o C++, bo ta mu już tak dobrze nie wyszła... Pomimo swej objętości, to nadal książka dla początkujących i tylko dla początkujących. Jeśli masz podstawy Pythona, to raczej nie trzeba Ci tłumaczyć tego czym jest zmienna lub czym jest tablica.
Miałem w rękach wszystkie książki, o których napisałem. K&R + Extreme C mają chyba tyle samo stron co Prata. Dlatego, choć książka Praty to (moim zdaniem) najlepsza książka o C dla początkujących jaką kiedykolwiek widział świat, tym razem jej nie polecę, ze względu na ograniczoną ilość czasu, jaką masz do dyspozycji. Raczej poleciłbym K&R, pomimo delikatnego trącenia myszką. Ogarnięcie paru subtelnych zmian, które wprowadzano aż do standardu C11 zajmie Ci mniej czasu, niż przebicie się przez całego Pratę.

0

Ja przeczytałem K&R jako drugą książkę do C, jako uzupełenienie. Pierwsza była jakaś z O'Reilly, której już nie pamiętam. Moim zdaniem K&R jako pierwsza książka do programowania nie jest najlepszym wyborem. Dla kogoś, kto uczy się podstaw, może okazać się niewyczerpująca i za mało obrazowa. Jest treściwa, więc doceni ją ktoś, kto ma już podstawy programowania i nie lubi przebijać się przez tysiące przykładów, porównań, anegdot, etc.
Aczkolwiek myślę, że jeżeli uzupełni się K&R wykładami, ćwiczeniami, ewentualnie tutorialami online, to nie widzę problemu używać owej książki nawet jako pierwszą lekturę z programowania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1