Какую книгу подарить младшему брату, который хочет стать программистом?
Добрый день, уважаемые знатоки!
Пишет вам Алексей, из города Екатеринбурга).
Я сам веб-программист в сотовой компании, стэк: C#, ASP.NET, JS, JQuery, AJAX, T-SQL и т.п.
У меня есть младший брат, 14 лет в этом году исполнилось, мы живем в разных городах, так уж сложилось.
Мне нужно ему подарить что-то на день рождения.
Вообще, в прошлый раз, я подарил ему хороший туристический рюкзак и попросил друга взять брата в секцию туризма, но, это не увенчалось успехом, так как брату нравится больше сидеть за компом, эволюция была такова: Minecraft, WarFace, Counter Strike 1.6, теперь это вроде CS GO, че-то там делает в консоли, пишет свои конфигурации, пишет дэмки, имеет свой канал на YouTube об играх, после того, как я как-то попросил его сверстать для меня табличку (просто хотел посмотреть, увлечет его это или нет), он вроде как заинтересовался программированием.
Я рассказал ему, что если у него в школе с математикой проблемы, то, чтобы стать хорошим программистом, все таки нужно ее подтянуть, так как хороший программист с математикой в ладах, на что он сказал, что все равно хочет стать программером.
Итак, вопрос: хочу подарить ему книгу по программированию, больше наверное по Front-End (так как в нем результаты работы более заметны визуально). Но это должна быть такая книга, чтобы увлекла, а не испугала слишком большой сложностью, чтобы в ней рассказывалось о хороших и плохих сторонах работы программистом, чтобы была практика, достаточно хорошего уровня. Но чтобы она была не чисто теоретическая или просто пустая с точки зрения полезности для практики. Подумывал над серией Head First от O'Reilly, прошу вашего совета ребят, чем завлечь мелкого?
(Извиняюсь за большое предисловие, просто хотелось минимально нарисовать портрет брата, чтобы было более понятно, какие примеры книг давать)
Подарите ему ссылку на https://codecombat.com/ - моего брата заинтересовало и ему стало понятно как связаны те или иные предметы в играх и как вообще это все работает в общих чертах)
Из ЯП можно и в Python его направить, в книге есть примеры игр - для начинающего очень хороший вариант.
head first вполне нормальный вариант для начала. правда есть риск что книжка воспримется как другая крайность - "написано как для дебилов". в вашем описании есть другой риск - любитель поиграть, желающий стать программистом, часто лелеет мечту сделать свою игру, а когда узнает что компьютерная графика это не "подтянуть математику", а чистейший матанализ и высшая математика - может настигнуть разочарование и идея стать программистом улетит в трубу.
О, Дмитрий, и снова вы в моем вопросе! ) Добрый день! Вообще по идее, может быть, стоит и что-то посложнее, чем Head First, потому что если человек сильно хочет стать программистом и ему это реально интересно, то он разберется, ведь так? То есть может наоборот порог вхождения в профессию для него повысить, чтобы если не потянет - бросил это дело и занялся бы чем-то другим, а если потянет, чтобы сразу качественные получил знания? Это конечно сурово, но наверное убережет от принятия решения "стать посредственным программистом, начитавшись Head First и не осилив, кого-то вроде Кнута"
Alexey Sh: Не помню когда раньше вам отвечал) Не обижайтесь, вообще редко смотрю на автора вопроса. Разумеется каждый случай уникален, и в идеальной ситуации нужна не книжка, а наставник. Мое личное мнение, основанное на личном опыте - важны самые базовые основы. Не надо брать в руки ООП не понимая как компьютер делает деление через операции суммирования и сдвига. Сам начинал с довольно разжевывающей книги по плюсам "Как программировать на С++" Дейтелов. Много текста, много задач, подробные листинги и разбор мелких особенностей, но есть проблемы. 1) Она давно не переиздавалась , 2) Это библия в 1,5 тысячи альбомных страниц. Head First конечно проста и глупа, но порой обманчиво. Те же Паттерны проектирования описываются в десятки раз лучше чем где бы то ни было. Если парень осилит книжку за неделю-две и захочет еще чего-то посерьезнее, то уже можно переходить к классикам и практическим задачам. А Кнут? если честно я встречал в жизни десяткуи программистов,но тех кто смог бы воспринять Кнута как "легкое чтиво" - 2,3. Я считаю что он в первую очередь справочник по алгоритмам, но никак не учебник, и уж тем более не для начинающих.
Видите ли, 100% времени в кодах не проведешь, а чем-то еще заняться хочется - стравить непрограммистскую энергию, так сказать. Вот тут-то человек, забитый с детства одной лишь клавиатурной наукой столкнется с неописуемым чувством отторжения от, казалось бы, любимого дела.
Туризм не попер, человек домосед, тогда можно и порисовать на досуге, отвернувшись от монитора. И рисовать будет веселее, когда умеешь рисовать.
Ребят!
Всем большое спасибо за ответы, в итоге купил книгу по Python, которую тут советовали, заглянул внутрь - вроде должно заинтересовать (мне, по крайней мере, стало интересно), посмотрим, как пойдет.
www.ozon.ru/context/detail/id/25308826 - я хоть по питону сам вообще ничего не знаю, но как посмотрел, - там от простых к более сложным играм идет изложение, в конце даже спрайты прицепляются и что-то более сложное делается, есть глава посвященная сути ООП. Написана доступным языком
Alexey Sh: а, её я уже прочитал, отличная книга, у меня есть такая :) У жены брату 10 лет, тоже есть желание заинтересовать его программированием, ибо парень очень смышленый.
Думаю, для начала ему стоит почитать про HTML, вот, люди в отзывах говорят - книга понятная и легкая к восприятию. Собственно, автор Влад Мержевич, создатель htmlbook, думаю, книга - лишь некая бумажная версия сайта, надеюсь с картинками.
Приветствую! Все таки, я думаю стоит что-то посложнее HTML и CSS, грубо говоря это ведь не программирование, а верстка, лучше уж пусть htmlbook использует в качестве справочника...
Наверно закидают камнями, но может быть actionscript 3? Тут вам и веб немного и тут же простейшая анимация и за 5-10 мин можно что-то нарисовать и заставить это двигаться с помощью клавиатуры, да и игру состряпать простейшую довольно легко. Синтаксис очень напоминает C/C++, что в будущем может помочь. Тут вам же и приятный ООП посредством классов, при том скорее всего сам и перейдёт, как код перевалит за 500 строк, а учитывая посредственную производительность, заставит задуматься о оптимизации