Witam ;) Podajcie swoje propozycje książek, które przeczytać powinien mimo wszystko każdy programista, bez względu na technologię w której pracuje :D
Ja zacznę:
Andrew Hunt, David Thomas - "Pragmatyczny programista"
Kevin D. Mitnick, William L. Simon - "Sztuka podstępu"
Clean Code ;)
Cormen - "Wprowadzenie do algorytmów"
Knuth - "Sztuka programowania"
Wzorce projektowe "bandy czworga" :)
Często spotykam programistów, którzy nie korzystają z oficjalnych dokumentacji języka/frameworka w którym pracują. Zatem nie znają podstaw tego języka... Ostatnio spotkałem programistę, który upierał się, że
double a = 6/4;
powinno zwrócić 1.5 bo taki jest wynik równania, zatem powiem pewnie:
Standard (no chociaż streszczenie!) języka, w którym się programuje.
Trudno było by podać jedną pozycję - wydaje mi się jednak że każdy programista powinien znać Assemblera tzn. wiedzieć jak działa komputer od środka w tej... najniższej warstwie.
Zerknijcie tutaj - jest podobny temat:
http://stackoverflow.com/questions/1711/what-is-the-single-most-influential-book-every-programmer-should-read
Polecam C++ Primera Stanley Lippman Lajoie
1000 stron, mało informatycznego bełkotu,tresci przedstawione klarownie i logicznie. Polecam!!!!
Bentley "Perełki oprogramowania"
Moje ulubione chociaż może nie dla każdego:
"Pragmatyczny programista. Od czeladnika do mistrza"
"Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku"
"Wzorce projektowe. Rusz głową!"
i może jeszcze:
"Scrum. O zwinnym zarządzaniu projektami"
Chciałabym jeszcze polecić wszystkim biografię Jobsa W. Isaacsona (niesamowita lektura) oraz In The Plex:
How Google Thinks, Works, and Shapes Our Lives Hamiltona
Code Complete - Steve McConnell (2nd edition) - opis najważniejszych rzeczy które programista powinien znać, bez względu na to w jakim języku pisze (dobre praktyki).
Rapid Development - Steve MCConnel - ta ksiazke powinien przeczytac kazdy kto chce byc kims wiecej niz tylko klepaczem kodu, na pewnym etapie rozwoju (jak zostaje sie chocby Tech Leadem) nie da sie uciec od planowania i zarzadzania projektem, wiec potrzebna jest wiedza na ten temat. Wiedza na temat roznych faz projektow, problemow ktore sie pojawiaja, bledach managerskich, motywacji, jakosci i jej kosztach, zmianach itp. zawiera bardzo fajne obrazowe przykłady.
The C Programming Language by Kernighan and Ritchie - ksiazka ktora powinnismy przeczytac jesli piszemy w C. Klasyka.
Dokładniejszy opis tych książek, np. na tym blogu: http://www.codinghorror.com/blog/2004/02/recommended-reading-for-developers.html
To ja jeszcze polecę "iWoz", autobiografię Steve'a Wozniaka. Świetnie opisuje on to, jak nabywał wiedzę, wszystkie żarty które przygotował (a było ich sporo, kawał z bombą i tak rządzi :D), to jak powstawał Apple. Szczerze mówiąc nie trzeba była Applefag'iem aby koniecznie przeczytać tę książkę.
@WhiteLightning Co do tego K&R, mówisz o Starym Testamencie?
Working Effectively with Legacy Code: Michael Feathers.
Jest zadziwiająca rozbieżność jak dużo programistów pracuje z legacy kodem i jak mało książek powstało na temat jak sobie radzić z tym zadaniem. Ta książka jest jedną z nich.
Tak mimo wszystko Herwig Feichtinger, mikro komputery, Wydawnictwa Komunikacji i Łączności, Warszawa 1988
dzisiaj dotarło do mnie "coders at work", polecam ;)