Пацану 14 лет. И вот, видимо, пришла пора. Появился интерес к программированию. Папа покажи... А в связи с этим, хотелось бы узнать мнение уважаемой публики: чему и как начинать учить ребенка. Это не вопрос какой язык/ среда лучше. Но все-таки, от первых шагов многое зависит. Надо начинать одновременно с простого, но не с BASICa ЖЕ! Как нас учили, в свое время. У кого какое мнение?
Я не знаю чему учить нужно ребенка, опыта такого не имею, (хотя племяницу мучил неорганикой лет в 5 =)), но знаю чего мне нехватает сейчас, хорошего знания математики. Поэтому, предалгаю начать с арифметики, ассемблер как нельзя лучшее средсво для этого, можно увидеть, что с чем складывается, или что откуда вычитается, так сказать, свои глазами. Сам в 14 мучался с Поцкалем, долго потом избавлялся от всяких предрассудков высокоуровневых, тяжко самому без учителя заниматься чем либо серьезно Хреновое стало обучение нынче в школах( да и не только в школах), равнение на Запад, двадцать лет учится и ничего не выучить. Главное пройти программу и получить корочку, а не знания. Скоро и у нас будут специалисты по левой ноздре, которые все будут знать о левой ноздре, но о правой ничего (по мотивам М. Задорного .
Все сказанное вроде верно. Но... Биты и байты, регистры и АЛУ... И проблем с математикой у него нет. Но! Представьте пацана 14 лет, ему же хочется увидеть, что он на экране на рисовал какую- нить козу или окошко с чем-нибудь там. А результаты сдвига регистра eax его вряд ли сильно впечатлят. А ассемблер никуда не денется, куда ж без него... В этом проблема.
Ни фига себе ребенок... 14 лет... Может я чего-то не понимаю, но если он еще самостоятельно работать не начал при том что компутер и папа-программист у него имеется, то может не стоит его "тащить" в программисты? А бейсик, кстати, для самых основ язык вполне подходящий. Только не Visual - это "ребенка" испортит точно.
Дык потому то и чешу репу, что принципиально не хотел я его никуда насильно тащить, ни в программисты, ни в пианисты... Сам теперь вот захотел, теперь да, никуда не деться. Может, про козу на экране это я загнул, образно так... А _Juicy, небось с пеленок кодишь?
Лет в 8 у меня был программируемый МК... Очень дзенная штучка. Потом БКшка с бейсиком... Потом... Потом, увы, меня очень долго пытались запихнуть в медицинский (посчитали, что склонности у меня именно к медицине), так что лет пять жизни были в некотором смысле потеряны . Кстати об учителях. Учителя у меня были замечательные: Керниган с Ритчи, Нортон, Икзелион, Петзольд, Рихтер и Руссинович. В Российской Национальной Библиотеке все есть, даже Касперски
DirectOr Вы сами у него спрашивали, что он хочет делать? Хотя, думается мне, что он сам еще не до конца осознает "что ему надо". Если "рисовать козу", то можно занятся ДиректХ или ОпенГЛ, тут вам и программирование и рисуй себе что душе угодно; плюс если делать что-то более менее серьезное, математика тоже пригодится. про окошки... IMHO, рисование окошек это не программирование, оно уводит от его сути , даже научившись делать "суперские окошки" с "супер-интерфейсом", программистом не станешь. Ну не скажите , Ведь к этому можно подходить не только с программерской точки зрения, такое знание может пригодится в чисто-прикладном занятии крэкинге, покажите ему "парочку взломов" я думаю тогда это его впечатлит =) Знание асма можно пременить во многих областях, тем более что изучая ассемблер параллельно приходится учить многое-многое другое. PS конечно, это только мое мнение =), думаю найдется сотня других "таких же правильных". Предложите ему разные варианты, пусть попробует. Что ему больше понравится,не известно. PPS вот Свин прочтет этот топик, и даст уже конкретные советы, испытанные на своем сыне , хотя опять таки нет универсальных советов, ибо все люди разные. Кому то опкодами кодить, кому-то "кваку" писать .
2 DirectOr Похожая проблема. Скорее всего пробежимся с дочерью по такому пути: Ёксельные Макрухи - VB - VC++ - C(K&R) - ассембл. вставки - ассм (). Если где-то увижу, что не по душе, конечно, неволить не собираюсь...
В том то и дело, что когда встал этот вопрос, показал я ему на асме и размер результирующего кода и трояна в работе по сети... Но кажется мне, что изучать асм надо бы с разбора строения кремния (регистры и т.д., как в свое время делали мы + сигналы чтения/записи осцилографом и пошаговый режим). Да только время то другое. Теперь со щупом в системник не полезешь. Да и не нужно это. Думаю, надо для начала все-таки чистый си с вызовом Win АPI, тогда легче будет MSDN понимать (он в аглицком сечет). Но нужен и IDE, так как FAR ему показывать... А поставишь VC6, к примеру, так тоже человека этим можно загубить. Книги все есть. Не в этом дело. И "знание асма можно пременить во многих областях, тем более что..." - Я ЭТО и сам знаю
SeDoY - "... рисование окошек это не программирование, оно уводит от его сути , даже научившись делать "суперские окошки" программистом не станешь" - во-во !!! И я о чем! Главное -вначале привить "алгоритмическое мышление", как я сам его для себя называю. А для этого асм, может, и не лучше BASICa будет. Но с другой стороны, не алгоритмы же ему ромбиками на бумажке рисовать, хотя линейки такие где-то должны у меня остаться...
Я сам учился кодить с C++Builder потом стало интересно не готовые компоненты использовать, а сделать полностью что-то своё. Так я вскоре и дошёл до асма и прямой работы с железками. Потом что-то надоело кодить, перекинулся на реверсинг кода. Но всё равно иногда что-нибудь пишу, в основном на VC++ и асме. Так что советую тоже с builder'а начинать, с одной стороны легко делать интерфейс, но с другой стороны сразу начинаешь изучать нормальный язык вместо убогих дельфей, паскалей и визуал барсиков
ИМХО лучший язык для обучения - это Flash ActionScript. Язык С-подобный (вернее JavaSciprt-подобный), есть ООП, есть множество красивых рюшечек. Но главное - этот язык не навязывает стиля програмирования, там можно позволить себе забыть поставить точку с запятой или писать <> вместо !=. В старой версии ActionScript (AS 1.0) к тому же нет строгой типизации. А я учился програмить так (самостоятельно): QBasic, Visual Basic, Visual C++ (MFC), JavaScript, ActionScript, Asm, C (WinApi, OpenGL). Теперь Qt осваиваю
Я бы советывал начинать с математики, т.к. любая серьезная наука оснывается на математическом фундаменте. Примеры: физика, химия, криптография и ряд других дисциплин. Ну а если попутно ассемблер изачать, то из чувака выйдет однозначно хороший специалист.
DirectOr Начинать надо с BASICa. Показать элементарные вещи. В таком возрасти ребенку хочется, порисовать, свою игру создать. Ну и покажи ему пару примеров, "козу" нарисуй. Почему бэсик. Так потому что это самый простой язык, для понимания. Бэсик - переводится, как основы. Этот язык достаточен для изучения "алгоритмическое мышление".
Когда я был в 3-ем классе, я программировал на БЕЙСИКЕ на БКшке, и неплохо программировал. В 6-ом классе пошел учиться в комп. школу, изучал Паскаль, понял что я совсем ниче не знаю о программировании. На следующий год я изучил дельфи, а потом С\С++. После курса по С++ (втч винда, ООП, юникс) я понял что до этого я целых 2 года занимался х**ней. В итоге я забил на паскаль с бейсиком и делфи, и до 11 класса я изучал С\С++, потом начал изучать АСМ. После всего этого я понял, что однозначно надо начинать с С\С++ имея под рукой фороший справочник по архитектуре копьютера и ОСей. ЗЫ Хороший программист - не обязательно хороший математик. А. Голуба почитайте
>не обязательно хороший математик Извини, но недавно мне показали решение задачи о восьми ферзях, в виде написанного кода на С++. В 5 строчек! Это писал студент 5го курса специальности: "Прикладная математика", Покажи мна пальцем, сколько людей подобное напишут. В большинстве случаев, сколько общаюсь с ребятами, именно прикладники находят более оригнальное и хорошее решение
ЗЫ Хороший программист - не обязательно хороший математик. А. Голуба почитайте Читали Не воспринимай это как отмазку. Хороший программист МОЖЕТ неплохо выполнять задания, сделать четко и аккуратно. Однако при встрече с алгоритмом сложнее пузырька - я на такую задачу посадил бы только математика или человека с мат. мышлением.
Ян кодировать начал с 6и. В машинных кодах. Потом ассемблере. Никто его ничего не заставлял. Просто правильно рассказали. До этого также правильно научили арифметике и азам мат. логики. Разговоры нужна ли математика в программировании смахивают на разговоры нужна ли математика в математике.
Знакомая ситуация. Ох уж эти родители! Подводный камень этого топика: пацан 14 лет через десять лет скажет: (шутка). Имхо: начинать лучше с Паскаля, он специально придуман для обучения и смахивает на английский язык. Начинать с асма опасно: многие на этом форуме после асма не могут въехать в ООП, а наоборот, после С++, асм воспринимается без проблем.