Многие считают, что в 9-10 лет можно программировать максимум на Scratch’е. Но это не так. В 9 лет можно и на C# Windows Forms программки пилить. Главное – желание.

С чего все началось


Все началось тогда, когда я захотел сделать полноценный компьютер в Minecraft.

Я устроил DDoS атаку на Яндекс Я искал информацию, как работает компьютер. Во время поиска, мне на глаза попался видеокурс по шарпу. И началось…

Не всё так просто в этой жизни


Посмотрел первый урок «Что такое C# и зачем он нужен».

Я подумал:

«Зачем доучивать до конца? Установлю Visual Studio, понажимаю по кнопочкам (не на клавиатуре) и готово! Я — программист!»

Но не всё так просто.

image

Что это? Аааа! Помогите!

Начал бить по клавиатуре… Не в Visual Studio, а в Яндексе:
«Как программировать»
«Как программировать на C#»
«Уроки по C#»
И т.д.



Понеслась!

Нашёл сайты metanit.com и professorweb.ru. Читал…

Первые результаты


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

Оконные приложения


Скачал вот эту книжку. Называется «C# для школьников». В ней есть уроки создания Windows Forms приложений. Дерзал, делал.

Игры


Надоело писать скучные, никому не нужные приложения.
И у меня появилась идея! Сделать мини-игру на Windows Forms!
Называлась Adventure of Warrior.


Начал учить XNA. На 3-й день сделал игру.


Еще пробовал сделать псевдо-3d графику:


Конференции


Участвовал в конкурсах 2 раза.

Первый раз победил (с оговорками). Как я победил? Меня не пускали соревноваться с программистами из старшей школы. А я ж был третьеклассник. Пустили соревноваться с второклашками. Пока они рассказывали про поезда, как они работают, ПДД и т.д., пришёл я.
Показал игру, и всё — 1 место!

Второй раз не попал в призовые места. Хотя моя программка – так себе. Называется Alprog.RadioWave– приложение для прослушивания интернет-радио.

Alprog.RadioWave

Переход на WPF


Спустя два года

Ура! Я умею писать на Windows Forms!

Тем временем, мне захотелось сделать что-то новенькое! Анимации, полупрозрачность элементов.
Ну почему GDI не умеет работать с видеокартой?! Он не тянет!

Ищу… Оооо! Нашёл! WPF!

MVVM? Что это??

Уже разозлился, подумал написать свой UI Фреймворк в Windows Forms на OpenGL.
Начал делать. Ой! Еще OpenGL учить надо! А как кнопку отрисовать? Текстуры в Photoshop’e делать?

Я переступил через порог «нихачу учиться! Я и так всё снаю!» и начал учить. Практика – вещь золотая в обучении.

Что сейчас?


А сейчас в 2019 году, когда мне 11 лет, я учусь на Xamarin.Forms и разрабатываю органайзер. Называется Alprog.Priority.

Первая версия называлась Alprog.XNote:

Alprog.XNote

Уже на WPF

Вот основная:


Стал школьным «тыжпрограммистом». Информатику сдал экстерном. Если что, учителя ко мне обращаются (очень часто).

На уроках информатики приношу свой ноутбук и творю. Учитель информатики стал моим наставником.

Очень ему благодарен. Иногда бывает, что нет идей – хочется бросить программирование. А учитель подсказывает мне, куда двигаться дальше. И я начинаю реализовывать новые идеи.
Ещё я благодарен своим родителям – за поддержку и веру в меня.

Итоги


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

P.S. Ждите новых статей!

