Zarówno w Code Complete Steve'a McConnella, jak i The Pragmatic Programmer autorstwa Andrew Hunta i Davida Thomasa, twierdzą, że większość programistów nie czyta książek związanych z programowaniem jako nawyku, a przynajmniej nie dość często. Czy to nadal obowiązuje? Czy programiści, którzy czytają takie książki, wciąż są rzadkością?
Muszę przyznać, że dopiero niedawno zacząłem czytać (a teraz nie mogę przestać; pali w całości mój portfel!). Zanim faktycznie się temu sprzeciwiłem i argumentowałem, że lepiej pisać programy niż tracić czas na czytanie o tym. Teraz zdaję sobie sprawę, że najlepszym rezultatem, przynajmniej dla mnie, jest zrobienie obu.
EDYCJA: Miałem na myśli wszelkiego rodzaju książki, które w jakiś sposób były związane z programowaniem; czy to na konkretnym języku, technologii, wzorcu, paradygmacie - na czymkolwiek, o ile może to przynieść korzyści jako programista. Miałem tylko na myśli Code Complete i The Pragmatic Programmer, ponieważ właśnie tam czytałem, że programiści zwykle nie czytają takich książek. Byłoby dziwnie, gdyby tytuł brzmiał „Czy programiści, którzy czytają książki, wciąż są rzadcy?”
Przeczytałem je, więc dodaj 1 do swojej listy obserwacji. (Ile zanim znajdziemy się na liście gatunków zagrożonych?)
Poważnie, jestem zaskoczony, że w tej chwili głównymi zdobywcami głosów są ludzie, którzy twierdzą, że nie widzą żadnej wartości w programowaniu książek. Z pewnością są takie, na które chciałbym nie wydać pieniędzy, ale jest kilka takich, które całkowicie otworzyły mi oczy na nowe koncepcje i techniki i które uczyniły mnie lepszym programistą. Na przykład:
Nauczyłem się kodować w szkole, ale nie nauczyłem się dobrze kodować, dopóki nie przeczytałem świetnych książek.
źródło
Podczas wywiadów z programistami zauważyłem, że ci, którzy lepiej wykonują zadania techniczne (zarówno werbalne, jak i praktyczne) i (co ważniejsze) rozumieją powody, dla których których robią to, co robią, wszyscy programiści, którzy czytają przynajmniej okazjonalna książka. Nie sądzę, że to całkowicie zbieg okoliczności.
Chociaż z pewnością możesz używać Google do szybkich odpowiedzi, a blogi mogą być doskonałe do dokładnego opisywania konkretnych rzeczy, książki, jak sądzę, zapewniają bardziej skoordynowany pogląd na tematy, które obejmują. Ponadto, dostarczając informacje w innym kontekście, pomagają wiedzy lepiej wnikać w ludzkie głowy. Nawet jeśli jest to coś, co już wiesz, myślę, że warto mieć coś, co potwierdza tę wiedzę.
Wreszcie, jeśli ktoś czyta książki o temacie, nad którym pracuje, to prawie na pewno oznacza, że jest naprawdę zainteresowany tym, co robi, a nie tylko rozmyślań - w przypadku prac opartych na wiedzy lub kreatywnych jest to bardzo ważne, jeśli szukasz najlepszego personelu.
źródło
Zakładam, że mówisz o książkach o praktyce programowania i rozwoju oprogramowania, a nie o konkretnych technologiach ...
Osobiście staram się unikać tych książek, ponieważ tak niewiele z nich ma coś przydatnego do powiedzenia. Dla każdej pary pragmatycznych programistów jest mnóstwo autorów, którzy popychają swoje osobiste metodologie / uprzedzenia / wielkie zunifikowane teorie ... i chociaż fajnie jest słuchać ich argumentujących w podcastach, czytanie ich książek jest tylko nieco bardziej zabawne niż czytając ich listy zakupów ... i prawdopodobnie mniej przydatne. Otrzymasz wiele takich samych porad na forach i ... czymkolwiek to miejsce ... z dodatkową zaletą, że sprzeczki toczą się między ludźmi, którzy w nie wierzą, a nie między autorem a jego słomianami.
Mięso w Code Complete, Mythical Man-Month itd. To spostrzeżenia, które najbardziej doświadczeni czytelnicy już przynajmniej podświadomie znają. To sprawia, że są najbardziej przydatne do wzmacniania twierdzeń i nauczania pośrednich programistów.
źródło
Naprawdę kocham programowanie książek. Mam ich ponad 150. I wciąż jest miejsce na więcej.
źródło
Cóż, tak naprawdę nie mogę rozmawiać z innymi programistami.
Staram się czytać wysokiej jakości książki komputerowe. Obecnie pracuję nad odczytem Mythical Man-Month.
Moja następna książka to prawdopodobnie książka Russell / Norvig AI lub McConnell's Software Estimation. W niedalekiej przyszłości pojawi się Practical Common Lisp firmy Seibel.
źródło
Czytaj, czytaj, czytaj, czytaj ... Z książek, z blogów, cokolwiek ... Lepiej z dobrych książek, ale nawet czytanie krytycznie złych książek pomoże. Ale kontynuuj naukę. Ucz się codziennie.
źródło
Przeczytałem je, gdy zaczynałem, ale teraz większość książek, które mam, koncentrują się na niekodującej części tworzenia oprogramowania (np . Praktyczny przewodnik po zapobieganiu wadom , szacowanie oprogramowania: odsłanianie czarnej sztuki ), podręczniki lub książki poświęcone wąskim koncepcjom informatycznym.
Największym problemem, jaki mam, jest to, że książki dotyczące konkretnej technologii stają się przestarzałe za kilka lat (np. Obecnie niewiele osób pisze Visual Basic 6), więc odkryłem, że inwestowanie w te książki, które mogą stać się przestarzałe, jest zwykle zła inwestycja, tym bardziej, gdy przy dzisiejszej ilości informacji dostępnych jest online. Podobnie, niektóre książki na takie tematy, jak zasady projektowania, są zwykle ignorowane na korzyść naprawdę dobrych witryn, takich jak A List Apart .
źródło
Powodem do czytania książek jest poszerzenie własnej wiedzy i umiejętności. Oznacza to dwie rzeczy: (1) musisz uznać, że masz miejsce do poprawy, i (2) musisz chcieć poprawić. Wielu programistów, których spotkałem, miało ego wielkości planet. Duża część reszty chętnie płynęła wzdłuż wybrzeża.
źródło
W zeszłym tygodniu dostałem nowy Kindle (Wi-Fi + 3G) i uwielbiam go, nie mogę przestać czytać. Kupiłem kilka e-booków technicznych od Amazon i innych wydawców, i przebijam je w niewiarygodnym tempie.
Książki fizyczne wydają mi się teraz strasznie staromodne. Nie spodziewałem się tego tak szybko.
źródło
Nie czytałem książki technicznej od lat ... dosłownie lat.
Częściowo chodzi o dostępność informacji gdzie indziej. Blogi, artykuły, oficjalne dokumenty, witryny referencyjne, witryny pomocy technicznej, takie jak SO ...
Częściowo wiąże się to z kosztem i niepraktycznością książek papierowych. Pomyśl o liczbach, w których czytałeś coś jako o ewangelii, ale okazało się, że jest to subiektywne lub może nieaktualne. Nawet podręczniki referencyjne są datowane szybko, biorąc pod uwagę ciągle zmieniający się charakter naszego świata.
Nie pukam książek technicznych per se, ale minęły czasy, kiedy były jedynym źródłem informacji na dany temat. Teraz otrzymujemy nasze informacje z różnych źródeł.
Przyznaję się, że trochę za nimi tęsknię, ale przynajmniej dla mnie czasy się zmieniły.
źródło
Osobista historia:
Kiedyś wygłosiłem prezentację w pokoju pełnym 50 lub 60 programistów na temat niektórych rzeczy związanych z .NET (wszyscy pracowali dla tej samej firmy).
Microsoft sponsorował ten wykład i podarował mi kilka kopii książki „Object Thinking” Davida Westa (autorstwa Microsoft Press).
Przypadkowo właśnie przeczytałem tę książkę i uznałem ją za bardzo przyjemną. Poleciłem nawet publiczności, wyjaśniając, że mam kilka kopii do rozdania i że jeśli ktoś jest zainteresowany, muszą tylko poprosić o jeden.
Kilka osób przyszło przeglądać książkę, ale żadna z nich, powtarzam, nikt , ani jedna osoba nie zdecydowała się jej zatrzymać.
źródło
Nadal chciałbym wybrać książkę, aby nauczyć się podstaw języka. W ten sposób mogę na to spojrzeć i dowiedzieć się, co robię o każdej porze dnia / tygodnia i nie muszę się martwić o laptopa. Gdy przeczytam książkę, zacznę uczyć się z kodu.
Teoria, a następnie praktyka.
źródło
Nie kupuję tylu książek programistycznych w formie papierowej, jak kiedyś. Mam abonament na Safari Books Online , gdzie za cenę jednej książki miesięcznie mam nieograniczony dostęp do pełnego tekstu tysięcy książek programistycznych (i innych) od wydawców takich jak O'Reilly, John Wiley & Sons, Addison- Wesley i inni.
Mam też Kindle pierwszej generacji i czasami kupuję do niego książki programistyczne; myślę jednak, że duży Kindle DX (który wyszedł po moim) byłby lepszą platformą dla materiałów technicznych.
źródło
(Łał, 5 głosów pozytywnych i 5 głosów negatywnych - ta opinia wydaje się bardziej kontrowersyjna niż się spodziewałem!)
Nie czytam książek takich jak Code Complete lub podobnych, ani też nie czuję, że powinienem. Co to w ogóle znaczy? Co się stanie, jeśli nie?
Po pierwsze, nie sądzę, że takie książki czynią mnie lepszym programistą. Mogą pracować dla innych ludzi, ale nie dla mnie. Zawarte w nich informacje faktyczne nie są zbyt szczegółowe ani techniczne, więc znam już większość z nich. Reszta to opinie, z którymi mogę się zgadzać lub nie, ale których z pewnością nie będę niewolniczo przyjmować.
Jedyną literaturą związaną z programowaniem, którą naprawdę interesowałem się czytać, są dokumenty czysto techniczne z absolutnym minimum podmiotowości . Do tej pory moimi ulubionymi są specyfikacja języka C # 4.0 i standard Unicode 5.0. Inni uważają, że jest to bardzo sucha i nudna lektura, ale uważam, że angażuje mój umysł i potencjalnie dostarcza informacji, których jeszcze nie znałem.
Aktualizacja 2010-paź-07: Właśnie zwrócono mi uwagę na Pragmatycznego programistę , więc przejrzałem kilka pierwszych stron na Amazon. W części „Kto powinien przeczytać tę książkę?” Napisano: „Być może czujesz się sfrustrowany, że nie osiągasz swojego potencjału. Być może patrzysz na kolegów, którzy wydają się używać narzędzi do zwiększania produktywności od ciebie. ”Uhm, nie. Nic z tego nie dotyczy mnie. Jestem sfrustrowany, ponieważ moi koledzy są znacznie mniej produktywni niż ja (i ich to nie obchodzi). Czuję, że osiągam swój potencjał (i tak niewiele go mam). Więc tak. Nie ma sensu czytać tej książki. Tylko przypadek.
źródło