Якби у вас на книжковій полиці була лише одна книга, пов'язана з програмуванням, що це було б і чому? [зачинено]


58

Один за відповідь, будь ласка. Я додам свою улюблену як відповідь.


13
Чи вважається Kindle однією книгою?
Wizard79

5
Ні. Грайте ярмарок зараз!
Paddyslacker

1
Як щодо iPad?
Моше

3
Чи вважається мистецтво комп'ютерного програмування однією книгою чи кількома?
Девід Торнлі

2
@David Я думаю, що це технічно одна книга в декількох томах.
Paddyslacker

Відповіді:


69

Код завершено 2-е вид.

Код завершено Стівом МакКоннеллом. Я навіть не думаю, що це потребує пояснень. Це остаточна книга про побудову програмного забезпечення. Неймовірно добре написано і охоплює всі аспекти практичної (програмувальної) сторони створення програмного забезпечення.


+1 також для вибору другого видання - стільки вдосконалень над першим, що його інша книга.
Paddyslacker

+1 - У мене є переклад на італійський. Після цього я ніколи не купував іншої програми програмування чи технічної книги, перекладеної моєю мовою, оскільки переклад був жахливим. Мені довелося придбати англійське видання, щоб насправді зрозуміти деякі речення!
Wizard79

Для тих, хто живе в Квебеку, Канада . BAnQ має повну версію цієї книги, доступну в Інтернеті за цим місцезнаходженням: library.books24x7.com.res.banq.qc.ca/toc.asp?bookid=10482 .
HoLyVieR

4
Я не можу погодитися. Цікаво, що слово незмінне навіть у цій книзі не існує.
Йонас

2
Хоча я зберігаю свою копію першого видання, я думаю, що до неї ніколи не повертався. Причиною може бути те, що важливо взяти книги з кожної з тем, які МакКоннел вважає важливими.
Апалала

56

Легко.

Прагматичний програміст


6
+1 за реалістичність. Ця книга є доречною, легкою для читання, і, мабуть, книжка, яку багато розробників справді можуть отримати користь від фактичного читання. Занадто багато інших у цьому списку важкі, і я сумніваюся, їх прочитали на обкладинці.
губка

Ця відповідь повторюється.
clrod

+1 - моя друга улюблена книга програмування за програмою Code Complete (і, чесно кажучи, іноді вона перша)
Алан,

36

Структура та інтерпретація комп'ютерних програм, відома також як SICP

Коли я побачив, що SICP ще не був у списку, я скривився від болю. :)

Чому: Більше нічого не можна додати до того, що Норвіг вихваляв цю книгу як найбільший вступ до інформатики, написаної коли-небудь. Ну добре, оскільки Чому? було запропоновано: SICP висвітлює основи програмного забезпечення досить глибоко, піднімаючи багато поглядів і питань щодо природи обчислень - досить багато з них залишаються відкритими питаннями, при цьому змушуючи читача бачити поза поверхневими аспектами того, щоб сказати машині, що робити, або як це зробити.

alt text http://ecx.images-amazon.com/images/I/41CPGEDXMDL._SL500_AA300_.jpg

Клацніть на зображення, щоб перейти до вільного тексту в Інтернеті . Ви також можете легко знайти відео лекції авторів , в комплекті з кольором і одягом стилю 80-х років.


2
Всі вітають SICP. IMO, це має бути підручник для обов'язкового вступного курсу програмування у всіх школах CS. Це, безумовно, відпаде від людей, які не можуть реально скоротити програмування (набагато менше CS), одночасно зміцнюючи CS та навички програмування для тих, хто має потенціал.
luis.espinal

1
@ luis.espinal SICP здається непосильним для вступного програмування (якщо ми не говоримо про аспірантуру). Є причина, чому MIT відмовився від курсу SICP як свого вступного курсу .... Все ж я погоджуюся, що цінно пройти цю книгу (і зробити вправи ...), але зробити це в стандартному семестрі коледжу було б важко навіть вище середнього студента. Крім того, вступ з Java / Python / Ruby / C є більш важливим для робочої сили, чим швидше ви звикнете до імперативних мов, тим краще ... SICP чудово підходить для розширення кругозору. Але це може не відштовхуватись від вступного курсу ...
Cervo

