Czy programiści, którzy czytają książki związane z programowaniem, wciąż są rzadcy? [Zamknięte]


21

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?”

Odpowiedzi:


19

Wydaje się, że wszyscy odpowiadają na to pytanie osobiście, jak w „Czytam takie a takie”. Jednak jako osoba przebywająca na tej stronie, jesteś już o krok od swojego „przeciętnego” programisty IMO. To dramatycznie wypacza liczby. Aby odpowiedzieć bezpośrednio na pytanie: tak, programiści czytający książki to rzadka rasa. Pracowałem z dziesiątkami programistów i znam tylko dwóch lub trzech, którzy wybiorą książkę, aby rozwiązać problem. Większość z nich szukałaby w Google określonego programu lub po prostu patrzyła tępo w ekran, mając nadzieję na boską inspirację. :-)

A książki „teoretyczne”, takie jak Pragmatic Programmer i Code Complete, są jeszcze rzadziej czytane przez przeciętnych programistów. Jeśli programista będzie czytał książkę, bardziej prawdopodobne jest, że będzie to książka techniczna na temat określonego języka, struktury lub technologii, nad którą pracują. „Miękkich” książek nie ma nawet na większości radarów programistów.


6

Nie mogę przestać powiększać mojej listy życzeń Amazon. Najnowsza książka, nad którą pracowałem, to Clean Code autorstwa Roberta C. Martina (wujek Bob). Ostatnio grupa programistów w mojej okolicy utworzyła nawet klub książki, abyśmy mogli wspólnie uczyć się najlepszych praktyk i wymieniać się doświadczeniami. Nie sądzę, że byłbym tym samym programistą, gdybym nie czytał książek na temat programowania. Istnieje ogromne bogactwo materiałów i fajnie jest, gdy ktoś je dla ciebie skondensuje i da ci punkt wyjścia, zanim zaczniesz eksperymentować na własną rękę.


3
Klub książki brzmi jak świetny pomysł!
JBRWilkinson

5

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:

  • Zen of Code Optimization autorstwa Abrash - myślę, że jest to główny powód, dla którego jestem dzisiaj programistą czasu rzeczywistego.
  • Ruminacje na C ++ autorstwa Koeninga i Moo - Prawdziwa wartość iteratorów i STL nie kliknęła, dopóki nie przeczytałem tego.
  • Refaktoryzacja przez Fowlera - nauczyła mnie strukturyzować i przekształcać kod.
  • Ekstremalne programowanie wyjaśnione przez Becka - mimo że nigdy nie piłem całkowicie zwinnej pomocy kool, ta książka zmieniła sposób, w jaki myślę o wymaganiach, testowaniu i zarządzaniu procesem programowania.

Nauczyłem się kodować w szkole, ale nie nauczyłem się dobrze kodować, dopóki nie przeczytałem świetnych książek.


5

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.


4

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.


Zgadzam się, większość rzeczy, które mogę przeczytać z książki, mogę znaleźć o wiele bardziej efektywnie w Internecie. Jedynym powodem, dla którego właśnie zamówiłem pierwszą książkę związaną z oprogramowaniem, jest fakt, że firma, w której właśnie zaczynałem, oferuje budżet na książki w wysokości 150 euro rocznie.
Matthijs Wessels

Nie zgadzam się. Ostatnio uczyłem się zwinnych praktyk i nie miałem pojęcia, jak ich używać, dopóki nie przeczytałem książek na temat rozwoju opartego na testach i ciągłej integracji z niektórych „Kent Signature Signature Books”.
Brian D.

4

Naprawdę kocham programowanie książek. Mam ich ponad 150. I wciąż jest miejsce na więcej.


3

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.


Jak oceniasz „wysoką jakość” poza zainteresowaniem? Recenzje / rankingi Amazon? Osobiste rekomendacje?
JBRWilkinson

@JBRW: książki, które wydają się być ogólnie uznane za bardzo dobre. np. Kod Kompletny. Poza tym, książki z przełomem również mają dobrą jakość.
Paul Nathan

3

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.


3
„Liderzy są czytelnikami” - Tony Robbins, „
Przebudź

2

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 .


2

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.


1

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.


Czytałem, że do faktycznego studiowania książki elektroniczne są lepsze. Nawigacja i notatki.

Spędziłem dużo czasu na mobilnej wersji O'Reilly Safari na moim kindle. Zdecydowanie mogę to polecić. Książki są ponownie sformatowane w celu zapewnienia optymalnego renderowania, aw razie potrzeby można powiększać obrazy.
Joeri Sebrechts,

1

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.


1

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ć.


Nie obwiniaj ich, że nie podnieśli książki. Object Thinking to najmniej praktyczna książka o OO, jaką kiedykolwiek czytałem.
Ed James

0

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.


0

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.


0

(Ł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.


1
Standard Unicode? Naprawdę? Widzę górę świetnych informacji, które można wydobywać ze standardu C #, ale Unicode?
Robert Harvey

1
@Robert: Jestem zaskoczony, że tak mówisz. Specyfikacja C # dotyczy tylko programowania. Standard Unicode zapewnia bogactwo rzeczywistych informacji o światowych systemach pisania, ich historii, ich relacjach z językami, ich geografii i ich bagażu kulturowym, a także wszystkie rzeczy związane z programowaniem / techniką.
Timwi

2
-1 Jeśli sądzisz, że Code Complete lub podobne książki niczego Cię nie nauczą ...: - /
Khelben

@ Timwi: bardzo łatwo jest argumentować, że książka X niczego cię nie nauczy, jeśli jej nie przeczytasz ... ale skąd możesz to wiedzieć?
JBRWilkinson

@JBRWilkinson: Nie twierdzę, że wiem o książce, której nie czytałem. To tylko moje doświadczenie z książkami, które przeczytałem.
Timwi
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.