+7 (495) 229-0436   shopadmin@itshop.ru 119334, г. Москва, ул. Бардина, д. 4, корп. 3
 
 
Вход
 
 
Каталог
 
 
Подписка на новости
Новости ITShop
Windows 7 и Office: Новости и советы
Обучение и сертификация Microsoft
Вопросы и ответы по MSSQLServer
Delphi - проблемы и решения
Adobe Photoshop: алхимия дизайна
 
Ваш отзыв
Оцените качество магазина ITShop.ru на Яндекс.Маркете. Если вам нравится наш магазин - скажите об этом Google!
 
 
Способы оплаты
 
Курс расчета
 
 1 у.е. = 91.78 руб.
 
 Цены показывать:
 
 
 
 
  
Новости, статьи, акции
 

[Перевод] Как я читаю книги по программированию

15.01.2013 14:39
AlexBonel

Я получил образование по специальности "Электротехника" и единственными языками программирования, которые мы изучали были C/C++, ассемблер и Matlab. После того как я посетил Startup Weekend, я понял, что информатика и разработка программного обеспечения мне небезразличны и решил погрузиться в эти области с головой. Также я осознал, что мне требуется изучить еще несколько языков программирования, помимо тех, которые я изучал в университете.

За прошедшие полтора года я начал изучать Java (для Android), а также Python, JavaScript, HTML и CSS (для web-разработки) и выявил для себя, что лучший способ изучать язык программирования, разбирая книгу или туториалы, - читать все по три раза! Да, именно по 3 раза!!! Чтение нового материала подобным образом, хорошо помогло мне понять новые языки программирования и концепции.

Первое чтение

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

Второе чтение

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

Третье чтение

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

И еще кое-что...

Этот метод сработал для меня при изучении Java, Python и JavaScript. Иным хорошим способом изучить языки программирования или какие-то концепции является реализация персонального проекта. Так что, например, если Вы хотите лучше понять принципы построения графического интерфейса пользователя или реализации компьютерной графики на Java, попробуйте написать свои "Шахматы", это повлечет за собой Ваше обращение к книгам по графике, анимациям, GUI, событийно-ориентированному программированию и т.д.

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

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

Примечание от переводчика:

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

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

P.S.

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

Для Web-разработки:
-Head First JavaScript by O'Reilly
-Think Python by Allen Downey
-the Django book
-The Art & Science of CSS

Другие
-Beginning Android Games - Mario Zechner
-Thinking in Java - by Bruce Eckel

Мое внимание в этом списке, естественно больше всего привлекает фолиант Эккеля (именно английский вариант) - для меня это книга номер один по Java, и если автор описанным им способом прочитал ее, то мне даже страшно представить сколько времени и сил у него ушло на это, но зато при подобном прочтении и решении всех заданий уж точно можно не сомневаться в знании языка. 

Ссылки по теме

  
Помощь
Задать вопрос
 программы
 обучение
 экзамены
 компьютеры
Бесплатный звонок
ICQ-консультанты
Skype-консультанты

Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 
Бестселлеры
Курсы обучения "Atlassian JIRA - система управления проектами и задачами на предприятии"
Microsoft Windows 10 Профессиональная 32-bit/64-bit. Все языки. Электронный ключ
Microsoft Office для Дома и Учебы 2019. Все языки. Электронный ключ
Курс "Oracle. Программирование на SQL и PL/SQL"
Курс "Основы TOGAF® 9"
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год. Электронный ключ
Курс "Нотация BPMN 2.0. Ее использование для моделирования бизнес-процессов и их регламентации"
 

О нас
Интернет-магазин ITShop.ru предлагает широкий спектр услуг информационных технологий и ПО.

На протяжении многих лет интернет-магазин предлагает товары и услуги, ориентированные на бизнес-пользователей и специалистов по информационным технологиям.

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

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



 

О нас

 
Главная
Каталог
Новинки
Акции
Вакансии
 

Помощь

 
Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 

Способы оплаты

 

Проекты Interface Ltd.

 
Interface.ru   ITShop.ru   Interface.ru/training   Olap.ru   ITnews.ru  
 

119334, г. Москва, ул. Бардина, д. 4, корп. 3
+7 (495) 229-0436   shopadmin@itshop.ru
Проверить аттестат
© ООО "Interface Ltd."
Продаем программное обеспечение с 1990 года