10 книг для программистов, которые хотят стать эффективнее


Оглавление (нажмите, чтобы открыть):

Python для детей

Python — очень популярный язык программирования. На нем написаны многие мобильные банки, популярные приложения для браузера и программы, которыми вы пользуетесь каждый день. При этом язык очень прост в изучении и подходит для обучения программированию детей. И, конечно, взрослых. Вы создадите собственную игру, даже целых две!

JavaScript для детей

Эта книга позволит вам погрузиться в программирование и с легкостью освоить JavaScipt. Вы напишете несколько настоящих игр — поиск сокровищ на карте, «Виселицу» и «Змейку». На каждом шаге вы сможете оценить результаты своих трудов — в виде работающей программы, а с понятными инструкциями, примерами и забавными иллюстрациями обучение будет только приятным.

Scratch для детей

Scratch — простой, понятный и невероятно веселый язык программирования для детей. В нем нет кодов, которые нужно знать назубок и писать без ошибок. Все, что требуется, — это умение читать и считать. Как из конструктора, при помощи Scratch можно собирать программы из разноцветных «кирпичиков» — блоков. В программу можно вносить любые изменения в любой момент, и сразу видеть, как она работает.

Программирование для детей

Самоучитель, который почти два года не выходит из топа продаж. Мы живем в цифровую эпоху. И если вы хотите, чтобы ребенок был успешен и нашел себя в будущем, помогите ему ― учите программированию уже сейчас. И даже если он не выберет карьеру программиста, эти занятия помогут ему развить логику, научат мыслить аналитически и находить решения непростых задач.

Читайте, учитесь и создавайте собственные программы. Это клево ��

Книги, которые стоит прочесть каждому программисту

Эксперты рассказали, какие книги считают обязательными к прочтению для разработчика. Среди упомянутой литературы можно найти как учебники по алгоритмам, книги по развитию стрессоустойчивости, так и фантастические романы.

Лидия Перовская, программист, тьютор кафедры компьютерных технологий факультета информационных технологий и программирования Университета ИТМО:

«Первым в списке окажется классический талмуд по алгоритмам и структурам данных, с которым многие начинают знакомиться еще в школе — „Алгоритмы. Построение и анализ“ (Кормен, Лейзерсон, Ривест, Штайн). Грамотное повествование, аккуратное переиздание, качественный перевод — эта книга поможет изучить все базовые алгоритмы и стандартные приемы программирования, необходимые для их реализации.

Для перехода от пользовательского уровня к пониманию того, как компьютер реализует переданные ему команды, я советую „Архитектуру компьютера“ Эндрю Таненбаума.

Лично для меня исключительно полезной оказалась книга „Рефакторинг. Улучшение существующего кода“ Мартина Фаулера. Хотя я познакомилась с ней только на старших курсах университета, она структурировала мое понимание «хорошего» кода и того, как действительно живет проект после первой его реализации. „Приемы объектно-ориентированного проектирования. Паттерны проектирования“ от „банды четырех“ — Эриха Гаммы, Ричарда Хелма, Ральфа Джонсона и Джона Влиссидеса тоже поможет в осознании необходимости писать поддерживаемый, а не работающий код».

Денис Кудинов, ведущий Ios-разработчик студии мобильной разработки Trinity Digital:

«Если говорить про фундаментальные науки, то я бы уделил особое внимание математике, хотя бы на уровне нескольких курсов университета: высшая математика, комбинаторика, дискретная математика. Такие знания серьёзно прокачивают голову и полезны при программировании реальных задач. Даже если речь идёт про проектирование UI, в современных средах для создания UI используются системы уравнений или неравенств. Понимать изнутри такие вещи крайне полезно для того, чтобы избежать непредвиденных головоломок со стороны скачущей вёрстки.
Несколько книжек по теме:

  • Демидович Б.П., „Сборник задач и упражнений по математическому анализу“
  • Виленкин Н.Я., А.Н. и П.А., „Комбинаторика“»

Иван Труфанов, генеральный директор Werbary:

«Шэрон Мельник, „Стрессоустойчивость“. Потому что работа программиста не только код, но и постоянные стрессы, которые надо уметь переживать».

Владимир Дворецкий, руководитель проектов в ИТ-компании «Системный софт»:

«Гарри Гаррисон, Марвин Мински, „Выбор по Тьюрингу“. Научно-фантастический роман, но очень полезный с точки зрения технических и этических проблем разработки искусственного интеллекта — грубо говоря, как компьютеру стать человеком и как человеку не стать компьютером. Такие книги расширяют сознание разработчика».

Евгений Потапов, генеральный директор ITSumma:

«Харольд Абельсон, Джеральд Джей Сассман, „Структура и Интерпретация Компьютерных Программ“. Хотя авторы описывают основные концепции программирования на языке Scheme (диалект LISP), книгу всё равно стоит прочитать каждому программисту, чтобы научиться алгоритмическому мышлению. Также стоит заметить, что книга использовалась как учебник в Массачусетском технологическом институте (США).

Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес, „Приемы объектно-ориентированного проектирования. Паттерны проектирования“. Очень полезная книга о том, как разрабатывать архитектуру программного продукта. Её смело можно назвать библией проектирования программного обеспечения».

Сергей Бронников, opensource community manager в компании Virtuozzo:

«Все мы живем в социуме и даже если вы с головой погружены в программирование, то вам не избежать взаимодействия с людьми: пройти собеседование в приличную компанию, объяснить тимлиду свою точку зрения, поделиться опытом с коллегой. Время, когда программист мог полностью изолироваться от клиентов, уходит: нужно не только знать своё дело, но и иногда уметь общаться с клиентами, чтобы лучше понимать их потребности.

