Программирование для ребенка

Сын (10 лет) хочет программировать. Я в его возрасте учил ассемблер, но так издеваться над своим ребенком не хочу.

Помнится, давным давно я использовал Borland C++ — простой и понятный, не то, что нынешний Visual Studio (я его запускал два года назад побаловаться и это тихий ужас, ребенку такое нельзя). У Embarcadero (наследник Borland) есть С++ Builder, но cдается мне, что он тоже замороченный. XNA вроде попроще должен быть, как считаете?

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

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

  • vectormonk

    flash

  • Не думаю,что стоит начинать обучение с Си.
    Если ООП-среда — то Delphi 7 + книга Архангельского. Хотя, книжку можно и попроще подыскать.

  • Аноним

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

  • Delphi или Lazarus — тот же С++ Builder, но симпатичней. Правда не С, а Паскаль.

  • Avto_master2003

    Согласен, Delphi 7 хороший выбор.

  • делфи же
    И визуально и программирование как самое простое аля паскаль, так и простенькие программы с меню и прочим сможет делать

  • Да вот это и смущает. C++ в свое время был не сложнее Паскаля в освоении, а
    толку от него в итоге было больше

  • Anatoly Popov

    Visual Studio, как ни странно. дотнетные версии дизайнеров вполне ок для простейших задач. Только C#, а не плюсы.

  • Аноним

    Зачем этот паскаль нужен? Сколько реально отличий в синтаксисе от джавы, есть писать примитивные программы? — Копейки. Зато для будущего роста не надо менять языки и ide.

  • Там же java и IDE под линуксом, разве нет?

    Ну и не дам я свой телефон баловаться, а у него телефон не на Андроиде 🙂

  • А вот такое же как Lazarus, только с C бывает?

  • Аноним

    visual c# express

    книжки, можно взять managed directx 9, она старая, но там же 3д модельки и можно делать игры про эльфов

  • А в чем принципиальное отличие C# от C++?

  • Anonimous

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

  • Аноним

    Да, но там эмулятор есть. А потом и на телефоне запустить можно, ему ведь ничего не будет.

  • если бы он играл в вов, я бы посоветовал делать аддон для него. луа простой и отдача видна. одно плохо — всё нужные аддоны уже есть:)

    дельфи — вполне вариант. главный минут в том что там внутри паскаль а это совсем уж не перспективно. 

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

    ну и кстати вариант — почему не показать то же веб программирование? и интересно и результат сразу и практическая польза на будущее.

  • Но под Linux, так?

  • Аноним

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

    А если уж с++ то все равно начинать с кернигана про С, потому что чистый си прост как две копейки и про память у K&R написано доступно. 

  • Самое похожее — Qt

  • Goshak

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

  • Ни дельфи, ни C++. Это я вам как проф. разработчик игр на С++ говорю. Только visual c# express — будет правильное решение.

  • Он в WoW играл,а аддон можно же для себя сделать 🙂

    Мысль, кстати, здравая — проще сделать мелкий адд-он под игрушку, а
    вау-эффекта больше.

  • А через время дашь ребёнку Unity3D, он таких эльфов 99го уровня запрограммит, обалдеют родители 😉

  • Я сам с Кернигана и Ричи начинал 🙂

  • А отчего не начать с javascript? он и попроще Си, и без IDE можно обойтись, и можно хоть под винду (WSH) и под веб всякое делать. Вообщем, мелочь, но полезная.

  • JavaScript — визуально, ощутимо, компилировать не надо и может пригодиться
    я с паскаля начинал) сейчас веб-девом себе на пропитание зарабатываю 🙂

  • Принципиально — чуть более типизированный. Но зато нет указателей вообще, и про возню с очисткой памяти можно забыть (сборщик мусора тот самый, ага). Ну, Microsoft еще бы про кроссплатформенность что-нибудь добавила бы (работает на любой винде, лишь бы .NET, в 100 раз превышающий размеры приложения, был бы).

    А так C# же — абсолютная Java. Только более родной)

  • Ребенок же, ему хочется не веб-страничку, а программу, лучше игру про корованы 🙂

  • Аноним

    Пусть лучше странички на html пишет а там и про php и прочее узнает 😀

  • Max

    Я в 12 начинал с Visual Basic .
    И да, можно попробовать  Pascal ABC — там сразу куча примеров есть .

  • Kostya

    Да, пусть начнет с ActionScript 3.0 во Flash IDE. Порог вхождения там ну очень низкий. Зато человек сразу будет получать какой-то результат от своих действий, что, на мой взгляд, очень способствует повышению интереса к любому делу.

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

  • Аноним

    ну кстати есть еще Андре Ламот две книги по 2д и 3д играм, только С, только win32 api, только хардкор. Я от 2дшной был в восторге, есть вся теория и все ассеты для работы над играми. Но 10 лет наверное рановато 🙂

  • а из книжек — JavaScript. Библия пользователя Гудмана. или JavaScript. Подробное руководство Дэвида Флэнагана 

  • Dmytro Kyshko

    эх, почему я не начал программить в 10))))))

    рубал бы косари сейчас  зеленых

  • Аноним

    «После» — это зря. Если есть логика, то с простого примера он вполне поймет как работает си. 
    Некая простота паскаля это миф.

  • Я, конечно, уже не совсем начинающий. Но мне как-то кажется, что QT в освоении посложнее будет, чем тот же C++/C# для .NET. В последнем события всегда под рукой. С QT же придется вручную осваивать весь синтаксис.

  • Аноним

    Андроид это линукс, а  sdk есть для всего http://developer.android.com/sdk/index.html

  • Аноним

    Андроид это линукс, а  sdk есть для всего http://developer.android.com/sdk/index.html

  • опять же как вариант, посмотреть что там со скриптовыми языками во всяких редакторах карт например к тому же старкрафту. Я чесно говоря не смотрел как он устроен, но если задача — ознакомить с основами програмной логики и увлечь — как вариант. вполне можно сразу какую нить отдельную игру сделать) главное чтоб не увело это всё в какую то не ту сторону)

  • опять же как вариант, посмотреть что там со скриптовыми языками во всяких редакторах карт например к тому же старкрафту. Я чесно говоря не смотрел как он устроен, но если задача — ознакомить с основами програмной логики и увлечь — как вариант. вполне можно сразу какую нить отдельную игру сделать) главное чтоб не увело это всё в какую то не ту сторону)

  • Kostya

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

  • Паскаль нужно освоить только ради того, чтобы понять, как же хорошо всё-таки писать на C))

  • Аноним

    Зачем кидать ребенка сразу на язык программирования?
    Пусть сначала освоит html, например. Основную базу. Поймет, что каждая строчка кода важна, что есть алгоритмы решения задач. И визуальная отдача больше.
    А к программированию можно подходить уже после того как квадратное уравнения будет щелкать как семечки.  Ему сложно будет в 10 лет (это 5й класс, если я не ошибаюсь, в котором, только дроби начинают учить) найти простую задачу, которую ему будет интересно выполнить, без понимания основных математических понятий. 

  • тада лучше флеш) 
    хотя почему бы и не веб-страничку?) сделать своего первого хомяка в 10 лет это не так уж и плохо)

  • А есть что-то доступное по AS на русском?

  • Basic(для начала) -> C++/Java
    Или PHP, он лёгкий, легче чем С++ или Java, не говоря уже о ассемблере.

  • Да ну почему, и под виндой есть.

  • никогда не поздно начать)

  • lgb

    были серии обучающих игр, например Colobot и ещё что-то от его создателей. Да и во многих обычных играх можно скрипты писать на языках от каких-то самопальных, до вполне обычной LUA.

    есл уж речь о C++ и окошках, то можно попробовать Nokia Qt SDK.

  • Аноним

    Сразу тогда HTML5 на котором можно легко реализовать простые игрушки.

  • Аноним

    еще как вариант питон и pygame, есть книжка. тоже сразу в игры. Но вот не могу найти был ли перевод

  • Dmytro Kyshko

    я гуманитарий чистой воды)

  • Ну я как-то же Ассемблер в его возрасте освоил. Да, писал фигню всякую, но было интересно 🙂

  • кстати) может тогда уж с элементарных команд для винды?) отключение клавымыши, всякие страшные действа — ребенок будет в восторге пересылать свеженакоденный батник своим товарищам)

  • Я вот прямо заинтересовался про Starcraft, пойду читать

  • mo0

    На мсдн есть small basic и книги по си-шарпу для детей
    http://msdn.microsoft.com/ru-ru/beginner/ee344863.aspx
    http://habrahabr.ru/blogs/study/67372/

  • Думаю, что кидаться в что-то одно (как задел на будущее, специализация, С++, например) нет большого смысла. 
    Обычный паскаль по-началу (Турбо-паскаль старенький вспоминаю, с белыми окошками, эх). Как отработка навыков, понимание основ, алгоритмов. Потом делфи для развития уже иных навыков.
    И уже после этого можно потихоньку переходить на что-то серьезное, тот же С++. Ну или что будет интересно к тому времени. Имея базу на том же паскале — переучится во что-то иное — гораздо легче. И нервов меньше будет)
    Но это всё мое личное мнение, конечно)

  • Аноним

    Ну так, вы же хотите дать ему знание, а не игрушку?

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

  • Goshak

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

  • Никогда чистый C не будет проще C++.
    Иерархия по сложности обсуждаемые языков:
    ASM -> C -> C++ -> C#
    Берите сразу C#, прост, обширная библиотека. Зная C# считай что знаешь  Java и ActionScript (минимальные затраты на переход). C# есть и под другие платформы — проект Mono. И потом, если игровая тема нужна, то Unity3D — там C# один из 3х поддерживаемых языков. Я не просто так второй раз юнитку упоминаю, а со знанием дела, если что 😉

  • Супер, спасибо!

  • Аноним

    Action Script Си подобен, тогда уж лучше С#/C++.

  • lgb

    нет, писать/собирать/запускать можно во всех основных системах. А кроме Eclipse, его официально поддерживает IntelliJ Idea (многие считают её самой удобной средой разработки для Java) даже в бесплатной версии.

    а вот с книгами по андроиду беда — есть хорошие, но на аеглийском, местные же похожи на просто перевод официальной документации, что сухо и не интересно.

  • Там основна мова Java, але по трохи з’являються транслятор з інших мов програмування. Рекомендована для девелопмента IDE — Eclipse (так як під нею запускають емулятор Андроїда). Йде на будь-якій платформі. В тому числі і вінді.

    Взагалом, бажано починати вивчення зі структурних процедурно-орієнтованих мов програмування аля Pascal та С++. Але зараз більшим попитом і популярністю користуються об’єктно-орієнтовані платформи .Net (C#. ASP і т.д.) та Java (Java, JSP, JSTL). І, ІМХО, об’єктно-орієнтована структура краща.

  • Я бы таки посоветовал питон с pygame. Да и окошки с кнопочками там тоже есть.

  • Аноним

    С 10 лет ассемблер? Сегал ты меня впечатлил. Я с 7ми лет мечтал стать программистом (появился компьютер, узнал кто делает игрушки). Но языками стал интересоваться лет в 12-13, была книжка у меня «C++ Builder для детей», неплохая кстати, можешь поискать. Так я тогда вроде все понимал, и циклы, и условия, но почему-то думал, что ООП это как раз вот это визуальное редактирование окошек :D. Собственно по теме, кроме книги еще одну вещь порекомендую. Удивлен что никто не предложил эту штуку http://habrahabr.ru/blogs/gadgets/111458/ (Lego Mindstorms). Там есть несколько статей ему повещенных  по-моему идеально для ребенка,  главное чтобы папа не заигрался ;).

  • я бы так не сказал

  • Enhray

    Ruby + Shoes, оно как раз для детей сделано. Единственный минус — _why’s poignant guide to Ruby на русский переведен только частично.

  • Второе место в государственной олимпиаде по программированию, чо 🙂 Жил бы в
    Харькове, было б первое

  • lgb

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

  • Аноним

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

  • guest

    c# намного проще в освоении чем с++ базовые ещи почти как бейсик, плюc все формочки и актуальный язык в отличии от делфи
    как только захочется седалть игру — куча доступных и простых движков (терария например сделана на c#)

  • Возможно, ребёнку и стоило бы начать с Pascal/Delphi. Но я всё же посоветовал бы начать с C (Керниган и Ричи), потом ООП (C++/C#/Java — что понравится).
    Что касается IDE, для C++/C# под Windows лучше Visual Studio, на самом деле, ничего нет. XNA — это ж тот же Visual Studio и C#. Но есть неплохая «лёгкая» среда для C/C++ — Code::Blocks. Для Java лучше всего NetBeans, да и к ней же можно прикрутить C/C++.
    > Я в его возрасте учил ассемблер
    Это в 10 лет? Респект!

  • Аноним

    Вам правильно сказали про никогда не поздно начать. Само по себе начинание программировать в 10 лет еще ничего не гарантирует.

  • Аноним

    Это чем он си-подобен? Вы про третий говорите? Третий больше на шарп походит, или на Java.

  • С книжками только проблемы, что бы не выбрать. Для Питона я бы посоветовал http://www.amazon.com/Python-Programming-Absolute-Beginner-Michael/dp/1592000738

    Легко изложено, хорошие задания, в конце уже создаст легкие игры в PyGame.

  • Ассемблер в 10 лет? МУЖИК.

  • После машинного кода МК-61/МК-52 Ассемблер — очень простой и понятный язык 🙂

  • Аноним

    Я не пищу на нем, когда последний раз смотрел на примеры кода, показался похожим на C#. Да это я про 3ку.

  • Ну вот я начал, а толку? 🙂

  • да кстати с самого начала можно дать Unity3D, там и языков несколько на выбор и ифраструктура удобная для создания игр. что может быть веселее?

  • Влада Тихомирова

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

  • А компилировать не надо — это разве плюс для начала? Наоборот очень помогает компилятор, когда ошибки синтаксиса ищет сразу же)

  • Аноним

    А сначала говорили что С подобен. Да я тоже не пишу, просто учил как-то. Вы извините, что придрался, просто хотел уточнить, что он ничем не сложней C#, даже легче.
    Вообще хороший тоже вариант для ребенка, можно нарисовать машинку,сделать чтобы она ездила от стрелочек. Если хорошо пойдет, может и физику сможет прикрутить (Box2d).

  • dracula_x

    кстати, немного оффтоп, но есть забавная штука, если в целом про обучение программированию на Ruby http://railsforzombies.org/

  • Гуглите Logo и/или Racket. Самое оно, КМК.
    А асм в 10 — это сильно, да. Снимаю шляпу.

  • Аноним

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

  • срань какая.
    не нужно. пусть нормальные языки осваивает. а ынтырпрайзное говно курится максимум за месяц.

  • оно главным образом про рельсы.
    про сам язык есть http://tryruby.org/

  • eclipse

  • Аноним

    Лучше всего на мой взгляд все же начать обучение с С++ , сейчас с него начинают обучение в комп вузах . Из авторов » Г.Шилдт С++ для начинающих » 

  • не, ну если вы хотите отбить ребёнку охоту кодить на всю жизнь — валяйте, впаривайте ему плюсцы.

  • IDE

  • Kai

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

  • >После машинного кода МК-61/МК-52
    nashi ludi 🙂

  • Kai

    Я в десять лет легко писал на ассемблере и паскале. Вы бы не меряли детей по своему уровню — нехорошо это…

  • Kai

    ASM — самый простой из всех языков. Полтора десятка команд и пара десятков модификаций к ним. Проще не придумать.

  • Kai

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

  • Kai

    Как показывает мировая практика, простые игрушки легко реализуются на флэше, а html5 до сих пор остается уделом гиков.

  • Kai

    Да не так уж и прост варкрафтовский lua. Он очень геморроен, отлаживать его адов ад. Да и знать надо кучу функций из близзовых библиотек. Кроме вау-эффекта ничего хорошего в этом нет.

  • Kai

    Уже предлагали, но я еще раз предлагаю flash — это и порисовать, и попрограммировать.

  • Аноним

    Откуда же вы такие беретесь?:) Спасибо, что убрали довольно жесткую фразу. Я никого не на кого не ровняю, но в таком возрасте по-моему лучше начинать с чего-нибудь попроще, чтобы не отбить желание как внизу написали. Тут конечно Сергею решать, но он вроде написал, что не хочет мучить ребенка асмом. Тут еще как на С++ смотреть, если просто управляющие конструкции и переменные,это одно. А если учить еще ООП, работу с памятью, библиотеки, это другое, слишком большой объем для ребенка, вот про что я. Ну а если это ему по силам думаю можно смело готовить ребенка сдавать экзамены экстерном.

  • Не мучайте ребёнка — покажите Python!

    «окошки, кнопочки, привычный интерфейс» — вы про среду разработки? в составе идет очень простая IDLE — как раз то, что надо
    а если про создание всяких окошек интерфейсных — то это намного легче описывать в коде; помню по своему опыту, когда я, четырнадцатилетний, увидел делфи и долго недоумевал, зачем все так усложнять:)

  • кстати, а всякие сишки (во всех ипостасях) вредны на начальном этапе, как мне кажется
    говорю это как человек, который 5 лет пишет на C++ в достаточно известной в своей сфере EDA-компании, из них три последних года — в статусе сеньора

    если что — я сам впервые начал программировать где-то в 9 лет — тогда это был синклер бейсик, затем синклеровский же ассемблер, турбо паскаль, дельфи, сишка, питон, а уже в универе — плюсы

  • Kai

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

  • Kai

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

  • Kai

    Конечно! Нужно начинать с HTML5, Ruby, Python и

  • вы везунчик) мне как веб-программисту приходится почти ежедневно сталикаться с математикой) 
    сложно даже представить сколько возни с мат у прикладных программистов

  • то ты просто не расказываешь)))

  • Аноним

    Java или Flash

  • Посмотри на Scratch, дочке в школе задавали делать на нем игры http://scratch.mit.edu/

    Если просто учить программировать то имхо Python.
    Вон почитай что про него пишет Piter Norvig ( это Head of Research в Google и один из отцов современного AI программирования ) http://third-bit.com/blog/archives/4052.html
    C/C++ стоит учить на примерах где видно в чем его преимущество, иначе для ребенка это будет выглядеть как сложность ради сложности. ( для тех кто не в курсе основное достоинство C это максимальная близость к железу, прямая работа с памятью, работа с SIMD и т.п )
    Одну и ту же задачу можно сделать на Python и на C и померять производительность, посмотреть где узкие места. Тогда будет намного лучше понятно в чем разница между ними и в чем плюсы C.

    Можно Java еще, но я в ней мало расбираюсь. Знаю только что джависты очень любят усложнять код и вводить кучи абстракций.

    P.S. Delphi учить уж точно не надо…

    Phejet

  • Для ребенка StencylWorks (http://stencyl.com/) самое оно. Понравится — до кода сам доберется.

  • Аноним

    Flash конечно, AS3 простой и клевый. Визуальная отдача от процесса мгновенная,  да и в веб закинуть без проблем — друзьям показать. 

  • Kai

    Например?

  • ну хотя бы  система репутации на сайтах. которая сложнее +-)
    а вообще все что угодно — начиная от построения архитектуры и заканчивая сложным парсингом

  • Kilgort

    Поддерживаю комментатора mo0. 
    Потому что А) C# довольно простой и главное популярный язык
    Б) он хорошо дружит с Windows.
    В) XNA на C#
    Ну и вот материалы для детей есть от Microsoft. 

  • Я за цепочку ассемблер->С->C++. Иначе ребёнок вырастет энтерпрайз-дегенератом (дельфачником, жабщиком, шарпером, «я 5 лет пишу на С++, из них 4 года как техникал лид»), или, что ещё хуже — уебщиком-линюксистом.

  • А что он хочет программировать? Если игры, то можно Game Maker попробовать. Для начинающих там игры делаются тасканием картиночек и кнопачек, а для тех кто хочет чего то продвинутого, то можно писать скрипты на Си-подобном языке. А после уже и сам сможет решить в какую сторону двигаться.

    Blitz3D/BlitzBasic можно опять же.

    Но это если игры.

  • Сергей, вообще-то не для разработки, а для ребенку на поиграться спрашивает.

  • Аноним

    Я тоже за C# и XNA — у вас же XBox 360 есть? Купите потом ещё за 100$ доступ на инди-издание 🙂

  • C++ хорош, спору нет, но возможно лучше начать с Java. 
    Он больше учит дисциплине и гораздо меньше подвержен ошибкам. +сразу по умолчанию поддержка графики, для всех платформ и под веб можно. 
    C++ почти никак не ограничивает программиста по сложности, потом может быть несколько трудно адаптироваться под другой язык. Например, кое-что, что можно делать в C++, нельзя делать в Java. В Java это нельзя делать потому, что это считается плохой практикой. То есть Java старается учить писать хороший код без хардкора. Научившись писать хороший код без хардкора освоить какой-либо другой язык уже не проблема 🙂 
    Ну то есть Java как бы обратно совместим с другими языками, C++ нет.
    Под Java можно программить на бесплатной от Oracle IDE http://netbeans.org или же на www.eclipse.org/ (+эти две IDE поддерживают кучу других языков программирования, базы данных и т.д. Хотя для баз данных лучше MySQL Workbench).
    Причем есть сразу примеры с текстом, видео, исходниками. Например, http://netbeans.org/kb/trails/matisse_ru.html , http://netbeans.org/kb/trails/java-ee_ru.html
    По Java лучше всего из книг двухтомник Хорстманна Core Java. Там все.
    Если же хочется именно C++, то есть Qt от Нокии. Там сразу и графика, и круча других прибамбасов. Но на русском очень скупо написано и наверное все же не для начинающих.
    У Хорстманна, кстати, много всяких GUI примерчиков, причем простых тоже. И Java-проги очень легко переносить и запускать на других компах, в отличии от сранных .exe с кучей зависимостей от библиотек и вообще от фиг знает чего. То есть может будет показать пацанам творение 🙂

  • У Хорстманна, кстати, много всяких GUI примерчиков, причем простых тоже. И Java-проги очень легко переносить и запускать на других компах, в отличии от сранных .exe с кучей зависимостей от библиотек и вообще от фиг знает чего. То есть может будет показать пацанам творение 🙂

  • Ну не в десять лет же 🙂

  • А в 9 лет возился с машкодом МК61? 🙂 брутален

    Я эту хреновину только на картинках видел, поколение пепси лол.

  • Начинать можно конечно с разных флэшей, php и прочих простеньких языков. Можно также дать в руки что-нибудь типа AutoHotkey. Но рано или поздно стоит переходить на нормальные языки.

    Ассемблер — это круто. Вон ты его в 10 лет выучил. Я его выучил сразу же как получил компьютер лет где-то в 13-14. И никаких проблем не было. Не надо считать молодое поколение идиотами — твой сын выучит asm и не поморщится. А плюсов от этого очень много. Начнет понимать как по настоящему работает компьютер, в чем фишка алгоритмов и оптимизации, будет понимать принципы работы методов и инструментов (например работа garbage collector для него будет понятной вещью, которую он будет учитывать в работе, а не черным ящиком) , и так далее. Есть очень большая разница между программистами знающими ассемблер и его не понимающие, даже если он программируют на одном и том же языке высокого уровня.

    Языком же высокого уровня хорошо выбрать Java. Лучше его чем C#.

    Делать ли между ассемблером и явой остановку в виде C/C++ — это уже другой вопрос. Посмотри как пойдет в начале в изучением простеньких языков и ассемблера, а также на развитие программирования — может через несколько лет C/C++ стоит будет уже похоронить. 🙂

  • Nyckolay

    http://ruby4kids.com/ruby4kidsи была какая-то игрушка под win, в которой роботов надо было программить. давала основы ооп

  • Enfi

    Java
    Узнает что такое ООП и грамотный код.
    Для вау эффекта пусть запустит написанную под виндой прогу с красивыми окошками, на машине с никсами.

  • Винни? 🙂

  • Аноним

    8 в индексе TIOBE. Меньше явы, конечно, сыну не стать ЭНТЕРПРАЙЗ менеджером.

  • Linuxsharpfan

    Да вы великовозрастный мудак и посему ваше авторитетное мнение суйте себе в жопу. Неадекваты блджад.

  • Если ребенок еще не начинал программировать, то лучше начать с логики, как тут упоминали Lego Mindstorms будет самое то. Попробовать Visual C#, (и XNA если тянет к программированию игр). Но потом в любом случае нужно перейти к C/C++, он будет популярен всегда, ценится, с него можно на любой другой язык перескочить попроще.

  • Max Yankov

    Скрипты под starcraft 2. Нет, серьёзно – если ничего до этого не трогал в программировании, вполне пойдёт. Ну и Unity3D потом.

  • Павел Орешин

    Семакин И.Г., Шестаков А.П. Основы программирования.2002
    Сейчас сам по нему учусь.
    Там сначала Pascal, а потом C++

  • Либо какую-то спец-среду именно для детей, типа Scratch (http://scratch.mit.edu/

    Либо VisualStudio — C# — Unity3D. Unity3D хорош максимальным вау-эффектом: очень быстро на экране появляются крутые штуки. Шарп, опять же, сильно проще и в сто раз _логичней_ плюсов, что для образования всяко полезно.

  • http://www.intuit.ru/department/school/cs4kids/
    Интуит вообще хороший сайт по этому делу, вот этот курс в частности для детей отличный.

  • Правда, Unity3D c русским фигово сочетается, увы. 

  • Он программировать хочет игры конечно же. А я хочу, что бы он просто программировать научился, можно и на играх

  • Oskar Nezhelsky

    Тоже хотел написать про флеш. (Не знаю — как про XNAUniti). Но — в сравнении с c++c#билдерами и тд — помоему — для ребенка очень хороший вариант. 

    Конечно же нужно смотреть что за ребенок. Если у него «математика в голове» — тогда в сторону c#c++ и подобных — смотреть. 

    Но — если это «еще ребенок» — тогда на флеше пробовать игрушки делать. 

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

    На тему тьюториалов для детей — не скажу, так как толком не искал. Были тьюториалы на kongregate — помоему как раз подходящее. Может быть что то еще есть. 

    http://www.kongregate.com/labs

  • Dmytro Kyshko

    шифры шифры)

  • Dmytro Kyshko

    хммм)
    у меня вообще другая деятельность — но можно подумать)

  • Oskar Nezhelsky

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

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

    Если ребенку интересны игры — тогда скорее всего Flash. В нем много уже готового и встроенного и простую игру можно сделать довольно быстро. Конечно же — наверняка — криво, без ООП и тд.

    Но — сделать и получить от этого фан. И потом уже можно будет более сложные книжки подсовывать. 

    Или — как еще один вариант, в котором у меня есть опыт — можно попроботвать PyGame. Язык там намного приятнее, но как «простой и быстрый инструмент» — он проигрывает. Про UnityЧто там еще — не знаю — не скажу. Unity — просто не смотрел последние версии толком. 

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

    Но — в любом случае, мне кажется, что цеплятсять стоит именно за «что интересно ребенку» (что его «зажжет»). А не за то, что «правильно с точки зрения настоящих программистов».

  • Kostya

    Согласен. Ведь ему ж уже завтра выходить на рынок труда! Айайай, беда-беда. Сегал, как ты сможешь жить с тем что ребенок в 10 лет сидит без работы?

  • Kilgort
  • Турбо Паскаль, отобьет думаю:)

  • Ну, лично мне паскаль ничего не отбил. Более того, я был офигеть как рад пересесть на него с васика.

  • Пусть он учится ЛИСПу по http://mitpress.mit.edu/sicp/full-text/book/book.html этой книге, думаю руцкая версия найдется. Оно полезно и  уже про-программистам, т.к. очень многому учит которого не в каждой книге можно найти, а главное написано очень простым и доступны языком, есть еще видео лекции на этого курса, можно на ипад залить и по ним учиться.
    С++ не подойдет, тк когда он пройдет базовые основы пойдет ад с указателями, адресацией и очисткой памяти, что будет сложно в освоении.
    Ява это еще то гейство, если у него эклипс не крашнеться пару раз пока будет писать «хеллоу ворл», то считай повезло.
    С# как основа тоже может пойти, тк очень простой, понятный, чистый и логичный язык. Но тут есть свой камень, пока он не будет лезть в дебри, а именно писать обратно совместимые .НЕТ приложения, тк там есть определенные ограничения, которые требуються для совместимости программы под вижуал сибейсиком, что полностью убивает все преимущества Шарпа.
    Как вариант простого языка и быстрых графических результатов это дать ему учить Canvas + HTML, учиться просто и быстро, зато сразу можно делать кучу красивых ништяков, и свой первый арканоид он напишет очень быстро.

  • Kostya

    На русском ничего не нашел, к сожалению.

  • А можно название книг, хотя бы по 2д?

  • Аноним
  • вот еще на реальном железе  можно сделать  что угодно 
    http://www.kickstarter.com/projects/794668827/aliencortex-av

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

  • А как насчет сначала разобраться с алгоритмами (ну там quicksort, красно-черные деревья), потом рассмотреть различные парадигмы — процедурная, функциональная, ООП, логическо-рекурсивная, изучить различные технологии проектирования и программирования (waterfall, agile). А потом уже заниматься с конкретными языками. Без системы мало что получится.

  • спасибо, давно искал что путнее по 2Д

  • А если начать наоборот, не с азов, а с моддинга?
    Starcraft 2, Witcher — практически сразу есть, чем похвастаться.
    И потом уже углубляться в сторону движка и того, что нужно, чтобы написать собственный.

  • Longobard

    Я начинал в этом же возрасте с С/С++ по книжке «как программировать на с++» авторов Дейтел и Дейтел (отец и сын, вроде бы как).
    Это отличный учебник (именно учебник, а не справочик или книга о язык). После каждой главы — задачки разной сложности и разного стиля. Есть задачки как более математические, так и более архитектурные. Русский перевод этой книги вполне приличный.
    Учебник большой, порядка тысячи страниц. Мне он показался увлекательным и интересным, потому и рекомендую 🙂

    А с какого языка начинать… По-моему лучше с Си. После него примерно понимаешь принцип и устройство компьютера на относительно низком уровне, и освоив Си можно идти в ту сторону, куда потянет. Но если начать сразу с высокоуровневого языка — велика вероятность что получится очередной дилетант.
    По крайней мере в нашей компании все квалифицированные программисты начинали в молодости именно с Си и основ С++, и только потом брались за что-то другое.

  • превед Раскол )

  • Посмотрел C# — реально как Delphi, очень простая среда, наверное с него и начнем, раз книжка такая хорошая есть 🙂

  • Kodu уже советовали? Для ребенка помоему самое оно. Визуальный конструктор -редактор игр.

    http://fuse.microsoft.com/project/kodu.aspx

    http://habrahabr.ru/blogs/study/80832/

  • Kodu уже советовали? Для ребенка помоему самое оно. Визуальный конструктор -редактор игр.

    http://fuse.microsoft.com/project/kodu.aspx

    http://habrahabr.ru/blogs/study/80832/

  • Gr1zlY

    если игры то проще всего скачать Windows Phone Developer Tools — там C#, все красиво и просто, а главное — будет реальный шанс что-то играбельное  
    соорудить 🙂 глядишь он у тебя и новый тайни вингз придумает, поможешь сынуле стать новым григоровичем.

  • Какая офигенная штука, спасибо!

  • Oleg V. Volkov

    Можно посмотреть во что он играет и найти ресурсы по скриптовым языкам под уже интересные ему вещи. Для WoW или Runes of Magic — Lua. То же самое или Python для некоторых single player вещей и т. д. Пускай у него сначала будет куча примеров для исследования, а потом уже и своё с нуля легче писать будет.

  • Он в LBP играет 🙂

  • Meganubik

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

     

    Да и кстати в10 лет на асе писать, ну я не знаю…у меня даже ПК не было в то время. В свои 10 я брал уроки вождения на транспортном средстве класса A,B,C,D =)

  • Yaroslav Bunyak

    Да, многие рекомендуют Processing для обучения детей программированию. На русском, к сожалению, ничего.

    http://www.amazon.com/Getting-Started-Processing-Casey-Reas/dp/144937980X/

  • превед Винни!

  • nuclearpeace

    Можно учить яву по видео-лекциям из стэнфорда (англ, но может есть версия с субтитрами). Там сначала все показывают и объясняют суть программирования на примере IDE Karel, очень круто и понятно, про робота. Вот первая лекция, перемотано до самого интересного http://www.youtube.com/watch?v=KkMDCCdjyW8&feature=player_detailpage#t=2776s

  • С него и начали, сын уже две «игры» сделал 🙂

  • Borland C и 10 лет это как бы шутка?

  • Неа

  • Simon Kozlov

    Можно попробовать наш Roblox. Там из блоков, с логикой на Lua (куда уж проще). Можно какие-то автоматы или incredible machine соорудить.

    http://www.roblox.com

  • Аноним

    Только Java!
    Идеальный язык для начинающего программиста 🙂

  • Alex

    У меня был Спектрум и начинал я с его бейсика, потом начал щупать ассемблер Z80. Но у меня выбора не было, это был единственный доступный компьютер. Правда, и лет мне было  где-то 14-15. Думаю всё-таки не самый плохой вариант. По крайней мере я рано стал более-менее адекватно представлять себе архитектуру компьютера и не говорить, какой «Objective C хороший язык, можно в 2 строки написать интернет эксплорер».
    Впрочем нет, первый опыт программирования у меня был на калькуляторе электроника мк-61, это действительно хардкор. 🙂

  • Elvasilyev

    Искренне надеюсь, что потом будет отчет к чему таки склонился!

    Т.к. читать стопитсот камментов нет никакой мочи, а этот вопрос (на чем учить ребенка программировать) рано или позже встает перед любым папашей…

    Я если чо, в свое время осваивал Бейсик на Спектруме, ну потом Паскаль, конечно 🙂

  • Аноним

    Если по-хорошему — ребенка надо в таком возрасте учить спорту.
    Пусть не портит зрение перед ТВ и монитором, лучше тело развивать. По себе сужу — это будет НАМНОГО полезнее для ребенка 🙂
    Программированию можно и в 16-18-20 лет научить, разницы в скорости и качестве освоения материала будет немного. А вот без уверенности в своих силах (которую дадут занятия восточными единоборствами, например) в старших классах могут возникнуть проблемы.

  • Одно другому не мешает. Он занимается айкидо

  • Maksim Vi.

    хорошо ты народ затроллил, экий холивар в коментах =) 

  • Аноним

    Это хорошо! 🙂
    Правда, странно, что не выбрали карате — в Украине обитают 2 лучших детских тренера на постсоветском пространстве.

  • Troll Tolstoy

    javascript ?

  • Visual Basic .NET.

  • Полезная ссылка с похожим обсуждением:
    http://useful-faq.livejournal.com/14213572.html

  • neverman

    Тут есть, что надо: http://isocode.ru

    Но, возможно лучше дождаться лет 12-ти, а в 10 все лучше доходит через конструкторы подобные Lego MindStorms. Но дело конечно индивидуальное, в первую очередь. А вообще — очень детские (ранние) языки программирования — создают проблему ложных представлений. От которых еще придется избавляться потом.

  • neverman

    хоть теме и три года, но все же: http://processing.org/ и про книги на русском: http://isocode.ru/

  • герой

    нафиг ему это нужно дайте ему книгу и пусть читает а ни занимается тем что ему не по годам