Например, будучи новичком, я нахожу много вдохновения и направление от чтения этого поста по Bryan Woods .
Например, будучи новичком, я нахожу много вдохновения и направление от чтения этого поста по Bryan Woods .
Ответы:
Я удивлен, что никто не упомянул Прагматичного Программиста . Это необходимо прочитать, если вы вообще заинтересованы в своем ремесле.
перчатки
Этот пост от Daily WTF держал меня на правильном пути. Я признаюсь, что несколько раз начал разрабатывать что-то, где подходящим решением была пара «перчаток».
Прочитайте выступление Алексея Степанова в Adobe. В конце 5 лет это отделит БОЛЬШИХ от ХОРОШИХ.
Я всегда находил, что Coding Horror и Joel on Software вдохновляют на некоторые сообщения в блоге. Они также всегда заставляли меня чувствовать себя хорошо, потому что я поняла, о чем они говорят, и заставила меня думать о себе как о программисте.
Я не могу поверить, что никто еще не упомянул об этом.
Сочинения Пола Грэма , в частности:
И группа людей, по чьим стопам следовать и на чьих плечах стоять (без определенного порядка и перечисленных, как они приходят мне в голову сейчас в свободном потоке): Алан Кей , Ричард Столлман , Кен Томпсон , Деннис Ричи , Брайан Керниган , Тео де Раадт , Линус Торвальдс , Эрик С. Рэймонд , Роб Пайк , Билл Гейтс , Стив Джобс , Джон Маккарти , Джон Конуэй , Мартин Одерский , Джеймс Гослинг , Гай Стил , Дональд Кнут ,Эдсгер Дейкстра , Джон Кармак , Питер Молинье ... Либо их собственные слова и работы были вдохновляющими, либо их истории, рассказанные другими. Пока вы помните, что их навыки и гениальность в одних областях не мешают им быть слепыми по отношению к своим собственным убеждениям в других. Как и все остальные. (2 книги, перечисленные выше, уже достаточно хорошо освещают их, для большинства из них!)
Или менее известные, но, тем не менее, активные технологи, которым интересно следить издалека: Нил Гафтер, Мартин Фаулер , Дон Сайм и т. Д.
Я был вдохновлен работами этих людей и тем, что они делали для достижения (или отказа) от своих проектов.
Читая 2600 в детстве, когда мой английский был зачарованным, история ранних фрикеров, таких как Captain Crunch или рождение эпохи ПК с Возняком в Apple, и чтение книг и эссе Уильяма Гибсона и Нила Стивенсона также вдохновляли меня как программиста Хотя это не относится к программированию напрямую. В этом ключе даже Манифест Хакера , Agile Manigesto или даже такие вещи, как Кодекс этики IEEE, были и остаются вдохновляющими.
Последняя лекция - книга, написанная Рэнди Паушем, человеком, стоящим за Алисой. Это идет вместе с его последней лекцией «Действительно осуществить свои детские мечты». Всегда должен помнить, чтобы быть тигром.
Книга «Элементы стиля программирования » Кернигана и Плаугера очень повлияла на меня, когда я изучал C. К тому времени, когда я ее прочитал, книга уже считалась «устаревшей» из-за использования образцов PL / I и Fortran, но подсказки превзошли оба языка.
Прежде чем читать эту книгу, я был убежден, что «стиль» - это то, что я сейчас рассматриваю тривиальными вопросами, такими как форматирование (сколько места для вкладки? Где вы размещаете фигурные скобки?) Но стиль - это то, что у вас есть, когда вы удаляете правила форматирования и именования. Легче ли построить строку в обратном направлении, а затем перевернуть ее? Затем сконструируйте его задом наперед и переверните.
Другая книга от Kernighan и Plauger, Software Tools , также была полезна, но не настолько хороша. И гораздо более новая книга Кернигана и Пайка «Практика программирования» также полезна, но очень далека от «Элементов стиля программирования» . Я бы хотел, чтобы у меня осталась моя копия. Это стоит того, чтобы каждый программист читал.
Я начал ценить тестирование и QA после прочтения Гленфорда Майерса «Искусство тестирования программного обеспечения» . Это показало мне, что тестирование было настоящим творческим занятием, а не просто чем-то для специалистов по информатике, которые не любят программировать. Возможно, с ростом популярности разработки через тестирование все больше людей обратятся к книге Майерса.
И я не могу придумать лучшего введения в понятие абстракции, чем книга «Структура и интерпретация программ» , которая доступна бесплатно в Интернете. Он вводит язык программирования Scheme, но затрагивает многие другие темы в области компьютерных наук, включая декларативное программирование.
В моей академической карьере я был вдохновлен концепцией Аспектно-ориентированного программирования. Вы можете прочитать некоторые из самых ранних статей об АОП и в итоге получить половину страницы заметок для идей.
Я также думаю, что прогресс Церкви и Тьюринга очень вдохновляет. В 1930-х годах, еще до создания компьютеров, ученые и математики программировали на языке программирования более высокого порядка: лямбда-исчислении. Построение церковных чисел и функции-предшественника, вероятно, одна из самых умных программных разработок. Он показывает вам, как сделать что-то из почти ничего.
Не то, что я читаю. В 1984 году я разговаривал с моим соседом и его другом. Мне было 16. Друг сказал мне, что по сути мир разделен между пользователями компьютеров и программистами. Он сказал, что только самые умные люди в мире могут стать программистами.
Yeeeeee! Какой вызов!
Первоначально Джоэл о программном обеспечении , способ, которым он пишет, позволил очень легко понять концепции, когда я начинал.
Код завершен, второе издание, Стив Макконнелл.
Я полностью самоучка, и мне посчастливилось наткнуться на статью (я давно забыл, где) в начале моей работы, которая указала мне на эти две книги. Трансформация моего кода после того, как я прочитал эти две книги, была ошеломляющей. Я многим обязан этим авторам.
Для вдохновения, Yegge в блоги , очерки Грэма и SICP видеолекции .
Среди множества вдохновляющих идей была последняя книга « Образцы ученичества».
Когда я впервые прочитал « Книгу шаблонов проектирования » в 1995 году или что-то в этом роде, это стало настоящим открытием для меня как программиста.
В настоящее время книга Джеймса Шорса о гибкой разработке очень вдохновила меня, а в последнее время Лисса Адкинс о тренерских командах, обе из которых очень рекомендуются, если вы заинтересованы в таких вещах.
Те, кто имеет восточную склонность, могут насладиться милой книжкой коанов о трансцендентном Дао Программирования .
Это был мой первый шаг на пути к просветлению и первое, что побудило меня задуматься о программировании и творческой работе в целом как о своей непобедимой сущности, которая существует, чтобы быть обнаруженной со временем создателем. Те, кто пытается с этим бороться или понимают это, обязательно потерпят неудачу.
Я должен перечитывать эту статью один раз каждые шесть месяцев. Если ни один из Shareware-профессионалов не в 100 раз умнее вас, то почему некоторые получают в 100 раз больше результатов? - Стив Павлина
Маленький ЛИСПЕР взорвал мой разум.
Я взял уроки паскаля в средней школе. Я уже достаточно хорошо знал C64 basic и спросил учителя, все ли языки программирования были как Basic и Pascal. Он одолжил мне свой экземпляр «Маленького шутника». Потратив выходные на чтение, я не верил, что такой странный язык может существовать или работать. Когда я увидел, что он работает на dial up mini, к которому у него есть доступ, я был поражен. Это существовало.
После моего второго класса программирования университетского уровня; Алгоритмы и структуры данных, я поменял специальности, чтобы получить доступ к лучшей компьютерной лаборатории CS. У них были Unix-машины с lisp, схема, пролог, SmallTalk80 и куча других инструментов.
Код завершен . Он охватывает большинство основных предметов, которые вы должны знать как программист, и дает вам указания, чтобы узнать больше о каждом из них. Очень хороший первый шаг на пути обучения. Я и многие люди, которых я знаю, желают, чтобы они читали это раньше в своей жизни программиста.
Самым вдохновляющим разговором, который я когда-либо слышал, было то, что Ричард Габриэль говорил о том, что написание программного обеспечения похоже на написание стихов. Поэты часто прилагают много усилий, чтобы правильно составить несколько слов, - подумал Хайкус, - и мы должны стремиться к тому же виду совершенства и элегантности при написании программного обеспечения.
Элегантность и лаконичность так же важны в программировании, как и в поэзии и математике, и для этого требуется много усилий, чтобы сделать это свободно.
Смотрите некоторые из пунктов на http://www.dreamsongs.com/PoetryOfProgramming.html
Самая полезная книга за всю историю - не о программировании, а о том, как эффективно работать в этой области: «Peopleware» от DeMarco и Lister. Должно быть на каждой книжной полке программистов. И если вы перейдете в управление, то вдвойне.
Как сказал Алан Кей почти 30 лет назад , точка зрения стоит 80 баллов IQ. Книги, которые изменили мою точку зрения:
«Философские исследования» Людвига Витгенштейна
Иногда мы думаем, что знаем, тогда как на самом деле мы не знаем. У. показывает, как присмотреться.
«Факт, вымысел и прогноз» Нельсона Гудмана
Здесь я узнал, что на самом деле означает слово аналитика . Кроме того, что на самом деле означает слово прагматичный .
Роберт М. Пирсиг "Дзен и искусство ухода за мотоциклом"
Как могут быть вещи лучше других? Почему не все одинаково по качеству? Итак, что общего между хорошими фильмами, хорошими автомобилями, хорошей едой и хорошим программным обеспечением, что делает их хорошими?
Я нашел, как стать хакером очень вдохновляющим. Это также дает работоспособный план развития для программиста.
Душа новой машины (вдохновение, когда я учился в старшей школе) SICP (наверное, одна из лучших книг, связанных с разработкой программного обеспечения, которую я когда-либо читал)
Марвин Минский
Вычисления: конечные и бесконечные машины
Обработка семантической информации
Книга из пяти колец от Myomoto Musasashi.
Некоторые основные моменты.
Нет любимого инструмента. Научитесь использовать каждый инструмент, узнайте, когда это уместно, изучите его слабые и сильные стороны.
Персонал, чья работа не идеальна, может использоваться в местах, где качество их работы находится на виду. Столбы, которые поддерживают пол под зданием, не должны иметь идеальной отделки (они просто должны работать).
Делая одну вещь, делай много вещей. Поэтому, если есть выбор между выполнением A и B, но B можно использовать для многих вещей на следующей неделе, сделайте B, если вы можете себе это позволить.
Я начал с программирования игр. Это все из дней РЭШ. Я стремился быть разработчиком игр, и я достиг этого, но сменил на Application Software / Hardware Analyst для лучшей карьеры, так как моя страна для игровой индустрии слишком нишевая.
В ранние годы я немного сожалел о том, что вступил в эту ИТ-роль. Но позже мои бывшие коллеги были вдохновлены и под влиянием его достижений, и они были довольно активны в этих новых областях технического развития. В свободное время я буду заниматься программированием для работы над личными проектами со своими бывшими коллегами.
Я знаю, что это трудно, но «Искусство компьютерного программирования» Кнута - действительно большое дело в нашей области. И Гедель, Эшер, Бах Дугласа Хофштадтера : «Вечная золотая коса» вдохновляют тех из нас, кто имеет математическую или алгоритмическую склонность.
Просто изобразить кого-то, кто разрабатывает такие сложные методы и алгоритмы почти столетие назад, и это мотивирует меня.