Если вы избрали себе карьеру разработчика, то вы лучше других знаете, какие книги нужно прочитать. Но помимо изучения своего ремесла, найдите время прочитать хотя бы пару книг о психологии человека:

  • Эрик Берн, „Игры, в которые играют люди. Люди, которые играют в игры“
  • Уильям Джеймс, „Психология“
  • Зигмунд Фрейд, „Введение в психоанализ“
  • Абрахам Маслоу, „Мотивация и личность“
  • Альфред Адлер, „Практика и теория индивидуальной психологии“
  • Гордон Олпорт, „Становление личности“»

А какие книги рекомендуете вы?

Прочли книгу — время практики: профессия «Веб-разработчик».

Эксперты рассказали, какие книги считают обязательными к прочтению для разработчика. Среди упомянутой литературы можно найти как учебники по алгоритмам, книги по развитию стрессоустойчивости, так и фантастические романы.

Лидия Перовская, программист, тьютор кафедры компьютерных технологий факультета информационных технологий и программирования Университета ИТМО:

«Первым в списке окажется классический талмуд по алгоритмам и структурам данных, с которым многие начинают знакомиться еще в школе — „Алгоритмы. Построение и анализ“ (Кормен, Лейзерсон, Ривест, Штайн). Грамотное повествование, аккуратное переиздание, качественный перевод — эта книга поможет изучить все базовые алгоритмы и стандартные приемы программирования, необходимые для их реализации.

Для перехода от пользовательского уровня к пониманию того, как компьютер реализует переданные ему команды, я советую „Архитектуру компьютера“ Эндрю Таненбаума.

Лично для меня исключительно полезной оказалась книга „Рефакторинг. Улучшение существующего кода“ Мартина Фаулера. Хотя я познакомилась с ней только на старших курсах университета, она структурировала мое понимание «хорошего» кода и того, как действительно живет проект после первой его реализации. „Приемы объектно-ориентированного проектирования. Паттерны проектирования“ от „банды четырех“ — Эриха Гаммы, Ричарда Хелма, Ральфа Джонсона и Джона Влиссидеса тоже поможет в осознании необходимости писать поддерживаемый, а не работающий код».


Денис Кудинов, ведущий Ios-разработчик студии мобильной разработки Trinity Digital:

«Если говорить про фундаментальные науки, то я бы уделил особое внимание математике, хотя бы на уровне нескольких курсов университета: высшая математика, комбинаторика, дискретная математика. Такие знания серьёзно прокачивают голову и полезны при программировании реальных задач. Даже если речь идёт про проектирование UI, в современных средах для создания UI используются системы уравнений или неравенств. Понимать изнутри такие вещи крайне полезно для того, чтобы избежать непредвиденных головоломок со стороны скачущей вёрстки.
Несколько книжек по теме:

  • Демидович Б.П., „Сборник задач и упражнений по математическому анализу“
  • Виленкин Н.Я., А.Н. и П.А., „Комбинаторика“»

Иван Труфанов, генеральный директор Werbary:

«Шэрон Мельник, „Стрессоустойчивость“. Потому что работа программиста не только код, но и постоянные стрессы, которые надо уметь переживать».

Владимир Дворецкий, руководитель проектов в ИТ-компании «Системный софт»:

«Гарри Гаррисон, Марвин Мински, „Выбор по Тьюрингу“. Научно-фантастический роман, но очень полезный с точки зрения технических и этических проблем разработки искусственного интеллекта — грубо говоря, как компьютеру стать человеком и как человеку не стать компьютером. Такие книги расширяют сознание разработчика».

Евгений Потапов, генеральный директор ITSumma:

«Харольд Абельсон, Джеральд Джей Сассман, „Структура и Интерпретация Компьютерных Программ“. Хотя авторы описывают основные концепции программирования на языке Scheme (диалект LISP), книгу всё равно стоит прочитать каждому программисту, чтобы научиться алгоритмическому мышлению. Также стоит заметить, что книга использовалась как учебник в Массачусетском технологическом институте (США).

Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес, „Приемы объектно-ориентированного проектирования. Паттерны проектирования“. Очень полезная книга о том, как разрабатывать архитектуру программного продукта. Её смело можно назвать библией проектирования программного обеспечения».

Сергей Бронников, opensource community manager в компании Virtuozzo:

«Все мы живем в социуме и даже если вы с головой погружены в программирование, то вам не избежать взаимодействия с людьми: пройти собеседование в приличную компанию, объяснить тимлиду свою точку зрения, поделиться опытом с коллегой. Время, когда программист мог полностью изолироваться от клиентов, уходит: нужно не только знать своё дело, но и иногда уметь общаться с клиентами, чтобы лучше понимать их потребности.

Если вы избрали себе карьеру разработчика, то вы лучше других знаете, какие книги нужно прочитать. Но помимо изучения своего ремесла, найдите время прочитать хотя бы пару книг о психологии человека:

  • Эрик Берн, „Игры, в которые играют люди. Люди, которые играют в игры“
  • Уильям Джеймс, „Психология“
  • Зигмунд Фрейд, „Введение в психоанализ“
  • Абрахам Маслоу, „Мотивация и личность“
  • Альфред Адлер, „Практика и теория индивидуальной психологии“
  • Гордон Олпорт, „Становление личности“»

А какие книги рекомендуете вы?

Мастер Йода рекомендует:  Всё о сортировке на Python

Прочли книгу — время практики: профессия «Веб-разработчик».

10 советов для тех, кто хочет начать программировать

Итак, ты решил стать программистом. Причин для этого может быть масса. Быть может, ты завидуешь соседскому пареньку, который отлично разбирается в компьютерном железе и говорит, что учит “си плюс плюс” в колледже. Возможно, ты насмотрелся красивых картинок, на которых изображены офисы компаний Яндекс или Google и решил, что было бы неплохо там поработать. Наконец, ты просто хочешь узнать, чем отличается Java от Javascript, кто такие Ruby и Lisp и как расшифровывается аббревиатура PHP.

