Які речі ви прочитали, що надихнули та керували вами як програміст? [зачинено]


Відповіді:


26

Я здивований, що ніхто не згадав прагматичного програміста . Це обов'язково читати, якщо ти взагалі зацікавився своїм ремеслом.


Раніше це було "обов'язково читати".
kirk.burleson

2
@ kirk.burleson: Це все ще є.
Стівен Еверс

Погодьтесь, читання це допомогло мені багато зрозуміти, що ми робимо і як це робити.
aredkid

Мені подобається `` вибір '' Не розбита строфа. Це не зламано, це просто смокче :)
Tim Post

Нарешті прочитавши його, я погодиться. І я вважаю, що це гідна відповідь.
aredkid

13

Рукавички

Рукавички - уважно погляньте на свою першу редакцію і просто скажіть собі: «рукавички».

Цей пост від Daily WTF тримав мене на правильному шляху. Я визнаю, кілька разів почав розробляти щось, де пара «рукавичок» була відповідним рішенням.


3
Я не розумію.
kirk.burleson

1
Кірк, вам потрібно прочитати пов'язану статтю, щоб відповідь, можливо, мала сенс ... хоча навіть тоді це не так.
Пітер Бауфтон

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

чудовий пост! Відмінно.
Дейв

+1 Я любив @ історію. Я не можу повірити, що вони не зупинилися після "Це геніально: ми можемо використовувати тепло тіла більш ефективно! Таким чином, систему можна було б використовувати і при ходьбі / бігу". коментар.
Еван Плейс

12

Прочитайте виступ Олексія Степанова в Adobe. Наприкінці 5 років це відокремить ВЕЛИКІ від ДОБРИХ.

http://www.scribd.com/doc/210467/Speech-by-Alex-Stepanov


Знаєте, Степанов сказав деякі речі, з якими я жорстоко не згоден, але ця мова є чудовою.
Френк Ширар

@Frank: Будь ласка, поділіться, якщо це може бути пов'язано з програмою, тому що ми всі можемо щось дізнатися від вас. Не будемо говорити про його американські коментарі.
Geek

Його зауваження щодо OOP просто невірно: stlport.org/resources/StepanovUSA.html Він вважає, що OOP є одноразовим і на основі класу, для початку. (CLOS використовує багаторазові розсилки, Self і Javascript засновані на прототипі, як контрприклади.)
Frank Shearar

Чи є інше джерело цього, окрім стенограми? Він зазначив, що у стенограмі є неправильні переклади.
Джонн

@Frank Shearar Хлопець просто переказує простоту на потенційні спагетті, я думаю. Він також читав лекцію російською мовою близько року тому; там він сказав, що віддає перевагу простим речам на кшталт "для, якщо", і по суті не бачить нічого поганого в написанні Паскаля будь-якою мовою, якщо код ефективний і зрозумілий (на відміну від туманно набраного протоколу, як я його розумію).
mlvljr

10

Я завжди знаходив Coding Horror та Joel на Software, щоб надихати певні публікації в блозі. Вони також завжди почували мене добре, тому що я зрозумів, про що вони говорять, і змусив мене думати про себе як про програміста.



8

Читати

Розглядати


Іноді це більше стосується людей ...

І купа людей, слідами яких слід слідувати, і на чиїх плечах стояти (не в конкретному порядку і перерахованих, як вони приходять мені в голову зараз у вільному потоці): Алан Кей , Річард Столман , Кен Томпсон , Денніс Річі , Брайан Керніган , Тео де Раадт , Лінус Торвальдс , Ерік С. Реймонд , Роб Пайк , Білл Гейтс , Стів Джобс , Джон Маккарті , Джон Конвей , Мартін Одерський , Джеймс Гослінг , Гай Стіл , Дональд Кнут ,Едсгер Дайкстра , Джон Кармак , Пітер Моліне ... Або власні слова та твори були натхненними, або їхні розповіді розповідали інші. Поки ви пам’ятаєте, що їхні вміння та геніальність у деяких сферах не заважають їм бути сліпими за власні переконання в інших. Як і будь-хто інший. (Дві книги, перелічені вище, вже досить добре висвітлюють їх для більшості!)

Або менш відомі, але тим не менш активні технологи, які цікаво стежити здалеку: Ніл Гафтер, Мартін Фаулер , Дон Сайм та ін.

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

Іноді це більше стосується культури та мрії, а також розбиття бар'єрів ...

Читання 2600 у дитинстві, коли моя англійська була еміонічною, історія про ранніх фрикерів, таких як Капітан Крунч чи народження епохи ПК з Возняком у Apple, та читання книг та нарисів Вільяма Гібсона та Ніла Стівенсона також були для мене програмістом як натхненником , хоча це не стосувалося програмування безпосередньо. З цього приводу навіть натхненний маніфест Хакера , маневреність Agile або навіть такі речі, як Етичний кодекс IEEE були і залишаються натхненними.