1
@Cervo - Це серйозне занепокоєння, і це здається непосильним, але (і це я повністю визнаю суб'єктивною позицією), я твердо переконаний, що це дає більш глибоку основу, ніж звичайно можна знайти з іншими основними підходами. Журі все ще не працює з MIT, коли вони перейшли на Python (деякі з причин полягають у тому, що він також має можливості FP, і він сильно піддається науковому обчислюванню та робототехніці, що не є.) Нічого не так з Python (я фактично люблю мову), але присяжних не буде, поки не вийде версія Python'esque SICP.
luis.espinal

2
@ con't - Тобто, я пропоную SICP не через схему, а через її педагогічний зміст. Я б насправді запропонував почати з складання (люди це зробили досить успішно), але немає таких збірних книг (і, мабуть, таких ніколи не буде), як у СІМП. Найближчою буде енциклопедія Кнута (і це було б надмірністю). Що стосується Яви , я працював з нею 12 років, і я не рекомендував би її для викладання .. отримує роботу, але це жахливо, як ПЛ. C, Python або Ruby - це набагато краще розроблені мови.
luis.espinal

1
@ con't - також я застеріг би від використання мови як педагогічного інструменту, оскільки вона є основною. Мейнстрім змінюється кожні 2-3 роки, а з Java мова проста, але завдання полягає у вивченні JVM, бібліотек та архітектури. Я б сказав, щоб вивчити розвиток Java та .NET на 4 курсі коледжу. І я вважаю (я знаю, суб'єктивним ), що важливо надати жорсткість на початку. У нас є занадто багато програмістів, що вказують на n-клацання, які потребували певної суворості на початку. Я заробив багато грошей, очищаючи лайно, яке вони залишили після себе, але все-таки;)
luis.espinal

32

Варто згадати:

Міфічна людина-місяць

alt текст


1
Якби я міг коли-небудь прочитати одну книгу про програмування, і після того, як я закінчую її читання, вона проходить, і я ніколи не бачу іншої книги протягом решти часу, це було б це. Якщо мені доведеться тримати книгу на своїй полиці, щоб потім її переглянути, це може бути інший, більш орієнтований том. +1 все одно!
SingleNegationElimination

Мені сподобалася ця книга і я її читав до кінця. Однак велика частина матеріалу стосується лише великих масштабних проектів, у яких сотні чи навіть тисячі людей працюють над нею як ОС; оскільки саме з цього він черпає свій досвід. Я вважав, що Code Complete є набагато кориснішим з точки зору знань, якими я можу користуватися щодня і які застосовуються до мене.
Деспертар

30

У нас було четверте видання, але це чудова книга про алгоритми!
Кріс

@Chris: Я не думаю, що існує четверте видання. Третє видання - з вересня 2009 року, тож воно нове.
Йонас

Errr, друге видання із зеленою обкладинкою.
Кріс

Це необхідний підручник для мого класу цього терміну. Мені подобається, що це в списку тут, і що воно так високо оцінено за оригінальне питання ТАК!
Попс

28

Шаблони дизайну: елементи багаторазового об'єктно-орієнтованого програмного забезпечення

Це книга для читання по дизайну та архітектури ООП. Шаблони хороші при правильному використанні, але я думаю, що справжня цінність цієї книги полягає в тому, що вона дає вам набір інструментів ідей, які слід використовувати при розробці.

alt текст


OOP не представляє меж програмування.
Inaimathi

Оскільки каталогів зразків (у цій книзі є багато), цінність цієї книги з часом значно зменшилася.
Стівен Еверс

1
Чи багато людей читають цю обкладинку? Я вважаю, що це більше довідник, ніж книга. (І посилання, яке ви не можете шукати.)
idbrii



25

Я просто сьогодні порахував свої книги. 23 з ’їм. Це залежить від того, над чим я працюю. Я здогадуюсь, що позачасовою відповіддю є "мова С", Керніган та Річі .

введіть тут опис зображення


3
Одна з найкращих книг з викладання мови в історії обчислень. Хороший приклад того, як слід писати книгу програмування.
Wizard79

1
І варто стояти на полиці, швидше знайти коди формату printf у книзі, ніж у довідкових документах MSDN
Мартін Бекетт

19

Ефективна робота зі спадковим кодексом Майкла Пір'я.

Він містить багато хороших порад, як отримати існуючу кодову базу під тестуванням та керованість, про більшість з яких я не знав, поки не прочитав цю книгу. Необхідно прочитати, навіть якщо застарілий код, з яким ви працюєте, - це ваш власний код, який ви написали вчора.

Ефективна робота зі спадковим кодексом


Яке чудове покриття.
Попс

Це, як це моє теперішнє спрямування: отримання коду, який я писав до того, як я був "тестово керований", в стан, який можна перевірити.

+1 Багато разів так. Ця книга мені дуже допомогла в оновленні старого коду.
Грант Пейлін

18