В любом случае – мы тебя поздравляем. Ты сделал правильный выбор: навыки программирования и кодинга в наше время становятся не менее важны, чем знание английского языка. Добавим, что этот процесс только набирает обороты, и профессия “программист” становится (пожалуй, уже стала) одной из самых престижных, интересных и высокооплачиваемых.

Думаешь, с чего начать изучение программирования? Держи подборку из 10 главных советов на этот счет. Если останутся вопросы, срочно пиши нам в группу ВКонтакте.

Совет 1. Программирование – это круто. Осознай этот факт.

Посмотри вакансии программистов – обычно этим ребятам предлагают отличные зарплаты с несколькими нулями. Впечатляет?

Ознакомься в биографиями Билла Гейтса, Марка Цукерберга, Стива Джобса, Сергея Брина и других знаковых фигур IT-отрасли. Пожалуй, уже здесь хватит вдохновения на первые шаги в эту сферу.

Совет 2. Программирование – понятие широкое. Выбери специализацию.

Ты хочешь писать сайты? Или создавать мобильные приложения? Быть может, твоя мечта – делать прикладной софт? А возможно, ты “замахнулся” на разработку многопользовательского шутера от первого лица? Все это – разные сферы деятельности, требующие разных решений.

Совет 3. Программирование – это процесс. Выбери правильный язык.

Выбор ЯП (догадайся, как это расшифровывается) зависит от разных факторов, главными из которых являются:

  • Возраст
  • Базовый уровень знаний в других областях – алгоритмика, математика, физика, логика и даже лингвистика
  • Специализация (см. совет №2)

Вот здесь мы уже писали о выборе ЯП для новичка. Почитай, будет полезно.

Совет 4. Программирование – это доступно. Используй бесплатные онлайн-курсы.

Загугли названия таких сайтов, как Codecademy, Coursera, Udacity, Hexlet, HTML Academy – здесь можно пройти отличные курсы по кодингу и web-разработке совершенно бесплатно. Конечно, нужно понимать, что изучение материалов на этих ресурсах не сделает из тебя настоящего программиста. Но основы будут пройдены, а это главное.

Совет 5. Программирование – это работа для профи. Читай, чтобы им стать.

Разумеется, здесь прежде всего имеются ввиду книги по изучаемым темам. К примеру, отличные материалы для новичка выпускает издательство O’Reilly. В серии «Head First» ты найдешь учебники по C, C++, Java, PHP и другим технологиям. Главное – запасись терпением и сконцентрируйся на книге до тех пор, пока не прочтешь ее до конца.

Совет 6. Программирование – это только первый шаг в профессию. Учи английский.


Да-да, без знания английского будет тяжело. Это связано с разными факторами. Вот лишь некоторые из них:

– Многие хорошие книги по программированию можно найти только in English. Да и профессиональные web-ресурсы тоже зачастую находятся в “буржуйском” сегменте интернета.

– Само знание английского поможет осознавать термины и синтаксис языка программирования. К примеру, если ты не спишь на уроках иностранного в школе, то без проблем переведешь вот этот кусочек кода:

if (weather == «Хорошая») <
window.document.write(«Поеду на пляж!»);
>
else <
window.document.write(«Останусь дома. «);
>

А это всего-навсего условный оператор в Javascript.

Совет 7. Программирование открыто для всех. Читай правильные блоги и форумы.

Например, ты просто обязан знать такие сайты, как habrahabr.ru, tproger.ru, lifehacker.ru. Кроме того, в твоей любимой соцсети куча крутых пабликов о программировании, IT-технологиях и компьютерах – подпишись на них. Если многое из того, что там пишут, тебе не до конца ясно – это нормально, так и должно быть. Понемногу ты будешь набираться знаний, опыта и все эти программистские “фишки” и термины станут не сложнее таблицы умножения. Ну хорошо, сложнее, конечно, но все равно понятными.

Совет 8. Программирование – это творчество. Твори.

Теория – это хорошо, но без практики далеко не уедешь. Выполняй все упражнения из книг, которые штудируешь. Посмотри, какие вопросы задают новички на форумах и пытайся найти на них ответ. Сам! Если не получается, смотри ответы “бывалых” и используй эти решения на практике. Придумывай сам себе задачки по изученным темам. В общем, экспериментируй.

Совет 9. В обучении программированию важна поддержка. Запишись на оффлайн-курсы.

Однажды наступит такой момент, когда тебе понадобится помощь наставника. Это тот человек, который когда-то прошел все круги ада тот курс, что ты изучаешь сейчас. Прошел – и стал профессионалом. Он поможет тебе словом и делом, подскажет правильный путь к решению задачи, направит на дальнейшие действия. Такие менторы обычно работают в учебных центрах. Найди в своем городе хорошие курсы программирования и запишись.

Совет 10. Поверь в себя.

Не слушай тех, кто говорит, что у тебя ничего не получится. В жизни есть закон: если ты делаешь то, что в твоих силах, то любая цель будет достигнута. Главное – поверить в самого себя, не опускать руки на любых ошибках и неудачах. Читай книги (кстати, и художественные тоже), блоги и форумы, изучай науки, развивайся как личность и – программируй, программируй, программируй…

10 способов научиться программировать самостоятельно

Программирование — один из ценнейших навыков для карьерного роста, саморазвития и создания чего-нибудь удивительного. Десять советов для тех, кто только начинает своё путешествие в мир программирования, от Lifehacker.

10. Выясните, почему вы хотите программировать