Комментарии (92)


  1. dev96
    31.01.2019 18:41

    Поздравляю, что вовремя (даже через чур рано) нашел свое призвание


    1. RussDragon
      01.02.2019 03:01
      +3

      Тут главное теперь об остальных приятных аспектах жизни не забыть :)


  1. PYXRU
    31.01.2019 18:55

    Я в 11 писал на Visual Basic 6.0(После макросов в Excel выучил достаточно быстро), тоже формочки делал (2005) уровень ежедневник с сохранением ms access, к сожалению со временем интерес угас и вернулся только в 16 лет, с появлением олимпиадного программирования, так что смотри не перегори, рано начинать не всегда хорошо. А так правда очень круто! Я думаю в твоем возрасте даже если ты бросишь это приговором не будет, рано или поздно если это твое ты к нему вернешься. Гораздо более плохо будет, если ты слишком рано потеряешь детство которое уже точно не вернешь, хотя у каждого свой путь.


    1. kornerr
      01.02.2019 11:17
      +2

      Сколько боли в вашем комментарии :)


  1. JC_IIB
    31.01.2019 18:57
    +1

    Молодец, продолжай в том же духе! :)

    Иногда бывает, что нет идей – хочется бросить программирование.

    Есть очень клевый подход к решению этой проблемы — подумай, чего тебе не хватает в повседневной жизни (не слишком сложного, конечно), какую небольшую проблему нужно решить — и попробуй это закодить. Когда созданный тобой продукт (а это будет именно продукт) решает твою собственную проблему — это мощный стимул двигаться дальше.
    А потом ты внезапно осознаешь, что продукт решает не только твою личную проблему, но и у других людей способен решить ее же. И вот в руках у тебя — готовый вклад в опенсорс, ну или товар, чего уж там. Выбирать тебе :) главное — не бросай!
    А выбрать можно все, что угодно, даже самое простое, даже то, что покажется поначалу глупым, и у чего есть миллион аналогов в гугл/эпл сторе.


  1. kAIST
    31.01.2019 19:28

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


  1. sinotix
    31.01.2019 19:48

    Крутяк. Я бы в 9 лет даже эту статью написать бы не смог… Собственно, как и в 11…
    Береги зрение =)


    1. GBK Автор
      31.01.2019 21:55
      +2

      И так миопия… -3 зрение (Наследственность)


      1. hudson
        31.01.2019 22:04
        +3

        Когда я поступал в универ, на медкомиссии какой-то альтернативно одаренный медик мне сказал что на программиста мне не учиться… из-за близорукости (было где-то -1/-2 левый-правый). Мол сидеть перед монитором мне противопоказано.

        Так я попал на физмат, на прикладную математику. В итоге за монитором сидел, сижу и буду сидеть. Зрение у меня тоже по матери плохое, но не ужасное. Посадил я его книгами ДО мониторов (сейчас ношу линзы -2/-2.75, прошло больше 20 лет).

        Так что ни наследственность, ни плохое зрение — это не повод не делать то что нравится =)


        1. mSnus
          01.02.2019 00:48

          Вероятно, тогда мониторы были ЭЛТ?


          1. hudson
            01.02.2019 14:23

            Года до 2004 да, после постепенно на ЖК начали переходить. Я к тому, что меньше я за компом не сидел, может даже больше, так как приходилось много самому учить. SO, Coursea и прочего тогда и близко не было…


        1. kornerr
          01.02.2019 11:18

          У меня около -3, но я без очков тоже у монитора сижу, и ношу лишь при вождении авто, когда есть большой риск не носить очки :)


          1. hudson
            01.02.2019 14:24

            А я наоборот в очках только за монитором (если линзы не ношу). На постоянку очки носить мне не удобно.


            1. GBK Автор
              01.02.2019 14:44

              А мне удобно)


      1. arkamax
        01.02.2019 21:27

        На эту тему не переживай — если с очками сейчас все нормально, носи их спокойно. Миопия лечится многие десятки лет, разными вариантами (от лазера до имплантов), я раньше делал софт для расчетов таких вмешательств. Единственное — надо будет подождать лет до 18 (плюс-минус), пока глаз не перестанет расти, иначе в большинстве случаев смысла нет что-то отстраивать. Удачи!


  1. axifive
    31.01.2019 20:03

    Вспомнился свой первый опыт. Началось все с желания заставить работать программу фонарик для телефона на Symbian, которая требовала активации, но купить на тот момент не было возможности и цену за программу для телефона слишком завысили. Начал с брутфорса, в дальнейшем погрузился в реверсинженеринг. В итоге задача была достигнута.
    Главное не сдаваться и продолжать.


    1. Koneru
      31.01.2019 22:58

      Вот это время, программу «фонарик» взламывать, не подскажите приблизительные года?)


      1. axifive
        31.01.2019 23:54

        2008-2009г, приложение под Nokia 5700 — Ntorch Pro. Фонарик работал только через него. Было вполне популярно среди владельцев и других моделей.


  1. sshikov
    31.01.2019 20:52
    +1

    Наличие интереса к делу и правильная идея — это самое важное, в сущности.


  1. maxzh83
    31.01.2019 21:34
    +6

    — Когда ты начал заниматься каратэ?
    — В четыре года.
    — Поздно начал.



  1. Jef239
    31.01.2019 21:49
    +2

    Ты не единственный, в Новосибирске был такой Леонид Рабинович, который с 8 лет участвовал в реализации языка "Робик" на ПЭВМ Агат в команде Звенигородского.

    Тех, кто кончил школу в 13, лично знаю парочку.

    Так что дерзай.


    1. kornerr
      01.02.2019 11:21
      +1

      Я бы не торопил с окончанием школы, ибо потом универ, а потом работа (обычно). И вот на последней стадии у 99.9% людей пропадает интерес к изучению нового.


      1. Jef239
        01.02.2019 11:56

        У 99.9% людей вообще? Ну может быть. А какой процент программистов может использовать только технологии, выученные в школе и университете, и не способен освоить новое? Вроде почти 0%, То есть, если потерял способность к обучению — ты уже не программист.

        Ну и третья цифра — отдельно по вундеркиндам. Сколько процентов вундеркиндов перестают учиться после универа? Судя по знакомым — ноль.

        Стоит ли отбывать время в школе, если ты и так всю программу знаешь? Польза от такой школы как от армии, то есть почти нулевая, а время теряется зря. Так что если программа освоена далеко вперед — экстернат или скакать через класс. Другая ситуация, если математика-физика огого, а русский язык — на троечку. Вот тут лучше не прыгать.

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

        Ещё один человек. При общении в FIDO выглядел 30летним, хотя и не скрывал, что заканчивает школу. Через 2.5 года зову его на работу. И тут выясняется, что школу он закончил в 15. В итоге этот парень придумал идею языка «Котлин» и написал первую книжку по нему. Он был моим сотрудником на двух проектах, и если бы не его 17 лет, то начальником надо было ставить его, а меня — подчиненным.


        1. kornerr
          01.02.2019 12:03
          +1

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

          Это я всё к тому, что если рассматривать мир лишь так, как тебе его дают (ты — рабочий/школьник, и должен лишь работать/учиться), то, конечно, появляется понятие потери времени. Но стоит смотреть шире и делать больше, если ты можешь больше и видишь дальше.


          1. Jef239
            01.02.2019 12:23
            +3

            можно поэкспериментировать с обучением своих сокурсников
            Вы реальных вундеркиндов видели? И много ли среди них было педагогов? Это разные вектора развития.

            Да, есть люди, которые с 11лет репетиторствали, а с 13 — вели уроки (замещения). Но не у своего класса. Чтобы вести уроки у своего класса, нужно быть лидером. Причем очень сильным лидером, иначе дети устроят бардак.

            Мне кажется, что вы сами никогда в школе не преподавали, поэтому просто не понимаете, как выглядит урок со стороны учителя.

            P.S. Я 2.5 года отработал негром на продленке (с 12, точнее почти с 13). Но моим детям было 8-10 лет, и прием домашки — это далеко не урок.


            1. Mike_soft
              01.02.2019 15:43

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


              1. Jef239
                01.02.2019 15:51
                +1

                Давайте не путать туризм с эмиграцией. При наличии в классе учителя — это не преподавание, это так — туризм, Типа реферат рассказать.

                А я про тех, кто реально вел уроки в 13-16 лет., Реферат-то любой рассказать может. Ну и почти любой может «негром», то есть задачки принимать.


                1. Mike_soft
                  01.02.2019 16:26

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


                  1. Jef239
                    01.02.2019 16:35

                    А вы пробовали? Весь урок самостоятельно. Попробуйте — увидите. Знаете, ездить на роликах, когда тебя держат за руку — легко. А когда не держат — сразу становится трудно. Так что с преподом — ну это как на роликах «За ручку». Тогда даже я на роликах езжу и на гироскутере, и вообще на чем угодно. «За ручку» даже на самолете летаю. А вот если с левого кресла не помогают — хрен на я самолете сяду. Ну на тренажере, разумеется.

                    Ну и потом урок — это не только рассказ. К доске надо вызвать, задачки порешать…


                    1. kornerr
                      01.02.2019 16:42
                      +1

                      В ваших комментариях столько боли…


                      1. Jef239
                        01.02.2019 17:16

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

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


                        1. kornerr
                          01.02.2019 17:21

                          Перегорели?


                          1. Jef239
                            01.02.2019 17:24
                            +1

                            Решил не писать фигню. Зато свой компилятор я с тех пор написал, правда простенький, а не тот монстр с инкрементальной компиляцией, который задумывался в 16 лет.


                            1. kornerr
                              01.02.2019 17:41

                              Ссылку на компилятор можно?


                              1. Jef239
                                01.02.2019 17:49

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

                                Остальные тоже специализированные.


          1. sshikov
            01.02.2019 16:12

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


            1. Jef239
              01.02.2019 16:37

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


  1. BerkutEagle
    01.02.2019 08:27
    +4

    Мой путь в программирование начался в 1-м классе вот с этого:
    image
    Там был BASIC и целая книжка про него. Можно было использовать спрайты с Марио и обрабатывать ввод с клавиатуры.
    Только вот сохранить программу нельзя было. А так как денди садит кинескоп телевизора (общеизвестный факт), то попрограммировать удавалось не так долго, как хотелось бы, и каждый раз приходилось начинать с чистого листа.


    1. megazloj
      01.02.2019 16:07

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

      p.s. Я своим никогда не верил, но кого это интересовало?


      1. juray
        01.02.2019 16:25

        image
        — не знаю, насколько достоверно данное фото, но вот следы от Нортон Коммандера на выключенных экранах в компьютерном классе — лично видел.
        Собственно, заставки-«скринсейверы» вроде бы как раз для предотвращения такого эффекта были придуманы.


        1. megazloj
          01.02.2019 16:33

          На сколько я помню, такой эффект проявлялся если длительное время одно и то же изображение выводилось. Абсолютно любой источник статического изображения (например телеканал, на котором транслируется 24/7 настроечная таблица) тоже мог привести к такому результату. А пугали именно тем, что «приставка убивает монитор телевизор».


          1. juray
            01.02.2019 16:36

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


            1. megazloj
              01.02.2019 16:59

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

              Прикол в том, что ночами в приставку рубились родители. И этот факт очень подрывал их тему с «убиванием телевизора» приставкой =)


              1. BerkutEagle
                01.02.2019 17:43
                +1

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


  1. Compolomus
    01.02.2019 10:08
    +1

    Автору респект. У самого в лет 10 появилась любовь к пк. Сначала ставить запускать игры, потом настройка, установка софта, времена дос и вин 3.11
    Потом и до железа добрался. Яп'ы не интересовали, так какие нибудь простые bat файлы. Писал конфиги для первой кваки (аллиасы) может кто помнит =). Потом все заглохло, армия, работа, семья. Вернулся к коду году в 09. Точнее начал как то на работе с телефона изучать html. Потом сайт на wen.ru =). Потом уже начал читать книги, perl. Потом php. Так оно и до сих пор как хобби и осталось.


  1. TTEMMA
    01.02.2019 10:49
    +1

    Просто молодец, продолжай в том же духе, ты реально крут.

    Я как-то тоже решил писать программы, в лет так 13, все складывалось в копировании кода с самоучителя. Начинал на Object Pascal, решил писать программы чтобы переводить игры (точнее, очень хотелось перевести Resident Evil Remake на GameCube), спустя 3 года я осуществил эту мечту и мы с моей командой осилили эту игрушку, где я выступал хакером и программистом всего софта. Правда, вспоминая код, который там был, хочется плакать.
    Года 2 назад перешёл на C#, чуть больше полгода назад с малейшим опытом взяли стажёром-программистом, сейчас уже спокойно справляюсь со сложными задачами.
    Так что, главное тренируйся и пробуй писать что-то реально сложное, будет не получаться, по началу, но со временем все получится и тебе не будет равных в этом деле, удачи!


  1. PavelMSTU
    01.02.2019 11:26

    Георгий — ты молодец!
    Это здорово, что развиваешь свой мозг, а не пьешь пиво и не смотришь аниме до охренения.

    Но как педагог со стажем более 7 лет хочу сказать: не забивай на остальную жизнь!
    Есть масса примеров не очень хороших и каждый год в Бауманке созерцаю новые…
    В конце концов эпоха гениальных задротов в IT закончилась и современный программист должен контактировать с жизнью.

    Я — хз, как твоя остальная жизнь. Говорю впрок тебе + тем школьникам которые вдохновяться твоим постом.

    +1 за пост и в карму.

    И помни умные слова Пушкина!
    X

    Блажен, кто смолоду был молод,
    Блажен, кто вовремя созрел,
    Кто постепенно жизни холод
    С летами вытерпеть умел;
    Кто странным снам не предавался,
    Кто черни светской не чуждался,
    Кто в двадцать лет был франт иль хват,
    А в тридцать выгодно женат;
    Кто в пятьдесят освободился
    От частных и других долгов,
    Кто славы, денег и чинов
    Спокойно в очередь добился,
    О ком твердили целый век:
    N. N. прекрасный человек.

    XI

    Но грустно думать, что напрасно
    Была нам молодость дана,
    Что изменяли ей всечасно,
    Что обманула нас она;
    Что наши лучшие желанья,
    Что наши свежие мечтанья
    Истлели быстрой чередой,
    Как листья осенью гнилой.
    Несносно видеть пред собою
    Одних обедов длинный ряд,
    Глядеть на жизнь, как на обряд,
    И вслед за чинною толпою
    Идти, не разделяя с ней
    Ни общих мнений, ни страстей.


    1. kornerr
      01.02.2019 11:28
      +1

      Никогда не поздно начать пить пиво ;)

      За стихи отдельное спасибо!


  1. kornerr
    01.02.2019 11:27

    Давеча рассказывал, как обучал детей примерно десяти лет программированию в Scratch ( habr.com/ru/post/438278 ). Там вкратце рассказано и показано, что такое игра на память. Она простая, но является полноценной игрой. Рекомендую к созданию :)


  1. perfect_genius
    01.02.2019 11:53
    +1

    Начинал в 21, программирование никогда не интересовало (я больше художник), но появилась идея игры, а на фрилансера денег не было. Решил попробовать самому — понравилось то знаменитое ощущение, когда компьютер исполняет то, что ему накомандовал, когда делаешь что-то работающее.
    Но крайне не понравился барьер между идеей и её воплощением на экране, поэтому решил попробовать придумать более удобный способ программирования или хотя бы прототипирования. Зацени, что скажешь на такое?


    1. kornerr
      01.02.2019 12:07

      На видео происходит совершенно что-то необъяснимое.
      Можете прокомментировать происходящее? Я тоже в меру своих сил занимаюсь изучением «нового способа программирования», но скорее эволюционно на основе всё-таки текста (языка программирования).


      1. perfect_genius
        01.02.2019 13:10

        Посмотрите, включив субтитры.
        Идея простая — компьютер предлагает автоматизировать повторяющиеся действия. В видео «предложение» — это призрак пикселя, куда предлагается перемещать после какого-то условия (на 0:40, на 1:07, на 1:27 (баг, скрыт под спрайтом) и на 2:02 (баг, скрыт под спрайтом)). Если угадал, то человек подтверждает нажатием клавиши (прототип сырой, поэтому не видно призраков при назначении перемещать пульку направо и при удалении после касания).
        Прототип ограничен заранее определёнными условиями («после начала движения», «при движении», «после остановки», «при касании пикселя»...), сейчас пополняю этот список по мере задач и буду искать в них какую-то фундаментальную основу, чтобы научить программу самой создавать их. Хочу через это понять устройство нейросетей и попытаться создать свою. Больше подробностей.


        1. kornerr
          01.02.2019 16:50

          Интересно. Называть это новым подходом я бы, конечно, не стал, но на «визуальную автоматизацию последовательности действий» вполне тянет.
          Хочется следить дальше. Где удобнее всего это делать? Есть какой-нибудь канал на твиттере или ещё где?


          1. kornerr
            01.02.2019 16:52

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


            1. perfect_genius
              01.02.2019 17:31

              Если не новый, то где можно глянуть похожее?
              Буду выкладывать обновления тут.
              По задумке, конечный алгоритм будет виден при остановке времени линиями-связями между объектами.
              В видео не показал логичный баг, который не исправить без перемотки времени назад — научили пулю возвращаться к пулялке, а ещё перемещаться вместе с пулялкой. И при движении пулялки пуля даже во время полёта не долетая до конца, вот сюрприз, перемещается к пулялке и двигается с ней. Нужно будет перемотать время на момент начала перемещения пулялки, увидеть линию/стрелку от пули к ней и заблокировать перенос. Естественно, тоже два раза. Отчего программа заблокирует перемещения к пулялке во время его движения и движения пули, перепишет байт-код внутри (кстати, в будущем будет LLVM).
              Выглядеть «схемы» должны будут примерно как в игре Frozen Synapse:

              image


  1. hockfan
    01.02.2019 12:04
    +1

    У меня сын (10 лет) тоже интересуется программированием, но пока на уровне верстки и небольших вставок javascript. Плюс я его сильно ограничиваю в доступе к компьютеру (злой папа). Не знаю прав я или нет, но хотя бы дети не носят очки как большая часть их класса в школе.
    Вот сейчас думаю, что нам было немного проще т.к. компьютеры были очень простые (ZX, BK) и не надо было пытаться понять ООП. А с другой стороны интернета нет, а информацию добывали по крупицам и хорошо если получилось найти единомышленников чтобы обмениваться опытом.


    1. vadimpl
      02.02.2019 08:55

      "сильно ограничиваю" Тут надо сильно думать. И наблюдать. Потому как есть много за и против. На мой взгляд, не надо жёстко регламентировать, основываясь только на а-ля СанПиН.
      Я пока пришёл к схеме (8 лет): игры (Minecraft, ест-но) через день, каждый день можно остальное, но не в ущерб остальным занятиям. Чуть начинает уставать — перерыв; начинается нервозное поведение — пинками гулять на улицу. Примерно так.


  1. Izulle
    01.02.2019 12:53
    -2

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


    1. kornerr
      01.02.2019 13:01
      +3

      Что в этой статье необычного?


    1. GBK Автор
      01.02.2019 14:20
      -2

      Вообще-то писал сам


  1. Exponent
    01.02.2019 13:37
    +1

    Каждый человек уникален по-своему, может для автора в 11 лет программировать на C# это нормально. Я считаю что для этого возраста лучше заниматься Scratch, Lego Boost, sphero, D2/R2, VV8. Думаю что в 11 лет психика ребенка еще не сформировалась и легче выгореть, сам выгорал несколько раз. К тому же с малого возраста сидеть на мониторе не очень полезно для глаз. Лучше конечно если хороший монитор, IPS матрица, хотя бы HD, правильное освещение комнаты и яркость монитора, правильное расстояние до монитора.


    1. blazer
      01.02.2019 14:32
      +1

      Я тоже с 9 лет программлю и сидел не то что за IPS, а за стремными 14" ЭЛТ мониторами, в доступе к компьютеру никто не ограничивал, прошло 23 года и зрение до сих пор идеальное )


      1. GBK Автор
        01.02.2019 15:03

        Вы везунчик)


    1. fukkit
      01.02.2019 15:35
      -2

      >Думаю что в 11 лет психика ребенка еще не сформировалась

      Язык не поворачивается автора назвать ребёнком


      1. nexus478
        01.02.2019 16:05
        +3

        Вот именно, поэтому автору вряд ли 11 лет :)

        UPD: загуглил автора, есть видосы и там действительно детский голос.
        Поясню почему сомневался. Дело не в C# и винформах, пусть хоть с 5 лет на асме пишет. Меня больше смутил язык статьи, то есть то, как выстроена речь: уместное использование тире и скобок, форматирование текста, ирония и т.д. Это совсем не то, чего ждешь от четвероклассника.


        1. mrlolthe1st
          01.02.2019 17:04
          -1

          Скорее всего автор лишь «хорошо стелит» — не более, да и не вижу в нем толкого программиста в будущем.


          1. nexus478
            01.02.2019 17:08
            +2

            Мда, не завидую вашим детям, если они у вас есть или будут.


            1. mrlolthe1st
              01.02.2019 17:10
              -1

              Это не кодинг, и точно не то, о чем стоит писать. Я знаю куда больше людей, которые в 11 лет могли и большее. Я, к примеру, в 11 лет занял второе на области среди 9х классов — а там точно не WPF формы были. А то сравнили палец с опой.


              1. kornerr
                01.02.2019 17:15
                +2

                Лучше всё-таки верить в хорошее, чем в плохое. С таким настроем как у вас и жить не захочется.


              1. nexus478
                01.02.2019 17:23
                +2

                Как-то неудачно вы выбрали момент для самоутверждения, такое впечатление, что это вы тут ребенок, а не автор. «Я знаю куда больше людей, которые в 11 лет могли и большее! Я, к примеру, в 11 лет занял второе на области среди 9х классов!» Молодец, садись, пять.

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


              1. vadimpl
                02.02.2019 09:18
                +2

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


  1. qwertyRu
    01.02.2019 14:34

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


    1. GBK Автор
      01.02.2019 14:50

      Youtube можно попробовать) Это не шутка.


      1. qwertyRu
        01.02.2019 14:55

        интересовал вопрос, есть ли готовая подборка ресурсов, я не против yuotube. Восприятия мира и мотивация у 9-11 летних, другая и хотелось бы узнать именно о таких «провереных» ресурсах


        1. GBK Автор
          01.02.2019 15:00

          У меня мотивация была такая: я в Minecraft хотел построить компьютер. Надоело и наткнулся на программирование.


          1. LoadRunner
            02.02.2019 09:40

            То есть компьютер в Minecraft ждать явно не стоит?


            1. RussDragon
              02.02.2019 15:30

              Создание компьютера в Майнкрафте требует знаний и навыков на порядок больше. Поэтому, мне кажется, в ближайшее время – не стоит :)


        1. GBK Автор
          01.02.2019 15:02

          Есть хорошие каналы на Ютубе про программирование и DIY. Пока не натыкался на гадости. P.S главное не заходить во вкладку "в тренде".


  1. andreyons
    01.02.2019 14:56

    Ты молодец, спасибо, что написал об этом.
    Попробуй посмотреть на мир вне Windows и C#, думаю, найдешь много-много интересного для себя.


    1. GBK Автор
      01.02.2019 15:03

      Согласен.


  1. nexus478
    01.02.2019 16:07
    +1

    del


  1. mrlolthe1st
    01.02.2019 17:02
    -1

    Программирование это не просто набор кода, а в первую очередь решение поставленных задач. Если я умею писать какую-то шнягу на WPF — еще никак не означает что я программист. Свой путь я начал в 9 лет с .bat файлов, потом Pascal, Java и т.п. А вот как эта статья относиться к программированию и IT — непонятно. Проблема современных кодеров в том, что они только кодить и умеют. Использование ООП везде где можно — зачем? Может, и олимпиадные задачи на нем порешаете, или нет? Только в чем смысл начинать учиться сразу с кодинга — неизвестно. Толком как комп работает не знаешь, а уже лезешь — вот и сиди в Scratch'е — делай алгоритмы, на то и сделано. Не хочу наезжать на автора, но не уважаю, а даже призераю кодеров, которые то что и делают — так кодят, составляют проги как из «лего».


    1. kornerr
      01.02.2019 17:20
      +2

      Согласно Википедии, «Программи?рование — процесс создания компьютерных программ». Согласно английской версии, «Computer programming is the process of designing and building an executable computer program for accomplishing a specific computing task.» Так что создание чего угодно на компе с использованием какого угодно языка — это уже программирование.
      Другое дело, что программирование может быть осмысленным или бездумным. Но такое положение вещей всегда было, есть и будет с абсолютно любым инструментом, созданным человеком.


  1. Saidai
    01.02.2019 18:00
    +1

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

    Иногда бывает, что нет идей – хочется бросить программирование.

    Вот допустим, хочу я почитать что-нибудь по javascript. Куда я пойду?
    Вот сюда: https://medium.com/tag/javascript/latest
    Как ты уже, наверное, понял, javascript можно заменить на интересующую тебя область.
    Например, можно вот так: https://medium.com/tag/programming/latest
    Или так: https://medium.com/tag/csharp/latest

    Вдохновение ищи на медиуме, а статьи пиши на хабр :)


    1. kornerr
      01.02.2019 18:50
      +1

      Лучше искать вдохновение в проблемах, которые замечаешь :)


      1. Saidai
        01.02.2019 18:54

        Так и будет. Я вот начал читать медиум и спустя пару вечеров у меня уже родилась идея первой статьи на хабр. Хотя хабр читал 7 лет.


  1. rumkin
    02.02.2019 16:20

    Для развития как программисту тебе понадобятся:


    1. Математика.
    2. Алгоритмы.
    3. Знание принципов работы компьютера и ОС.
    4. Английский.

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


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


    Советую добавить в учебный план:


    1. Для изучения алгоритмов и математики: https://code.world/ (внизу кнопка Guide). Язык Хаскель, но в курс входит обучение этому языку. Само по себе знание Хаскель очень полезно для кругозора.
    2. Для изучения принципов работы компьютера хорошая статья по созданию VM для Little Computer 3 (учебного компьютера). Вот статья на русском: https://habr.com/en/post/434138/ Даст понимание принципов работы процессора и языков семейства Ассемблеров. Для LC3 есть даже ОС, так что одной VM дело не закончится. Требует знания C, но если разобрался в C#, то и тут разберешься.
    3. Для экспериментов советую использовать https://glitch.com/ (JavaScript) или https://ellie-app.com/new (Elm).
    4. Если возникают вопросы: toster.ru (русскоязычный) и stackoverflow.com (англоязычный). Предполагаю, что не лишним будет ставить пометку, что тебе 11 лет, чтобы ответы были менее наукообразные.

    К языкам программирования не привязывайся – инструмент должен быть под задачу. Лучше знать 5-10 языков на уровне "могу писать" и 2-3 как основные. Знание разных языков и алгоритмов поможет расширить кругозор, видеть задачу "насквозь" и раскладывать ее на составляющие.


    Успехов!


    1. RussDragon
      02.02.2019 22:55
      -1

      1. Математика.

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

      Для изучения принципов работы компьютера хорошая статья по созданию VM для Little Computer 3

      Очень странный, как по мне, способ изучения принципов работы компьютера. Если мы говорим про железо, то понимание VM вообще никак на него не накладывается, если про ОС – только частями. Тут, скорее, вопрос в глубоком понимании работы языков (и то не всех), что не сильно нужно на самом начале программисткого пути. (но за ссылку всё равно спасибо – я как раз собирался писать свою VM)

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

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

      Английский.

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

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


      1. rumkin
        03.02.2019 01:30
        +1

        Математика определенно важна и полезна, но не считаю её критичным навыком в IT.

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


        Очень странный, как по мне, способ изучения принципов работы компьютера.

        Данная VM используется для обучения в университетах, потому что демонстрирует работу процессора и оперативной памяти, дает понимание ассемблера. Это хороший базис для изучения совместно с пониманием работы железа и периферии.


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

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


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

        Математика – абстракция в чистом виде. А, то о чем вы говорите – это умение в частном видеть общее. Для этого и нужно знание алгоритмов.


        1. RussDragon
          03.02.2019 02:05

          Воздержитесь от вредных советов

          Я не даю вредных советов. Они вредны лишь с вашей точки зрения. Как, впрочем, конечно, ваши советы вредны с моей.

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

          Во-вторых, математика – опора программирования, из нее проистекает вообще все.

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

          Она критически важна для скорости освоения материала и понимания тех самых абстракций, о которых вы говорите. А само программирование – это одна из форм математики.

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

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

          Данная VM используется для обучения в университетах, потому что демонстрирует работу процессора и оперативной памяти, дает понимание ассемблера.

          Здесь возможно вы и правы. Не стану спорить. Вопрос целесообразности такого изучения лежит несколько вне моей компетенции.

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

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

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

          Для этого и нужно знание алгоритмов.

          Тут стоит определиться, что мы понимаем под «знание алгоритмов». Я вот, например, знаю, что такое красно-черное дерево, где оно используется, в чем его суть и особенности, где его применять, но сходу не напишу вам его реализацию. Значит ли это, что я знаю алгоритм?

          Математика – абстракция в чистом виде.

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

          P.S. Хочу прояснить. Я не против математики. Я за. Однако, я считаю, что фундаментальные научные знания математики не критичны для того, чтобы быть отличным специалистом. Она помогает им стать, но необходимой для этого не является.

          Всё то, что она развивает в мышлении, можно развить и без её участия.


          1. vadimpl
            03.02.2019 08:52

            У вас обоих странный спор. Перечисленные основы нужны в равной степени, их значимость невозможно ранжировать