1
Я не впевнений, що це кваліфікується як "1 книга" (якщо ви справді не маєте на увазі "просто том 1")
Inaimathi

У мене є ціла серія, але я би погодився на Том 1. (Мій перший клас з інформатики викладався з цього в 1967 році. Це було безцінно). "Знайте свої структури даних".
Іра Бакстер

15

Обов’язкові книги Java:

Ефективна Java Джоша Блоха

alt текст

Конкурс Java на практиці Брайан Гец та ін. ін.

alt текст

Головоломки Java Джош Блок, Ніл Гафтер

alt текст


3
+1 для ефективної Java. Значно покращив мої навички Java.
Райан Хейс

+1 для ефективної Java , -1 для ігнорування одного за відповідь, будь ласка .
Марк Бут

Один набір книг на Java, який у вас повинен бути
Crowie


9

Гедель, Ешер, Бах.

alt текст!


1
Га! Це був мій вибір у списку книг, пов’язаних із непрограмуванням! Я гадаю, це робить це не класифікованим?
Paddyslacker

Мені дуже сподобалась ця книга, її настійно рекомендувала моя професорка з теорії обчислень в UW Madison - дуже допомогла, коли спробувала зрозуміти, про що, чорт, йде мова.
Пітер Тернер

@Paddyslacker, GEB витрачає зовсім небагато часу, розмовляючи про обчислюваність та різні концепції інформатики.

5

Прагматичний програміст: від мандрівника до магістра (Ендрю Хант та Девід Томас)


4

Отримати справи (Девід Аллен) вчить, як впоратися з тисячами дрібних завдань, які потрібно виконати у щоденній роботі як розробник програмного забезпечення. Хоча це не спеціально орієнтоване на розробників, це, безумовно, неоціненна допомога, оскільки розробка програмного забезпечення, як правило, передбачає дуже велику кількість невеликих завдань, які потрібно виконувати заздалегідь. Наприклад: які нові функції реалізувати, які помилки виправити, які частини коду відрефактувати, які частини коду відпочити чи повторно протестувати тощо ...




2

Дзен оптимізації коду Майкла Абраша

Дзен оптимізації коду

Обов'язкове читання програмістам у режимі реального часу - навіть якщо інформація про процесор датується, мислення є неоціненним.


2

Чи зараховується iPad? Хочу сказати, що мій номер 1 на моїй книжковій полиці - це веб-браузер та можливість пошуку. Інтернет-API та посилання - найкраще місце, і це залежатиме від мого поточного набору проектів.


2
Ні, це не так. Дивіться коментар про Kindle вище. Це сказав, що я люблю iPad будь-коли. Це може бути цінним ресурсом, але це все ще не справжня книга. +1, я в прихильному настрої. :)
Моше


2

Брюс Ф. Вебстер "Підводні камені об'єктно-орієнтованого розвитку"

У нас занадто багато розробників "OO", які досі не знають, що таке об'єкт чи клас чи для чого це; не знаю, як виглядає добре OO, процедурне, модульне та структуроване програмування; і якимось чином вдається обмацувати погано зроблений псевдопроцедурний код разом із класами.

Ця книга (плюс декілька 70-х років про структурований дизайн) допоможе цим бідним душам нарешті зрозуміти, як повинна виглядати хороша орієнтація на об'єкт.


Крім того, є ймовірність, що якби я був змушений вибрати одну книгу та одну книгу лише поруч із цією, я б не вибрав специфічну для цієї книги книгу .


1

alt текст

Це одна з небагатьох книг програмування, яку я зберегла, коли вперше розпочала програмування. Раніше я багато позичав людям, які першими починали. Зараз, не так вже й багато, оскільки мова C програмою вже не дуже багато людей. Це чудова робота з опису того, що відбувається за лаштунками, а його описи щодо покажчиків приносять справжню ясність тому, що інакше є дуже заплутаною темою для багатьох.


1

Джон Скіт "c # у глибині"

alt текст


1
Мені фактично не сподобалася книга Йона. Інформація була гарна, але в книзі було так багато "о, це важливо 10 глав", що було дуже погано викладено.
Стівен Еверс

2
Будьте в курсі, є друге видання, яке є оновленням від першого, а також охоплює C # 4.
Грант Пейлін

1

Дизайн об'єкта: ролі, відповідальність та співпраця

alt текст

Це далеко не моя улюблена книга програмування (навіть якщо вона не залежить від мови). На мою скромну думку, книга, яка краще представляє справу про те, як проектувати предмети, що стосуються їх двоюрідних братів / братів / сусідів. Потрібно мати будь-яку серйозну книжкову полицю програміста.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.