Выбранное направление в учёбе будет зависеть в большей степени от того, почему именно вы хотите научиться программировать и сколько времени вы готовы уделять этому процессу. Если вы хотите стать программистом, первое что следует сделать — это записаться на профессиональные курсы (Google скомпилировал список навыков и курсов для тех, кто хочет стать инженерами-программистами). Если вы хотите создавать игры и веб-сайты для развлечения в свободное время, лучшим выбором являются интерактивные курсы. Bloc создал сравнительную таблицу курсов в зависимости от загрузки, стоимости и причины изучения программирования.

9. Выберите правильный язык

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

Язык, с которого стоит начать, зависит от причины изучения. (К примеру, если вы хотите создать приложение под iOS, вам лучше начать с изучения Swift). Если вы со всей серьёзностью отнеслись к намерению программировать, можно начать с языка C. Хотя выбрав Python, вам будет проще влиться в струю программирования. Приводим инфографику для сравнения нескольких популярных языков программирования.

8. Начните с малого… и будьте терпеливы

Независимо от выбора языка или метода обучения, вам следует начать с самого начала. Когда Дэвид Сински (David Sinsky) научился программировать за восемь недель, он, к примеру, потратил одни выходные на изучение основ Python, а другие — на Django. Взяв учебник, он удалял написанный код и снова проходил обучающий материал с нуля. Начните с основ и будьте терпеливы к себе. Взяв первый проект в программировании, разделите его на несколько этапов. И если один из способов обучения вам не подходит, не опускайте руки — попробуйте другой.

7. Попробуйте приложения для детей

Сейчас даже малыши учатся программированию. Несмотря на то, что многие программы для детского обучения весьма просты, некоторые из них (например, Scratch) подходят для любого возраста. Не имеет значения, сколько вам лет, даже детские анимационные приложения могут научить основам программирования (у edX есть новый курс обучения по Scratch).

6. Воспользуйтесь бесплатными онлайн-тренингами

Бесплатные онлайн тренинги и проекты (Codecademy, Hour of Code и др.) могут помочь вам в написании первой программы. Учебные пособия от Khan Academy, Codecademy, Code.org и других познакомят с основами программирования и всем необходимым для создания игры, сайта или другого проекта. Найдите нужный источник в зависимости от языка программирования, воспользовавшись Bento. Это хорошая отправная точка, однако дальнейшее обучение вам нужно взять на себя.

5. Пройдите онлайн-курс

Онлайн-курсы по программированию предполагают более обширную образовательную подготовку по сравнению с сайтами, предлагающами онлайн-тренинги по одному языку. Такие курсы предназначены для обучения основным навыкам в течение нескольких месяцев на занятиях университетского уровня. Я большой поклонник гарвардского онлайн-курса CS50 (его можно пройти бесплатно). Существуют также другие возможности. Вы даже можете получить образование университетского уровня, выбрав один из 15 онлайн-курсов.

4. Бесплатные книги по программированию

Если вы застряли на какой-то проблеме или вам нужно найти ответ на свой вопрос, не стоит забывать о справочниках. На GitHub можно найти огромную коллекцию из более чем 500 бесплатных книг по программированию. Также доступна коллекция электронных книг, охватывающая 24 языка программирования.

3. Изучайте, играя

Иногда лучшим способом обучения являются игры. В то время, как многие учебники по программированию обучают вас программировать простые либо сложные игры, некоторые обучающие сайты сами являются играми: Code Combat и CodinGame — инструменты, используя которые вы можете весело провести время.

2. Найдите наставника или станьте им

Сообщество программистов полно людей, готовых помочь следующему поколению программистов. Hack.pledge() — сайт, который поможет вам найти наставника. Либо вы сами можете стать наставником для кого-то другого. Преподавание изученного поможет вам лучше запомнить информацию.

1. Разберите чужой код

Переписывая чужой код, исследуя каждую строчку на предмет ошибок, вы сможете лучше понять общую картину. Благодаря открытым исходникам кода, вы имеете возможность узнать всё, что угодно — продолжайте учиться, используя инкрементально-хакерский подход. Только не забудьте поделиться своим кодом, если вам удастся улучшить часть ПО.

Мой ТОП-9 книг для программистов


И ни одного романа.

Уверена, что это не первая статья о книгах для программистов, которые вы читаете и ждете увидеть ниже обложки увесистых томов авторства Дональда Кнута, Стивена Макконелла, Роберта Мартина, Томаса Кормена и культовой «Книги четырех» («Паттерны проектирования»).

Чтобы прочесть подборку классики, которые IT-блогеры копипастят друг у друга требуется пару лет тяжелого интеллектуального труда. Если поставить себе цель крепко усвоить полученную информацию и внедрить в работу, а не поверхностно ознакомиться с целью хвастовства на форумах.

Я не приложила достаточное количество усилий, чтобы всерьез рассуждать о том с какой главы приступать к чтению «Совершенного кода» или чем первый том «Искусства программирования» полезнее второго.

Поэтому, расскажу только о тех книгах которые читала сама и знания из которых применяла на практике. Личный ТОП-9 включает:

  • 2 книги, которые каждый день под рукой;
  • 2 книги, которые оказали сильное влияние на мировоззрение и подход к работе;
  • 3 книги для души;
  • Сборник задач;
  • Книгу с описанием комплекса упражнений для людей занятых интеллектуальным трудом.

1. Регулярные выражения. Сборник рецептов. Ян Гойвертс, Стивен Левитан

С уважением и восхищением отношусь к людям, которые могут не заглядывая в мануалы писать регулярки космической степени сложности. Я к таким не отношусь, но стремлюсь. Пока я на пути, меня выручает эта книга.

В ней сотни полезных регулярок, которые легко копируются в код и помогают сэкономить время на изобретении велосипедов. Примеры применения готовых регулярных выражений из книги:

  • Удаление двойных пробелов;
  • Валидация номеров кредитных карт, емейлов и URL-адресов;
  • Удаление строк-дублей в тексте;
  • Очистка кода от комментариев;
  • Извлечение значений атрибутов из XML-файлов;
  • Нахождение дат в тексте.