+1 для співбесіди у воротах / робочих місцях. Чудове інтерв'ю та абсолютно коректне запитання господарів проти гостей.
Стівен Еверс

++ за 11 посилань на 11 слів
сова

@sova: спасибі, мені довелося їх викопати, але я зрозуміла, що це може бути корисним. Думаючи про це, просто вказівка ​​на пошук у YouTube може бути кращою, якщо вони видаляються.
haylem

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

@Joschua: приємна довідка дійсно. Я насправді не слідкував за досягненнями Голландії безпосередньо, але ще деякий час слідкував за новинами, що оточують CCC. Бракує вільного часу на все це зараз, чесно. :(
haylem

7

Остання лекція - книга, яку написав Ренді Пауш, людина, що стоїть за Алісою. Це йде разом з його останньою лекцією "Дійсно досягти своєї дитячої мрії". Завжди треба пам’ятати, що тигр.


6

це дуже короткий список, складений з двох книг:

  • голова спочатку - шаблони дизайну
  • чистий код

5

З точки зору настанов

Книга «Елементи стилю програмування» Керніган та Плагер була для мене дуже впливовою, коли я навчався С. На той час, коли я її читав, книга вважалася «застарілою» завдяки використанню зразків PL / I та Fortran, але поради переступили обидві мови.

Перш ніж прочитати цю книгу, я переконався, що "стиль" стосується того, що я зараз вважаю тривіальними питаннями, як-от форматування (скільки пробілів для вкладки? Де ви розміщуєте фігурні фігури?). Але стиль - це те, що ви маєте, коли ви видалите конвенції про форматування та іменування. Чи легше сконструювати рядок назад, а потім повернути його назад? Потім побудуйте її назад і поверніть назад.

Ще одна книга Kernighan and Plauger, Software Software , також була корисною, але не настільки хорошою. І набагато новіша книга «Практика програмування» Керніган і Пайк також корисна, але далеко від «Елементи стилю програмування» . Я б хотів, щоб я все-таки мав свою копію. Варто прочитати кожного програміста.

Я поцікавився тестуванням і якістю, прочитавши Glenford Myers The Art of Software Testing . Це показало мені, що тестування - це справжня творча діяльність, а не просто щось для спеціальностей з інформатики, які не люблять програмувати. Можливо, зі зростаючою популярністю Тестово-розвиненого розвитку все більше людей звернеться до книги Майєрса.

І я не можу придумати кращого вступу до поняття абстракції, ніж книга "Структура та інтерпретація програм" , яка доступна безкоштовно в Інтернеті. Він вводить мову програмування схеми, але стосується багатьох інших тем інформатики, включаючи декларативне програмування.

З точки зору натхнення

У своїй академічній кар’єрі мене надихнула концепція програмування, орієнтованого на аспекти. Ви можете прочитати деякі з самих ранніх статей про AOP і закінчити півсторінок заміток для ідей.

Я також думаю, що прогрес Церкви та Тюрінга дуже надихає. У 1930-х роках, ще до того, як комп'ютери навіть були зроблені, вчені та математики програмували мовою програмування вищого порядку: обчисленням лямбда. Побудова номерів Церкви та функція попередника - це, мабуть, одна з найрозумніших конструкторських програм. Він показує, як зробити щось практично з нічого.


1
Якщо ви читаєте про AOP, не забудьте попередню роботу Kiczales et al у формі "Мистецтво протоколу MetaObject" .
Френк Ширар

Надійність програмного забезпечення Myer : Принципи та практики теж досить добре прочитані.
Френк Ширар

+1 для SICP в інструкції
Inaimathi

5

Не те, що я читав. У 1984 році я розмовляв із сусідом та його другом. Мені було 16. Друг сказав мені, що по суті світ розділений між користувачами комп'ютерів та комп'ютерними програмістами. Він сказав, що програмістами можуть стати лише найрозумніші люди у світі.

Yeeeeee! Який виклик!


5

Оригінал Джоель із програмного забезпечення , спосіб його написання дуже легко зрозумів поняття, коли я починав.


2
Він хороший письменник, і я люблю читати його речі. Просто беріть частину з зерном солі, інакше ви можете пригнітитися, якщо ви не розробник рок-зірки.
kirk.burleson

1
Я хочу бути розробником рок-зірки, як я хочу бути мішком.
Джонатан Стерлінг

5

Кодекс повний, друге видання Стіва МакКоннелла

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

Я цілком самоук, і мені пощастило натрапити на статтю (я давно забув куди) на початку своєї роботи, яка вказала мені на ці дві книги. Перетворення мого коду після того, як я прочитав ці дві книги, був приголомшливим. Я дуже завдячую цим авторам.



3

Серед багатьох натхнень найсвіжішою була ця книга на тему: Шаблони учнівства


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

3

Коли я вперше прочитав « Книгу шаблонів дизайну» в 1995 році або щось таке, це було справжнім відкриттям очей для мене як програміста.

На сьогоднішній день книга про Джеймс Шорс про спритний розвиток розвинула мене натхненно, а останнім часом Лісса Адкінс про тренерські команди, яких обох настійно рекомендую, якщо вас цікавлять такі речі.


3

Люди східного схилення можуть насолодитися милою книжкою коанів про трансцендентне Дао програмування .

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



3

Маленький LISPer підірвав мій погляд.

Я взяв клас середнього шкільного програмування. Я вже досить добре знав C64 basic і запитав у вчителя, чи всі мови програмування схожі на Basic та Pascal. Він позичив мені свою копію Маленького LISPer. Провівши вихідні, читаючи це, я не вірив, що така дивна мова може існувати або працюватиме. Коли я побачив, як він бігає на комутований міні, до якого він має доступ, я перейшов у ногу. Воно існувало.

Після мого другого класу з програмування університетського рівня; Алгоритми та структури даних, я переключив спеціальні спеціалісти, щоб отримати доступ до кращої лабораторії CS Computer. У них були машини Unix з Lisp, Schema, Prolog, SmallTalk80 та тонна інших інструментів.


3

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


3

Найбільш надихаюча розмова, яку я коли-небудь чув, - Річард Габріель говорив про те, що програмне забезпечення для написання подібне до написання віршів. Поети часто докладають великих зусиль, щоб отримати кілька слів просто правильно - подумайте Хайкус - і ми повинні прагнути до того ж виду досконалості та елегантності, коли пишемо програмне забезпечення.

Елегантність і стислість так само важливі в програмуванні, як і в поезії та математиці, і для цього потрібно багато зусиль, щоб зробити це вільно.

Дивіться деякі пункти на веб-сайті http://www.dreamsongs.com/PoetryOfProgramming.html


Я поділив офіс з Річардом в MIT ще близько 74-х.
Майк Данлаве

2

Найкорисніша одиночна книга коли-небудь - не про програмування, а про те, як ефективно працювати в цій галузі: «Програмне забезпечення людей» від DeMarco та Lister. Повинна бути на кожній полиці книг програмістів. А якщо перейти до управління, подвійно.


2

Як сказав Алан Кей майже 30 років тому , точка зору вартує 80 балів IQ. Книги, які змінили мою точку зору:

  • "Філософські дослідження" Людвіга Вітгенштейна

    Іноді ми думаємо, що знаємо, а насправді, ми не знаємо. В. показує, як уважніше подивитися.

  • "Факт, вигадка та прогноз" Нельсона Гудмена

    Тут я дізнався, що насправді означає слово аналітичний . Також, що насправді означає слово прагматичний .

  • "Дзен і мистецтво обслуговування мотоциклів" Роберт М. Пірсіг

    Як можуть бути речі, які кращі за інші речі? Чому все не однаково, якісно? IOW, що спільного між хорошими фільмами, хорошими машинами, гарною їжею та гарним програмним забезпеченням, що робить їх гарними?



2

Душа нової машини (натхнення, коли я навчався в середній школі) SICP (напевно, одна з найкращих книг, пов’язаних із розробкою програмного забезпечення, яку я коли-небудь читав)


Душа нової машини Tracy Kidder повинна бути прочитана для кожного професійного програміста. Я дав копії кожному новоспеченому розробнику Wannabe, яким я займався протягом багатьох років. Просто розуміння його концепції «підписки» коштує ціни та часу.
Росс Паттерсон

1

Марвін Мінський

  • Обчислення: кінцеві та нескінченні машини

  • Семантична обробка інформації


1

Сет Годін , хоч і зовсім не пов'язаний з програмуванням, має кілька надихаючих постів для мене як програміста і сподіваючоїся ділової людини (крім Joel on Software).


1

Книга з п’яти каблучок Myomoto Musasashi.

Деякі основні моменти.

Немає улюбленого інструменту. Навчіться користуватися кожним інструментом, дізнайтеся, коли його доречно використовувати, дізнайтеся його слабкі та сильні сторони.

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

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


1

Я почав з програмування ігор. Все це відбувається з днів NES. Прагнув бути розробником ігор, і я досяг цього, але змінив його на Прикладне програмне забезпечення / Аналіз апаратних засобів для кращої кар’єри, оскільки моя країна для ігрових галузей занадто ніша.

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


1

Я знаю, що це важко читати, але «Мистецтво комп’ютерного програмування» Кнута - це дійсно велика угода в нашій галузі. А Геглад , Ешер, Бах Дугласа Хофштадтера : Вічна золота коса надихає тих, хто з нас з математичним або алгоритмічним нахилом.


Я читав Кодери на роботі ( en.wikipedia.org/wiki/Coders_at_work ), і майже всі опитані програмісти посилаються на книгу Кнут, тож, безумовно, відчувається, що треба прочитати.
fejd

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