Poproszę jeden na odpowiedź. Dodam mój ulubiony jako odpowiedź.
Poproszę jeden na odpowiedź. Dodam mój ulubiony jako odpowiedź.
Odpowiedzi:
Kompletny kod : Steve McConnell. Nie sądzę, żeby to wymagało wyjaśnienia. To ostateczna książka na temat budowy oprogramowania. Niezwykle dobrze napisany i obejmuje wszystkie aspekty praktycznej (programistycznej) strony tworzenia oprogramowania.
Łatwo.
Kiedy zobaczyłem, że SICP jeszcze nie ma na liście, skrzywiłem się z bólu. :)
Dlaczego: Nic więcej nie można dodać do chwalenia tej książki przez Norviga jako najlepsze wprowadzenie do informatyki, jakie kiedykolwiek napisano. No dobrze, skoro Dlaczego? został poproszony: SICP obejmuje podstawy oprogramowania w sposób satysfakcjonująco głęboki, podnosząc wiele perspektyw i pytań na temat natury obliczeń - z których wiele pozostaje kwestiami otwartymi - jednocześnie prowadząc czytelnika do wykraczania poza powierzchowne aspekty mówienia maszynie zrobić lub jak to zrobić.
alt text http://ecx.images-amazon.com/images/I/41CPGEDXMDL._SL500_AA300_.jpg
Kliknij obraz, aby przejść do darmowego tekstu online . Można również łatwo znaleźć wykłady wideo autorów , w tym w kolorze i stroju w stylu lat 80-tych.
Warte wspomnienia:
Wzory projektowe: elementy oprogramowania obiektowego wielokrotnego użytku
To książka do czytania na OOP projektowania i architektury. Wzory są dobre, gdy są właściwie stosowane, ale myślę, że prawdziwą wartością tej książki jest to, że daje zestaw narzędzi do wykorzystania podczas projektowania.
Języki, ramy, metodologie przychodzą i odchodzą, ale wiele pomysłów w tej książce jest, jak podejrzewam, na zawsze.
Właśnie policzyłem dziś moje książki. 23 z nich. To zależy od tego, nad czym pracuję. Myślę, że ponadczasową odpowiedzią jest „język C”, autor: Kernighan i Ritchie .
Skutecznie współpracuje ze starszym kodem Michaela Feathersa.
Zawiera wiele dobrych wskazówek na temat testowania i zarządzania istniejącą bazą kodu, z których większość nie wiedziałam, dopóki nie przeczytałam tej książki. Koniecznie przeczytaj, nawet jeśli starszy kod, z którym pracujesz, to Twój własny kod, który napisałeś wczoraj.
Sztuka programowania komputerowego Donalda Knutha
Skuteczna Java Josh Bloch
Współbieżność Java w praktyce Brian Goetz, i in. glin.
Puzzle Java Josh Bloch, Neal Gafter
Coders at work autorstwa Petera Seibela
Ciekawe i inspirujące, gorąco polecam.
Gödel, Escher, Bach.
Getting Things Done (David Allen) uczy, jak radzić sobie z tysiącami małych zadań, które musisz wykonać w codziennej pracy jako programista. Chociaż nie jest specjalnie skierowany do programistów, jest zdecydowanie nieocenioną pomocą, ponieważ tworzenie oprogramowania zazwyczaj wymaga bardzo dużej liczby małych zadań, które należy wykonać w sposób priorytetowy. Na przykład: jakie nowe funkcje wdrożyć, które błędy naprawić, które części kodu refaktoryzować, które części kodu odpocząć lub ponownie przetestować itp.
Język programowania C ++ autorstwa Bjarne Stroustrup
Zen of Code Optimization autorstwa Michaela Abrasha
Obowiązkowa lektura dla programistów działających w czasie rzeczywistym - nawet jeśli informacje o procesorze są datowane, sposób myślenia jest nieoceniony.
Czy iPad się liczy? Chciałbym powiedzieć, że moim numerem 1 na półce jest przeglądarka internetowa i możliwość wyszukiwania. Interfejs API online i referencje są najlepszym miejscem i będzie zależeć od mojego obecnego zestawu projektów.
Wzory projektowe w Rubim:
„Pułapki rozwoju obiektowego” Bruce'a F. Webstera
Mamy zbyt wielu programistów „OO”, którzy wciąż nie wiedzą, czym jest obiekt lub klasa ani do czego służy; nie wiem, jak wygląda dobre OO, programowanie proceduralne, modułowe i ustrukturyzowane; i jakoś poradzić sobie ze źle skonstruowanym pseudo-proceduralnym kodem razem z klasami.
Ta książka (plus kilka starych lat 70-tych na temat projektowania strukturalnego) bardzo by pomogła tym biednym duszom w końcu zrozumieć, jak powinna wyglądać dobra orientacja obiektowa.
Co więcej, są szanse, że gdybym był zmuszony wybrać jedną książkę i tylko jedną książkę obok tej, nie wybrałbym książki specyficznej dla technologii .
Jest to jedna z niewielu książek programistycznych, które zachowałem, kiedy zaczynałem programować. Często pożyczałem to ludziom, którzy po raz pierwszy zaczynali. Teraz nie tak bardzo, ponieważ C nie jest już pierwszym językiem programowania wielu ludzi. Świetnie sobie radzi z opisywaniem tego, co dzieje się za kulisami, a opisy wskaźników wnoszą prawdziwą jasność do tego, co dla wielu byłoby bardzo mylące.
Jon Skeet „c # in Depth”
Projektowanie obiektów: role, odpowiedzialność i współpraca
To zdecydowanie moja ulubiona książka programowa (nawet jeśli nie jest zależna od języka). Moim skromnym zdaniem jest książka, która lepiej przedstawia sprawę dotyczącą projektowania przedmiotów, które odnoszą się do ich kuzynów / braci / sąsiadów. Musi mieć na każdej poważnej półce dla programistów.
Jedna z moich najbardziej lubianych książek;