Мастер Йода рекомендует:  Автор Всемирной паутины собирается создать «новый Интернет»

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

2. SQL. Сборник рецептов. Энтони Молинаро

Знаете ли вы как с помощью SQL:

  • Извлечь из таблицы строки, которых нет в другой таблице;
  • Блокировать вставку значений в некоторые столбцы;
  • Извлечь инициалы из имени;
  • Определить количество дней между двумя датами;
  • Делать иерархические запросы.

Если нет, то книга «SQL. Сборник рецептов» подскажет как.

Чуть выше я написала — одно регулярное выражение иногда заменяет десятки строк кода. Тоже с SQL-запросами. Готовые примеры из книги помогут сократить время на разработку, увеличить скорость выполнения программ/скриптов и снизить нагрузку на сервер.

3. Продуктивный программист. Как сделать сложное простым, а невозможное – возможным. Нил Форд

Недостаток книги — обилие практических советов, которые касаются технологий устаревших лет пять назад. Некоторые фишки уже не работают. Но «Продуктивный программист» актуальна и сегодня.

Нил Форд писал книгу, чтобы заставить посмотреть читателей на мир под другим углом и отбросить вредные привычки:

  • Не автоматизировать то, что делается руками >10 раз;
  • Использовать мышь там, где нужна только клавиатура;
  • Избегать работы в командной строке;
  • Держать рабочие файлы в беспорядке.

И ему это удается. Тонкими шутками и железными аргументами автор прививает читателю отвращение к ручному труду и убеждает встать на путь исправления.

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

С тех прошли годы и я помогла себе, родственникам, друзьям, коллегам и случайным знакомым сэкономить месяцы личного времени.

Если хотите, чтобы вас перестало тянуть тратить время на рутину, читайте Нила Форда:-)

4. Экстремальное программирование: разработка через тестирование. Кент Бек

Эта книга для ленивых антиперфекционистов, в глубине души считающих Макконела занудой, находящих тестирование и отладку на редкость утомительным занятием, но все равно мечтающих о том, чтобы написанные ими программы сносно работали.

Кент Бек написал во вступлении:

Cпасибо неизвестному автору книги, которую я прочитал в 12-лет­нем возрасте. В этой книге было предложено сравнивать две ленты: с реальными результатами и ожидаемыми результатами, и кодировать до тех пор, пока реаль­ные результаты не совпадут с ожидаемыми. Спасибо, спасибо, спасибо.

Этот гениальный своей простотой совет, за много лет вырос в голове Кена в фантастически результативную методику программирования:

  • Сначала пишем тесты;
  • На втором шаге кодируем и добиваемся четкого выполнения тестов;
  • Проводим рефакторинг.

Воплощения этих трех шагов на практике посвящено 200 страниц, которые занимают описание паттернов TDD, советы по проведению рефакторинга, и рассказы о личном опыте применения методики на примере работы над приложением xUnit.

Идеи из книги давно ушли в народ и применяются как разработчиками-одиночками, так и в компаниях. Если вы заинтересовались, рекомендую найти в сети материалы о применении TDD с языками программирования, на которых пишите.

5. Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования. Федерико Бьянкуцци, Шейн Уорден


Эта удивительная и вдохновляющая книга. Каждый раз когда перечитываешь — открываешь нечто новое. Она включает в себя интервью с создателями 17 языков программирования:

В книге море любопытной технической информации и фактов из истории. Например:

  • Первые семь лет разработка языка APL проходила без использования компьютеров;
  • Создатель языка Eiffel Бертран Мейер еще в 1978 году написал книгу «Методы программирования», которую вскоре перевели на русский язык и издали в СССР. И до конца 2000-ых годов во время визитов в нашу страну ему попадались люди, которые утверждали, что изучали по ней программирование;
  • Создатель Post Script описывает первоклассного программиста следующими словами «Когда он предъявляет код и говорит, что тот готов, это значит, что код абсолютно надежен и отшлифован». Последний раз такой парень встречался им в 1972 году;
  • Когда Ларри пишет на своем Perl он вносит изменение в код и перезапускает программу примерно каждые 30 секунд;
  • Turbo Pascal создан тем же человеком, что и C#;
  • C++ используется чаще чем Objective-C потому, что его раскручивала корпорация AT&T (по мнению создателя Objective-C).

В интервью много сложных технических вопросов, но они удачно переплетаются с разговорами о науке, бизнесе, будущем IT-технологии, секретах успеха и трудностях с которыми пришлось столкнутся при создании и внедрении новых языков программирования.

Джон Хьюз учит важности смирения для эффективной работы в команде, Дон Чемберден объясняет почему сегодня трудно сделать популярным новый язык программирования, а Гвидо ван Россум делиться приемами, как мгновенно включиться в написание кода, если тебя отвлекли.

Герои книги — уникальные люди. В них сочетается творческий ум, смелость и способность доводить дело до конца, не боясь потратить на него десяток другой лет своей жизни. Чтение «Пионеров программирования» мотивирует к действию не хуже журнала «Работница»

6. Дискретная математика для программистов. Рей Хаггарти

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

В книге освещаются темы:

  • графы и ориентированные графы;
  • комбинаторика;
  • эффективность алгоритмов;
  • математический аспект функциональных языков программирования;
  • бинарные отношения;
  • экспертные системы;
  • теория множеств;
  • и т.п.

Радуют пояснительные примеры на псевдокоде (который по сути Pascal).

Ознакомление с этим учебником (в первую очередь с главой 7 и приложением к ней) теоретически и морально готовит к чтению третьего тома книги Дональда Кнута «Искусство программирования». Как настроить себя на чтение остальных томов, мне неизвестно:-(

Но главное, что эта книга развернуто и доступно отвечает на волнующий кодеров-любителей вопрос: «Зачем программисту когда-либо может понадобиться математика?».

7. Just for fun. Рассказ нечаянного революционера. Даймонд Дэвид. Торвальдс Линус

Биография Линуса Торвальдса с раннего детства до начала 2000-ых годов. Записана журналистом Даймонд Дэвидом под диктовку главного героя книги. Эта удивительная история о судьбе гика. Думаю многие, кого с детства тянет к программированию, найдут в себе нечто схожее с Линусом:

Иногда я вообще не выходил. Мама говорила своим друзьям-журналистам, что я настолько неприхотливый ребенок, что мне для счастья достаточно чулана с компьютером, куда время от времени закидывают пачку макарон. Она была недалека от истины. Никто не боялся, что этого ребенка похитят. (А интересно, кто-нибудь бы это заметил?)

Линус с открытой банкой кока-колы в руках появился из недр Transmeta,
расположившейся в безымянном офисном комплексе Санта-Клары. На нем была
программистская униформа: джинсы, футболка с конференции и неизменный набор
носки плюс сандалии, который он полюбил, по его словам, еще до встречи с
первым программистом. “Должно быть, это просто врожденный программистский
инстинкт”, — объяснил он мне свой выбор.

Когда мы уселись на заднее сиденье, я для разминки спросил, настраивая
диктофон: “Вы из семьи технарей?”
“Нет, большинство моих родственников — журналисты, — ответил он и
добавил: — Поэтому я в курсе, какие вы все козлы”.

Я крутился как белка в колесе: программирование — сон —
программирование — еда (соленые сухарики) — программирование — сон —
программирование — душ (на скорую руку) — программирование. К концу работы
стало ясно, что моя программа превращается в операционную систему.

Помимо биографии Линуса в книге много информации о технических особенностях Linux и философии свободного ПО:

Сама по себе наука не приносит денег. Богатство возникает как побочный
эффект развития науки. То же самое верно и в отношении открытых исходников.
Они дают возможность создавать вспомогательные отрасли, которые бросают
вызов существующим предприятиям точно так же, как побочные продукты развития
науки бросали вызов церкви.

Цитировать «Just for Fun» можно бесконечно, настолько она классная. Читается за один вечер, поднимает настроение и помогает отвлечься от мирской суеты.

8. Карьера программиста. Как устроиться на работу в Google, Microsoft или другую ведущую IT-компанию. Монган Д., Гижере Э., Киндлер Н.

Книга представляет из себя сборник вопросов и задач для проверки знаний о массивах, базах данных, побитовых операциях, ООП и т.п. Отдельные главы посвящены задачам на логику: графические головоломки и головоломки с перестановками.

Задания заставляют задуматься, но не требуют много времени для решения (если под рукой Google/тема знакома).

Книга стремительно устаревает(2012 год) и содержит психологические советы, которые кажутся мне не стопроцентно подходящими для российских реалий. Но она помогает найти пробелы в знаниях и определить направление движения в самообразовании.

9. Путь в магию. Первые шаги. Fiery

Эта книга представляет собой сборник упражнений для развития умения себя контролировать с развернутыми авторскими комментариями. Выполнение этих упражнений помогает справиться со следующими проблемами:

  • Неспособность сосредоточиться на текущем занятии;
  • Невозможность заснуть из-за навязчивых мыслей;
  • Чрезмерная утомляемость при достаточном времени сна из-за невозможности расслабиться.

Я делала эти упражнения в 16-17 лет во время подготовки к ЕГЭ, чтобы преодолеть трудности со сосредоточением на учебе. В тот момент они мне ощутимо помогли. Теперь только возвращаюсь к ним пару раз в год по мере необходимости.

Подача материала автором у нормального человека вызывает чувство недоверия, но не стоит обращать на нее внимание. Воспринимайте упражнения в рамках материалистического мировоззрения и сильно не увлекайтесь ими.

P.S. Если у вас начнутся выходы из тела по ночам, срочно завязывайте с упражнениями и никому об этом не рассказывайте.

Классных книг для программистов много. И ТОП-10 каждого разработчика индивидуален .

Не знаете какие книги читать? Обратитесь к опытному кодеру, который:


  • Использует те же технологии, что и вы;
  • Решает похожие задачи;
  • Похож на вас характером.

И велик шанс, что он поможет вам найти книги, которые станут для вас чем-то большим, чем развлечение на пару вечеров.

(5.00 из 5, оценили: 1)

Программисты не читают книги, должны ли вы?

Заходите на https://viebook.ru, читайте анализ книг от людей с опытом, которые объяснят практическую пользу книги и выбирайте только то, что совпадает с Вашим карьерным путем!

Одной из основных тем на stackoverflow.com является “Почему программисты больше не изучают программирование по книгам”, как высказывался Джоел Спольски:

Похоже, что программисты перестали читать книги. Рынок книг по программированию мизерный, если сравнивать с количеством работающих программистов.

Джоель выражал подобное отношение еще в 2004:

Но большинство людей до сих пор не читают. Или пишут. Большинство разработчиков не читают книги о программной обеспечении, они не читают веб-сайты о программном обеспечении, они даже не читают Slashdot (англоязычный новостной сайт, специализирующийся на технических и интересных технической аудитории темах. — Википедия).

Если программисты сейчас не учатся по книгам, как они вообще учатся программировать? Они делают это старомодным способом: Засучив рукава пишут код, используя всю мудрость интернета во втором окне. Интернет позиционирует книги по программированию устаревшими. Это быстрее, эффективнее и просто разумнее черпать информацию из интернета.

Я возлагаю часть вины прямо на ноги технической книгоиздательской индустрии:

1. Большинство книг по программированию — дерьмо. Барьер для того, чтобы стать автором книги, как я могу судить, практически отсутствует. Сигнал к распространению книгоиздания, возможно, не намного лучше того, что вы найдете в дебрях интернета. Из сотен книг по программированию, выпускающихся каждый год, возможно две или три стоят траты времени.

Мастер Йода рекомендует:  Допустимые цвета в CSS

2. Книги по программированию продаются по весу, а не по ценности. Существует, видимо, обратная связь между размером книги и ее качеством. Чем больше книга, так или иначе, тем меньше в ней полезной информации. В чем смысл существования подобных книг? Быть справочными гигантами? Как вы находите что-нибудь в них? Быстрое создание книг, ориентированных на новичков. Не имею ничего против того, чтобы в сферу программирование приходили новые люди. Но я продолжаю верить, что разнообразие книг типа “Изучаем [вставить ЯП] за 24 часа!” вредит нашей профессии. Маниакальный фокус на “прямо сейчас”, быстром, самом простом способе делать вещи ведет начинающих путем, полным иллюзий.

3. Порнография книги о программировании. Идея того, что наличие кучи толстых, важных книг, пылящихся на полке, в значительной степени непрочитанных, каким-то образом сделает вас лучшим программистом. Как мне писал знакомый со стажем, прочитав несколько книг о теории программирования “Я никогда не делал этого в реальной жизни и не стал бы”, походит на обсуждение извращенных способов из сферы программирования. По этой причине я обдумал и отказался от покупки книги Кнута “Искусство программирования”. Старайтесь покупать практические книги, которые вы на самом деле прочитаете, и что более важно, примените знания на практике. Во времена, когда книги по программированию выпускают в большом количестве, очень важно быстро и правильно определить на что стоит тратить свое время и деньги.

Интернет, безусловно, ускорил конец книг по программированию, которые не дают того, чего от них ожидаешь, но есть некоторые свидетельства того, что даже до зарождения интернета программисты не читали всего этого множества литературы.

Сейчас выбор книги кажется разумным исходя из рекомендаций опытных программистов, но даже эти рекомендации/рецензии сводятся к неинформативной хвальбе. Посмотрите на одну из топовых рецензий на Амазоне, написанный к книге Стива Макконнелла “Совершенный код”:

Похлопайте себя по спине за чтение этой книги. Вы уже развиваетесь лучше, чем большинство людей в индустрии программного обеспечения, потому что одна книга это больше, чем большинство программистов читают каждый год. Немного чтения перерастает в долгий путь совершенствования профессиональных навыков. Если вы читаете хотя бы одну хорошую книгу каждые два месяца (примерно по 34 страницы в неделю), вы будете довольно неплохо разбираться в этой отрасли и отличаться почти от всех программистов вокруг вас.

Выглядит довольно впечатляюще, не правда ли? Настолько же впечатляюще, как и реклама средства для похудения? И это один из most rated отзывов. Довольно мило, что подобного рода рецензии большинству людей хватает для того, чтобы купить книгу. Никакой аналитики, обзора книги.

Просто. Хвалебная. Рекомендация.

Статистика чтения частично ошеломляет: Средний разработчик ПО, к примеру, не приобретает ни одной книги по теме, с которой он имеет дело на роботе, и даже не читает таких. Этот факт ужасен для всех, кто обеспокоен качеством работы подобных программистов. Для людей, которые пишут книги, это трагично.

Меня немного пугает чтение комментариев на reddit, где люди интерпретируют философию stackoverflow не в пользу книг. Говорят о том, что с приходом этого сайта, книги стали попросту бесполезны. Я люблю книги, так как они являются четко структурированной базой знаний. Но, к сожалению, это не всегда так. Именно поэтому сейчас нужно очень осторожно подходить к выбору книг.

Я занимаюсь развитием проекта, в котором разные люди из разных профессиональных областей пытаются донести до Вас основные аспекты книг, рассказать о практической пользе, рассказать кому будет полезной, кому будет вредным читать и на какой уровень знаний читателя опирается книга. Также Вам объяснят на каком этапе развития, как специалиста, вы окажетесь после прочтения конкретной книги.

Если у Вас возникает желание отдать/продать/обменять/выкинуть купленные вами книги, поверьте, вы купили не те книги.

Я бы низачто не обменял мои книги. Я возвращаюсь к чтению время от времени.

Когда я только начинал программировать, я и понятия не имел что же конкретно мне нужно делать. Постоянно тратил время на чтение статей в стиле “Как научится программировать”, “10 must-read книг программиста”, “План по освоению [вставьте ЯП]”, но пользы от этого было не много. Лишь со временем в моей голове вырисовывался примерный план действий. Но это больше похоже на брождение по пустыне, ни в коем случае не на конкретный план действий для достижения ясного результата.

Подскажите самоучке, который хочет стать ITшником, с чего начинать все учить, там программирование, какие книги, прошу кто знает подскажите?

Дубликаты не найдены

Начинать надо с английского языка. Это основа.

И потом можешь начинать читать «Искусство программирования» Кнута Это опять же фундамент. Сама реализация и язык уже будешь учить на работе тот который потребуется. Это программирование. Я сам не селен в нем но примерно так.

Если для админства то надо определиться что именно хочешь админить. Линукс/винду/сети и уже учтить этот раздел. Но для начала просто OSI, и начальную архитектуру ОС. Можно прямо программу обучения циски, редхата, маскрософта посмотреть. Там все есть что надо.

Искусство программирования? Для новичка? Начинать с английского тоже бред, но учить его надо, как и книгу прочитать, но для этого надо хотя бы представлять, что такое программирование и с чем его едят, написать пару тройку «Hello World». «Искусство программирования» делает из говнокодера хорошего программиста, но без уровня говнокодера, знающего условия, циклы, массивы, функции, она не особо полезна. Предлагаю для начала освоить какой-нибудь учебник по языку программирования, потом уже почитать про алгоритмы, при этом неплохо было бы иметь справочник по языку.

Лично я бы посоветовал начать с C#, по мне это один из самых простых понятных языков, причем у него есть неплохой набор инструментов с удобной документацией. По этому языку советую скачать бесплатную среду разработки Visual Studio Express C#, взять книгу Бена Ватсона «C# на примерах» за справочник и какой-нибудь учебник.

В этом весь и прикол что Hello World не дает реальное представление о профессии, я вот тоже с них начинал. Как итог после пол года работы программистом понял что на самом деле это скучно и мне не интересно. А можно было и сразу почитать умные книги и задаться вопросом, а оно вообще мне надо.

А английский это основа основ, я хз кем надо быть чтобы спорить. Хорошо выражусь по другому, читать проф IT литературу на русском это попросту терять время. Её мало, перевод через жопу да и не все можно перевести, она как правило устаревает на год если не больше, и любые справки и интерфейс все равно будут на английском так и на фига. Исключение 1С.

Я знаю много людей, которые изучали немецкий, и английского не знают вообще, при этом совсем неплохо программируют. Литература устаревает через год? Вы это на умных форумах прочитали? Вы хоть в одном своем проекте внедрили что-то основанное на том о чем совершенно не написано на русском? Английский не более чем ОЧЕНЬ ПОЛЕЗЕН, но программировать можно и без знания оного.
У меня в исследовательской работе был проект о котором на русском ни слова, так и на английском там была пара тройка статей. Так что не вводите человека в заблуждение.

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


А доксы то где? я лично вижу несколько статей только для одного из продуктов начального уровня в которых грош полезной инфы.

Вот это документация:
https://access.redhat.com/site/documentation/

Мне ссылку на что то подобного уровня, только на русском пожалуйста.

TechBooks — книги для программистов

Obunachilar
Ko‘rishlar
E’lonlarning o‘rtacha qamrovi va ERR%
E’lonlar
Kanalning repost va eslovlari
@technobooks iqtibos olgan kanallari
So‘nggi e’lonlar

​​Загляните в мир белого хакинга. Бесплатно освойте один из самых высокооплачиваемых языков — Java!

Почему именно Java?

✔️ Самый распространенный в мире язык программирования.
✔️ Востребованные и высокооплачиваемые навыки.
✔️ 3 млрд устройств работают на Java, в том числе Android.
✔️ Java выбирают eBay, «Yahoo!», Google.

В конце интенсива вы создадите программу мониторинга, которую можно добавить в своё портфолио.

bash Pocket Reference

Автор: Arnold Robbins
Год издания: 2010

Язык программирования C++. Базовый курс

Авторы: Стенли Липпман, Жози Лажойе, Барбара Э. Му
Год издания: 2014

Linux. Установка, настройка, администрирование

Автор: Кофлер М.
Год издания: 2014

​​Всех начинающих Team lead-ов и управленцев, а также программистов, которые хотят вырасти в эффективных руководителей команды разработчиков OTUS приглашает на открытый вебинар:
✍��«Права и обязанности членов команды. Юридические и культурные аспекты».

��13 ноября в 20:00 (мск). Регистрация по ссылке: https://otus.pw/kyLg/

☝��Мы с вами поговорим об успехе руководителя с точки зрения его команды. Рассмотрим различные аспекты влияния на жизнь и функционирование команды: начиная юридическими, заканчивая межкультурными, включая конфликты корпоративной и командной культуры.

��Встречу проводит Станислав Михальский — директор по разработке в «Биглион Технологии», практикующий разработчик с более чем 10-летним стажем управленческой деятельности, который умеет организовывать эффективную командную работу групп от 3 до 50+ человек.

⚠️А пока есть время до встречи — знакомьтесь с обновленной программой курса «Team Lead 2.0», старт которого намечен на 25 ноября 2020г.

Python для детей

Python — очень популярный язык программирования. На нем написаны многие мобильные банки, популярные приложения для браузера и программы, которыми вы пользуетесь каждый день. При этом язык очень прост в изучении и подходит для обучения программированию детей. И, конечно, взрослых. Вы создадите собственную игру, даже целых две!

JavaScript для детей

Эта книга позволит вам погрузиться в программирование и с легкостью освоить JavaScipt. Вы напишете несколько настоящих игр — поиск сокровищ на карте, «Виселицу» и «Змейку». На каждом шаге вы сможете оценить результаты своих трудов — в виде работающей программы, а с понятными инструкциями, примерами и забавными иллюстрациями обучение будет только приятным.

Scratch для детей

Scratch — простой, понятный и невероятно веселый язык программирования для детей. В нем нет кодов, которые нужно знать назубок и писать без ошибок. Все, что требуется, — это умение читать и считать. Как из конструктора, при помощи Scratch можно собирать программы из разноцветных «кирпичиков» — блоков. В программу можно вносить любые изменения в любой момент, и сразу видеть, как она работает.

Программирование для детей

Самоучитель, который почти два года не выходит из топа продаж. Мы живем в цифровую эпоху. И если вы хотите, чтобы ребенок был успешен и нашел себя в будущем, помогите ему ― учите программированию уже сейчас. И даже если он не выберет карьеру программиста, эти занятия помогут ему развить логику, научат мыслить аналитически и находить решения непростых задач.

Читайте, учитесь и создавайте собственные программы. Это клево ��

10 книг для программистов, которые хотят стать эффективнее

Хотите стать эффективнее? Мы подготовили подборку книг для программистов, которые стремятся лучше управлять рабочими процессами.
Существует много стратегий и книг по увеличению эффективности сотрудников в команде. Но что делать одиночным программистам? Методы управления вроде Agile, Scrum и Kanban применимы лишь с натяжкой, а изменить процесс разработки, оптимизировать его всё равно хочется.

Мы решили сделать подборку книг для программистов, желающих стать эффективнее.

Добавить комментарий