Так что мой папа купил мне 5 книг по программированию (C ++, Java, PHP, Javascript, Android) около месяца назад. Он архитектор, и он ничего не знает о программировании. Он купил их мне, потому что я сказал ему, что программирование было забавным, и я хотел изучить это.
Как вы, наверное, знаете, быть ребенком (мне 14 лет) и учиться программировать из скучных книг - не самая легкая вещь. Я всегда отвлекаюсь ... Я говорил ему раньше, что мне не нужно покупать книги, и я мог просто смотреть онлайн-уроки ... но нет, он такой старомодный. Он только позволяет мне использовать книги.
Недавно он начал спрашивать меня, что я с ним сделал, и я показал ему созданную мной программу на C ++, которая берет то, что вы вводите, а затем присваивает значения каждой букве (A - первая буква в алфавите, поэтому она получает значение из 1) .. и так далее. Затем он складывает все значения и сообщает вам об этом. Таким образом, слово «добавить» будет иметь значение 9.
^^ Это не очень впечатлило его. Он закричал на меня и сказал, что все, что я делаю, это развратничает. Это не правда. Он чрезвычайно традиционный и упрямый и не слушает ничего, что я должен был сказать. Что мне сказать ему?
PS: Если у вас есть какие-либо советы по зонированию в книге, дайте мне знать
РЕДАКТИРОВАТЬ: Большое спасибо всем, вы не представляете, как много значит знать, что есть некоторые люди, которые понимают мою ситуацию. Я прочитал все и учту мнение каждого. ¡Gracias!
Ответы:
Я не знаю, что ты должен делать со своим отцом. Но:
Если вы сделали все это самостоятельно, начиная с нуля, изучая книги, через месяц , это чертовски впечатляет. И вы сделали это на C ++, который является одним из самых страшных из существующих языков программирования.
Есть немало людей, которые берут интервью, всерьез пытаются найти работу программиста, кто бы с этим боролся. Посмотри эту историю.
Я могу только предложить: продолжайте делать то, что вам нравится. Игнорируйте вашего отца в этом контексте; он не знает, о чем говорит. У вас есть талант в программировании и желание учиться - главные составляющие становления великого программиста.
источник
Покажите ему этот пост от Питера Норвиг. Норвиг возглавляет отдел исследований и разработок в Google и преподает в Стэнфорде, в частности, в области искусственного интеллекта, он написал стандартную вводную книгу по искусственному интеллекту . Как долго вы над этим работаете? Я не ожидал ничего большего после месяца работы новичка без дополнительных инструкций, особенно с чем-то сложным, как C ++. Все, что стоит изучать, стоит учиться хорошо.
источник
Помните, что ваш папа, вероятно, думает, что вы самый умный ребенок в мире, и он пытается помочь вам узнать о том, что, как вы сказали, вам нравится.
Знайте, что даже если ваш папа, несомненно, неправ (пять совершенно разных тем - это много, что можно бросить на ребенка сразу), он тоже немного прав. Многие люди пытаются освоить программирование, подражая «учебникам», которые они находят в сети. Это не всегда плохо, но IMO это обычно не приводит к твердому пониманию. Правильная книга научит вас основам в первую очередь. Это может быть не так увлекательно, как следование учебникам, которые сделают что-то броское, но ваш шанс на долгосрочный успех возрастет, а количество вопросов, которые вы должны задать на stackoverflow.com, уменьшится.
Забудьте обо всех книгах, кроме одной, по крайней мере пока. Похоже, вы уже начали с C ++, так что если вам это нравится, соглашайтесь с этим.
Вы будете чувствовать разочарование время от времени. Иногда кажется, что половина программы застревает, а другая половина отклеивается. Открепление - это ценный навык, и чем больше вы его практикуете, тем лучше для вас. (Во-первых, избегать застревания - это тоже ценный навык, поэтому практикуйте его тоже.)
Изучение вашего первого компьютерного языка - это разработка программного обеспечения, а научиться рисовать - это проектирование здания. Возможно, это не самая интересная часть, но это необходимый навык.
Если вы можете заставить его слушать, постарайтесь разбить все то, что вам пришлось выучить, чтобы написать свою маленькую программу. Требуется некоторое время, чтобы научиться пользоваться инструментами, и он, конечно, не понимает, как все это работает.
Теперь, когда вы подошли к тому, чтобы иметь простую работающую программу, и вы, очевидно, немного изучили C ++, какие интересные маленькие программы вы можете написать? Как насчет кредитного калькулятора, который принимает процентную ставку, сумму кредита и срок кредита и распечатывает график платежей? Или калькулятор, который читает молекулярную формулу, такую как «H2SO4» или «C6H12O6» и распечатывает вес молекулы? Это не намного сложнее, чем программа, которую вы уже написали.
источник
«Папа, твой подход к этому делает обучение программированию абсолютно не веселым .
источник
Как архитектор, он наверняка тянет вас за ногу или грубоват.
Узнайте его о том, когда он начинал: спросите его, рисовал ли он небоскребы с подробными планами водопровода, рассчитал силы и нагрузку на материалы и провел оценку риска бедствий (например, столкновение с самолетом со змеями в нем) после месяца, проведенного с книги, когда он был так же молод, как вы. Может быть, это его успокоит.
Ладно, может быть, это не лучший совет, который я могу тебе дать, чтобы поговорить с твоими родителями. Я могу понять, что наличие отца, который наказывает прогресс, а не поощряет, немного обременительно для ребенка, но вместо этого воспринимайте это как поощрение, чтобы добиться большего. У него могут быть проблемы с отношением, но это не означает злого умысла.
источник
Мне было бы любопытно, какие книги вы используете. Не все из них на самом деле хороши. Кроме того, не каждая книга подходит для всех.
Вы не указали свой возраст, поэтому я предполагаю, что вам намного меньше 18 лет. Я начал учиться, когда мне было около 8 лет.
Когда я был ребенком, я использовал много ресурсов, когда учился программировать. У меня были инструкции, прилагаемые к моему TI 99 / 4A, которые содержали множество забавных программ для рисования изображений и анимации. Интернет был недоступен для меня, но были даже компьютерные журналы, предназначенные для детей, с программами, которые я мог набирать и получать немедленные отзывы, и статьями о том, как решать другие виды задач. Я очень любил серию шпионских романов, которая позволяла мне печатать и отлаживать программы, которые были включены как часть истории. К сожалению, я не думаю, что такого рода ресурсы все еще существуют, но есть несколько книг по программированию, предназначенных для молодых людей, таких как книга Hello World по Python и Land of Lisp (хотя это тоже интересно для взрослых).
Я не знаю о вас, но было время, когда я получал удовольствие от написания программ, которые делают вещи, очень похожие на то, что вы только что описали. В конце концов я перешел к более сложным вещам. Я написал несколько посредственных игр, несколько демонстраций, которые воспроизводили различные звуки и анимации в ответ на нажатия клавиш, а также некоторые учебные пособия. Когда мне было 10 или 11 лет, я написал программу, которая помогла мне запомнить периодическую таблицу элементов, многократно опрашивая меня. (В то время мои навыки запоминания были лучше, чем сейчас, поэтому я набрал почти столько же данных в первый раз, сколько играл в викторину, но смысл был в том, чтобы добиться прогресса).
Твой отец может не осознавать этого, но книги - это только часть процесса, когда ты учишься программировать. Обнаружение небольшой проблемы и попытка выяснить, как ее решить, является другой половиной уравнения. Другая книга - найти книгу, которая научит вас немного за раз и позволит вам повеселиться на машине. В моем случае книги, которые подчеркивали графику и анимацию, были теми, которые покорили меня.
Когда я был ребенком, мои глаза закрывались, когда я читал книги об алгоритмах сортировки и сложных структурах данных, пока не научился достаточно, чтобы понять, как они относятся к проблемам, которые меня действительно волнуют. Не каждое слово в книгах, которые вы прочитаете, будет захватывающим. Это нормально. Вы доберетесь до этого, когда вам это нужно; некоторые проблемы, которые вы захотите решить, напомнят вам технику, которая не показалась вам интересной три недели, три месяца или три года назад, и вы вернетесь к ней, просмотрите ее и поймете.
Месяц не очень много времени для изучения программирования. Я пишу код в той или иной форме около 30 лет, в том числе в детстве, и я все еще узнаю что-то новое каждый день. Я уверен, что в первый месяц, когда у меня был первый компьютер, я потратил много времени, играя в Munch Man, и гораздо меньшее количество часов, пытаясь разобраться в примерах программ в моем справочнике. Учитесь в темпе, который работает для вас. Там нет никакого давления сейчас, и это здорово.
«Шуметь» - это то, что вы должны делать, когда впервые учитесь программировать. Хакеры (вид Пола Грэма) возятся, пытаясь понять, как работает их система, как работает их язык программирования, как работают их инструменты. Вы пробуете что-то, вы терпите неудачу, вы размышляете над проблемой, с которой сталкиваетесь, и вы пробуете что-то другое, пока не получите что-то работающее. Не беспокойся об этом.
Если ваш отец не работает над одними и теми же книгами, он, вероятно, не поймет, как много вы узнали. Я не ожидал, что смогу спроектировать дом или небоскреб после прочтения книги по архитектуре в течение месяца, особенно в подростковом возрасте.
Чтобы взглянуть на вещи в течение последних четырех недель или около того, я работал в некоторых эзотерических уголках функции Engines в фреймворке Ruby on Rails. На сегодняшний день мне наконец-то есть что показать с точки зрения пользователя. Я многому научился за это время и разработал много критически важного базового кода, который работает довольно хорошо, но является моим профессиональным эквивалентом, позволяющим пользователям набирать некоторые вещи и получать что-то еще: на первый взгляд это не так впечатляет обычного пользователя , но много работы ушло на это. Если бы кто-то сказал мне, что я трахаюсь в течение четырех недель, я был бы очень разочарован, но я также знал бы, что у них есть только малейшее понимание того, что делает вещи настолько «простыми».
источник
Похоже, что в этой ситуации ваш папа не тот, кто дает вам позитивное подкрепление и поддержку в том, что вы делаете. Простое решение: не используйте его для этого.
Делайте свои собственные проекты и делайте их, потому что они веселые, а не потому, что он (или кто-то еще) хочет, чтобы вы их делали. Выберите что-нибудь интересное для вас. Вам не нужно изучать весь язык / технологию из книги. Вместо этого просто начинайте возиться с вещами. Со временем, когда все станет проще, вы будете искать новые концепции / проблемы. И вы обнаружите, что хотите читать книги, которые сегодня вам кажутся скучными (или, по крайней мере, некоторые разделы).
Если вы когда-нибудь застряли и вам нужна помощь в написании чего-либо, stackexchange - отличный ресурс, как вы уже узнали.
источник
Мне кажется, что у твоего отца есть склонность к нереалистичным ожиданиям, или, возможно, у тебя есть история, когда ты начинаешь, а не выполняешь, или и то и другое. Важно понимать, что ни один из действительно не имеет значения здесь, все , что имеет значение в том , что вам нравится , что вы делаете , и получить лучше это делать.
У меня очень трудное время с книгами, которые меня не развлекают, всегда есть. Я учусь лучше всего, наблюдая, как другие люди делают вещи, задавая вопросы, когда я не понимаю цели чего-то, а затем борюсь, пока не пойму это. Борьба делает нас сильнее и дает нам право владеть нашими возможными достижениями, возможно, именно поэтому так трудно выбраться из матки.
При этом одним из самых острых инструментов в вашем наборе инструментов будет способность оставаться открытой, продуктивно работать в условиях критики и не исключать рекомендации, основанные на источнике. Хорошие книги по программированию, как правило, захватывают вас, вдохновляют и ожидают, что вы вернетесь к ним, когда столкнетесь с стеной. Без них вы будете делать много удивительных вещей, изначально не понимая точно, что вы делаете. Программирование - это очень продуманное искусство, поэтому я призываю вас искать книги, написанные так, чтобы их было легко усвоить.
Я занимаюсь профессиональным программированием уже довольно давно, и я могу вам сказать, что мое удовлетворение действительно мое. Мой начальник не совсем понимает, почему вещи, которые я написал, такие классные, моя жена засыпает, когда я рассказываю ей о своем дне, и мои друзья стараются изо всех сил избегать расспрашивать меня о моей работе. Я наслаждаюсь своими победами и случайной возможностью поделиться ими со своими сверстниками. В этом случае ваш папа не из ваших сверстников.
Продолжайте и продолжайте улучшаться. Привыкните к тому факту, что непрограммисты должны увидеть что-то визуально впечатляющее, прежде чем их впечатлить. Почему бы не попытать счастья в написании чего-то вроде генератора множеств Мандельброта / Джулии ? Это может показать ему тот прогресс, которого он ищет, на какое-то время вывести его из вашего дела. Через десять лет вы будете делать что-то очень похожее, чтобы вытащить нетехнического менеджера за спину, чтобы вы могли выполнить настоящую работу.
Просто помните, что вы делаете это, потому что вам это нравится.
источник
Трудно сказать, является ли этот вопрос лучшим для форума Parenting или форума Programming. Я боюсь, что мой совет не может быть на прицеле, потому что я чувствую, что запутаться в этом вопросе потенциально много "проблем" в отношениях отца и сына.
При этом я бы хотел сосредоточиться на той прекрасной возможности, которая существует для вас и вашего отца в связи с темой, к которой вы двое можете каким-то образом разделить страсть. Будучи самим отцом и зная своего отца, я знаю, как отчаянно мы хотим, чтобы наши дети слушали нас, следовали нашим наставлениям и учились у нас. Наши дети часто вынуждены делать обратное. Так что тот факт, что вы оба разделяете этот общий интерес, замечательный.
Отцы наверняка могут быть упрямыми, но я все же думаю, что у вас есть возможность изменить свою индивидуальность и выбор с помощью этого упражнения. Не из чувства неповиновения, а из-за вашего собственного стремления и стремления хорошо знать предмет программирования. Лично, похоже, твой отец бросил тебя в глубокий конец, когда дело доходит до программирования. Конечно, это может быть не MIPS Assembly Language или LISP, но все же C ++? Ява? Хлоп. Я люблю программировать, но чтение этих книг на ранних этапах могло бы все меня выключить. Шучу. :)
Итак, я бы спросил: что вас вдохновляет ? Какие вещи вы хотите построить? Ответьте на это, а затем найдите свои собственные книги и учебные пособия на эту тему. Иди сюда и задавай вопросы. Построй что-нибудь. Тогда покажи своему отцу, что ты построил. Скажите ему, что вы узнали. Спасибо ему за то, что он так помолвлен с тобой, и скажи ему, что ценишь его Я говорю это, потому что, в конце концов, это то, что это все. Он хочет поделиться чем-то с вами, потому что он любит вас. Иногда отцам трудно выразить это традиционными способами, поэтому мы ищем эти косвенные способы сказать то же самое. Иногда мы сосем на это. Но не забывайте, что во всем этом есть желание быть ближе к вам.
источник
Похоже, никто еще не предложил это:
Если подумать, эта программа не очень впечатляет для тех, кто использует компьютеры и ничего не знает о программировании.
Покажи отцу, как ты это сделал. Пройдите его через исходный код. Возможно, он (определенно) этого не поймет, но он покажет, сколько работы вы вложили в него, и насколько вы понимаете, и, возможно, он уйдет с более позитивным впечатлением от того, сколько вы на самом деле достигли.
источник
Делай что хочешь
Это твоя жизнь. Ты можешь делать что захочешь. Не позволяйте никому (даже вашему отцу) контролировать вашу жизнь.
Я предполагаю, что вы более или менее любите программирование и хотите стать успешным специалистом (а ваш папа хочет, все хотят). Но дело в том, что вы никогда не добьетесь успеха, если не будете знать, что делаете, и если вам это не нравится .
Овладеть любой областью сложно. Вы не можете сделать это только под чьим-то влиянием. И никто не знает, что вы должны делать лучше, чем вы . Вы хотите отдохнуть сегодня и хотите играть в игры весь день? Это ваше решение, и вы несете за него ответственность. Вы должны научиться нести ответственность за свои решения и свою жизнь. Ответственность за свои решения обязательна для каждого успешного специалиста.
Так что вы делаете в этой ситуации? Стой на своем, не слушай никого и делай все, что тебе кажется стоящим.
источник
Вы просили книги. Честно говоря, вы будете решать проблемы лучше, чем читать книги. Найдите загадку или проблему, которой вы увлечены. Project Euler - отличный источник, и CodeGolf может предложить интересные вопросы по случаю. Моим первым программным проектом было приложение на C ++, которое находило простые числа. Учебник, который я использовал в то время, предлагал простую реализацию, подобную этой:
что в целом неэффективно. Я нашел около первых 500 простых чисел с этой функцией, прежде чем сдаться с отвращением из-за ее медлительности. Мы с папой прекрасно провели время, пытаясь оптимизировать вышеописанное, и хотя это было простое приложение, которое даже не записывало свои выходные данные в файл, который мне нравился, и полученный продукт был крутым.
Будете ли вы учиться, читая книги? да, но я не могу подчеркнуть ценность просто дурачиться с языком программирования и обучения методом проб и ошибок.
Если вы изучаете программирование для своего отца, остановитесь и найдите собственную причину, делайте это. Мой до сих пор преследует меня, чтобы построить для него большую автоматизированную торговую систему. Я смертельно серьезен, когда говорю, что вам нужно найти что-то, над чем вы хотите работать, потому что в противном случае вы, вероятно, вообще откажетесь от программирования, потому что увидите, что это рутина, а не хобби или спорт.
Попробуйте прочитать книгу Линуса Торвальдса «Just For Fun», в которой он рассказывает о происхождении операционной системы Linux. Название говорит само за себя.
Шутки в сторону. Просто взломайте какую-нибудь проблему. Застряв, вовлеки старика.
Если ваш папа не ценит вашу работу, это не потому, что он разочарован. Он архитектор, он не знает, насколько сложны некоторые вещи. Попробуйте провести его через ваш код, хотя бы логику, и заставить его оценить, что это за логика, которую вы выучили, написав ее.
TL; DR
источник
Попытайтесь найти книгу, которая является определенно введением в программирование для новичков. Может быть, что-то вроде Hello World! Компьютерное программирование для детей и других начинающих Уоррен Санде.
Вы также должны увидеть, что есть в вашей библиотеке. В большинстве библиотек должно быть несколько книг для начинающих.
источник
На мой взгляд, у вас есть две проблемы:
ИМХО:
Для решения вашей первой проблемы вы просто заходите на такие сайты и задаете вопросы, как вы. Найдите ресурсы, подобные этим https://softwareengineering.stackexchange.com/questions/62224/how-to-become-a-professional-programmer/62263#62263 . Подумайте о том, что вы хотите создать (игра, список дел, система управления коллекцией фильмов, следующая лучшая социальная платформа) и просто начните писать код. Или начать с решения головоломок. Где я могу найти программирование головоломок и задач?
Ваша вторая проблема сложнее, вам нужно обучить своего отца (хотя он, кажется, не очень охотно). Пока вы учитесь, вы лучше объясните ему, что сложного в программировании. Вы могли бы попытаться использовать метафоры, как объяснил ей Что такое хорошая метафора программирования? , Другой совет заключается в том, что непрограммисты в целом не понимают сложности хорошего алгоритма, но легко впечатляются красивыми интерфейсами. В зависимости от выбранной вами платформы, вы можете легко создавать симпатичные интерфейсы, чтобы произвести впечатление на вашего отца. Используйте, например:
Надеюсь это поможет.
источник
Я просто хотел бы добавить, что в свое время я находился в очень похожем положении, мой папа не очень понимал, что значит положительное подкрепление. Но, видя, что я был настойчив и стойок по отношению к его иногда резкому неодобрению, мне удалось удержать его. Спустя двадцать лет отношения с моим отцом сильно изменились, они улучшились, но тонкие нюансы того времени все еще существуют.
Это просто трудное время в вашей жизни, и здесь важно то, что вы веселитесь, занимаясь этим больше всего на свете.
источник
Что касается языка программирования, я согласен, что вы должны сосредоточиться только на одном.
На самом деле, я рекомендую тот, которого у вас еще нет: Python. Python - это язык, который довольно легко выучить, но он также достаточно мощный. C ++, Java, PHP и Javascript намного сложнее.
Есть несколько книг от Мэннинга, которые учат программированию на Python. Я бы настоятельно рекомендовал «Привет, мир!», Даже если он нацелен на немного более молодую демографию.
Если вы хотите продолжить работу с C ++, я рекомендую эту книгу:
Хотя это скорее «справочник», а не «учебник». Я не знаю ни одного хорошего учебника по С ++ - там куча книг типа "научи себя быстрому С ++", но я не думаю, что они очень полезны. (C ++ - довольно сложный язык для изучения в первую очередь; большинство программистов на C ++ начинали с более простого языка).
источник
def string_add(a_string): \n\t sum = 0 \n\t for letter in a_string:\n\t\t sum += ord(letter) - ord('a')+1 \n\t return sum
(\ n - новая строка \ t -tab) или использование более продвинутого функционального программирования - это одна строка.string_add = lambda a_string: sum(map(lambda ch: ord(ch)-ord('a')+1, a_string))
О C ++, Java, PHP, JavaScript и Android (так что вы можете выбрать между ними, потому что попытка освоить все сразу может привести к неудаче):
Есть много библиотек JavaScript и фреймворков. Я предлагаю вам проверить нокаут и jQuery, а также qooxdoo и ext.jsесли вы ищете что-то полноценное. Кроме того, для разработки на стороне сервера вы должны проверить express.js .
Кроме того, я хотел бы отметить CoffeeScript , язык, который компилируется в JavaScript, но имеет немало дополнений, которые пригодятся.
В любом случае, что действительно важно, так это то, что вы находите это приятным. То, что вы создаете вещи, вы думаете, это круто. Это решит некоторые ваши потребности, или с ними будет весело играть. Программирование для тех, кому это нравится. Вам нужен набор инструментов, который позволяет создавать приложения с несколькими строками кода. JavaScript / CoffeeScript может быть хорошей отправной точкой.
Лично я хотел бы указать вам на Руби. Это многому научило меня в программировании, и мне жаль, что я не знал об этом, когда начал программировать. В основном, есть две огромные книги (обе доступны бесплатно):
Наряду с этим я предлагаю вам проверить обувь . Это отличный инструмент с потрясающей встроенной справкой, включающей справочные материалы, учебные пособия и демонстрации. Первые вещи будут запущены в течение нескольких дней.
И, вероятно, на потом, я хотел бы указать вам на haXe . Я думаю, что это отличный язык (мой язык выбора), и есть совсем новое руководство для начинающих , которое было выпущено совсем недавно. Однако у haXe нет доступных инструментов, которые делают создание приложений одинаково простым, как с JavaScript и Ruby. Поэтому вам может показаться утомительным или даже разочаровывающим, что побеждает всю цель.
источник
Это довольно много, чтобы попытаться ожидать через один месяц. Скорее вы должны попытаться сконцентрироваться на изучении одного языка или парадигмы за раз, или это может быть ошеломляющим. Слишком много пихнуть за раз - это еще и хороший способ отключиться. Вы можете учиться лучше, работая над интересующей вас программой. Если вас интересуют телефоны Android, вам, вероятно, лучше использовать Java, а не C ++. Он, возможно, ожидал, что какой-нибудь пользовательский интерфейс будет обычным клиентом, так что не разочаровывайтесь его разочарованием :)
Некоторые из книг Head First могут помочь сделать обучение немного менее сухим, если вы вынуждены придерживаться книг.
источник
Я думаю, что вы должны отложить более формальные вещи на данный момент и взглянуть на Scratch - http://scratch.mit.edu/ - он позволяет вам легче справляться с большинством программных конструкций, в то же время изучая материал вам нужно как петли и т. д.
Это также обеспечивает безупречную многопоточность, что, возможно, является самой трудной частью работы вручную и которая необходима для получения интересных результатов в современном мире.
Не стоит недооценивать его, потому что он использует цвета и лего-кирпич, как подход к программированию. С этим можно многое сделать, не теряясь в технических деталях.
источник
Спросите своего отца, может ли он спроектировать высотное здание в вашем возрасте. Вот что такое программирование. Требуется время, чтобы учиться, потому что есть так много, чтобы учиться. Это похоже на езду на велосипеде, только у вас есть тысяча педалей, шестеренок, ручек, ручек, и вы не можете выбрать, какой из них использовать в любой момент времени. Это требует практики.
Я не сомневаюсь в тебе. На ранних стадиях вы пытались стать программистом. Это впечатляет меня .
Держись, и удачи тебе в карьере программиста!
источник
Я знаю, что ответов уже много. Но я не видел этот совет: постарайся, чтобы твой отец помог тебе. Попробуйте выбрать что-нибудь волосатое в книге C ++, чтобы вы могли понять, и попросите его помочь.
Дайте ему книгу и позвольте ему ползти на C ++. Я почти уверен, что это заставит его понять, насколько сложно кодировать.
источник
Попробуй превратить эту ситуацию в свою пользу. Просто примите, что того, чего вы достигли до сих пор, недостаточно, и постарайтесь добиться большего ... У вас будет достаточно трудных времен, подобных этим, когда вы будете работать на босса, если не начнете преодолевать это и улучшаться с этого момента ,
Если бы я работал вдвое больше, когда я был в твоем возрасте ...
источник
Вклад вашего отца не способствует вашему учебному процессу. Да, есть несколько способов пройти обучение программированию, как уже упоминали другие. Однако, на мой взгляд, вы показали феноменальный прогресс в C ++. Ваша программа добавления была бы тем, с чем я едва справился после первого семестра в Java-программировании.
Есть две вещи, которые вы должны решить, если хотите продолжить:
1) Обращайся с отцом.
Смотри, у каждого папы есть экстравагантные мечты для своих детей. Однако их ожидания могут быть очень высокими и в конечном итоге приведут к чему-то невозможному в некоторых сказках. Я бы порекомендовал привлечь кого-то внешнего в этой ситуации, чтобы лучше оценить ваш прогресс и привести вашего отца на землю. Вы можете попытаться поговорить с семьей / друзьями, которых вы знаете с опытом программирования, или даже люди в этом сообществе могут отправить ему электронное письмо от имени нашего собственного опыта и знаний. Это самый важный шаг из всех, потому что, если ваш папа не остынет, вы все потеряете интерес.
2) Найти фокус.
Это не способствует изучению всего сразу. Выберите язык и придерживайтесь его. Как вы читаете книгу на определенном языке. Следование буквальным примерам в книге - не совсем верный путь. Регургитация - это процесс обучения для некоторых, но не для всех (особенно для меня). Важно атаковать его с максимально возможного количества точек зрения, которые вам интересны. Программирование книг разных авторов на одном и том же языке, но с разным использованием, может повысить ваше любопытство по поводу того, как вы хотите использовать язык, и понимание того, как ваше собственное желание от программирования (сделать игры? дизайн приложений? тестирование? т. д.). Вы также можете отправиться в личное приключение, чтобы создать программу. Выясните, что вы хотите делать, независимо от того, что вы знаете в данный момент, а затем исследуйте это во время программирования. Со временем ты В конце концов я захочу попробовать другие языки программирования, которые связаны или нет. Вы также можете понять, что не хотите заниматься программированием все вместе.
Прежде всего, помните, что не конечный результат имеет значение, это путешествие. Не забудьте повеселиться!
источник
Вам были даны хорошие отзывы и советы по программным аспектам вашей ситуации. Но я хочу добавить что-то с другой точки зрения ...
У меня сложилось впечатление, что вы испытываете некоторые негативные мысли о своем отце - он оказал на вас давление и сделал несколько комментариев, которые вызвали у вас некоторое горе и беспокойство - и которые извлекли удовольствие из программирования. Это позор, и я думаю, что большинство людей здесь согласятся с тем, что программирование - это весело - я программирую уже более тридцати лет и до сих пор считаю это забавным.
Но я думаю, что твой папа действительно на твоей стороне. Он сделал то, что считал правильным, он пытался помочь, он купил вам книги, чтобы дать вам хорошее начало. Но он ошибся (и я говорю как папа, иногда мы ошибаемся!). По его мнению, книги - это то, с чего он начинал в своей архитектурной карьере (я полагаю, это началось до того, как Интернет и Интернет стали общедоступными, если вообще были). Так что, по его мнению, книги - это то, с чего вы начинаете.
Итак, если предположить, что ваш папа на вашей стороне (и я уверен, что он есть), то проблема в том, что он просто не понимает, насколько трудно это может быть, когда вы впервые начинаете программировать - так что покажите ему все ответы, которыми он был размещено здесь - я уверен, что твой папа хороший парень, и он поймет и поддержит тебя.
И удачи вам в программировании - похоже, вы отлично начинаете.
источник
Одна вещь, не упомянутая в других ответах:
Вам обязательно нужно поработать над этой частью. Интернет - это важнейший инструмент для каждого программиста, и вы должны работать с ним.
Во-первых, программирование - это решение проблем. Когда вы не знаете, как сделать X на языке XYZ, вы гуглите его и ищите решения. * Быстрый поиск решений так же важен для программиста, как и использование клавиатуры.
Во-вторых, еще одним важным навыком является использование документации . Книги, как правило, похожи на учебные пособия - они предлагают руководство, но они не предлагают вам полные знания - и здесь документация пригодится. Например: вы программируете на C ++, у вас есть месяц опыта. Рано или поздно (я бы сказал, довольно скоро) вам понадобится использовать стандартную библиотеку ... или, может быть, вы уже использовали ее? Если это так, то это хороший знак, в этом случае ваша книга, вероятно, не плохая. В любом случае, будет полезно узнать, что уже присутствует в стандартных библиотеках C ++, а что нет. Для этого полезно постоянно держать ссылку наподобие http://cplusplus.com/ во время программирования.
Интернет имеет решающее значение для кодирования, и еще более важно для обучения кодированию. Если ваш папа не понимает этого и ожидает, что вы изучите программирование, используя только книги , тогда его подход контрпродуктивен и замедляет ваш прогресс (и, возможно, приобретает вредные привычки).
источник
Он не имеет представления о процессе склонности к программе. Вы можете прочитать все эти книги и при этом не иметь возможности написать что-либо приличное, потому что самое длинное - это подлинное понимание того, что вы можете сделать, и как к этому подойти.
Вы сказали своему отцу, что вам нравится программирование - не позволяйте ему испортить это для вас. И, конечно же, не пытайтесь изучать 5 языков программирования, по крайней мере, не сейчас. Придерживайтесь относительно простого, как Java, который может быть передан другим, когда вы освоите его.
Что касается книг, кстати, это правильный способ сделать это, потому что вы изучаете язык правильно. Следование учебным пособиям часто приводит к приобретению вредных привычек и т.д.
Удачи; и дайте ему знать, что вы делаете это правильно, прогресс идет медленно, но вы так много учитесь, пока делаете это.
источник
Я думаю, что многие программисты в возрасте от 25 до 35 лет выросли, играя в Nintendo и Sega. Большая часть из них / нас сделала умственный переход к тому, зачем играть в игру, когда вы можете сделать свою собственную. Это очень корыстная мотивация, которая может заставить вас стать лучшим программистом. Это начало. Позже вы можете перейти от написания видеоигр (виртуальные проблемы) к играм с более высокими ставками (проблемы реального мира). Подобно тому, как этот рецепт для этого пациента не будет неблагоприятно взаимодействовать с другим прописанным лекарственным средством, могут ли эти грузовики доставить наибольшее количество доставок с наименьшим количеством газа, чтобы уменьшить загрязнение, или как я могу гарантировать, что покупка этого запаса купит по цене, которую я хочу, когда есть тысячи других, покупающих его в то же время.
источник
Архитектура уходит своими корнями в физический мир, который вы изучали с самого рождения. Для студента архитектурного университета игра с легосом была бы пустой тратой времени. Ваш папа предполагает, что, поскольку вы знаете математику, вы знакомы с основами, и вы должны быть в состоянии начать производить вещи. Ну, это не правда. Он не знает ничего о программировании, потому что он даже не понимает, что это не раздел математики .
Программирование это новый мир. Лучший способ овладеть им - это изучить его так же, как вы изучали физический мир: погрузитесь в себя и экспериментируйте. Одним словом, играй. Это время лего.
Для сравнения рассмотрим космонавтов. У них тоже есть новый мир, к которому они совершенно не готовы. Они должны начать с основ, например, как перемещаться по комнате.
В качестве следующего шага я бы предложил создать игру, в которой компьютер выбирает случайное число, и вы пытаетесь его угадать, и он говорит вам, угадываете ли вы слишком высокое или слишком низкое значение.
Попробуйте много разных языков тоже! Не все сразу, но, может быть, на неделю за раз.
Когда вы приобрели некоторый опыт, создание полноценной видеоигры является одной из самых больших задач, которые вы можете взять на себя как программист-подмастерье. Видеоигры затрагивают почти каждый уголок нашей дисциплины, и создание одного из них - отличный способ развить свои навыки. Это также идеальное место для экспериментов и обучения на более высоких уровнях мастерства.
источник
Уделите время изучению языков программирования, чем больше вы будете практиковаться, тем больше вы будете заниматься программированием, на этот раз вы создали очень простую программу, которая довольно симпатична для новичка, но по мере вашего прогресса убедитесь, что вы создали хорошая программа, которая может быть использована вашим отцом, хорошо, если вы спросите меня, вот как я помог отцу в его работе.
Просто поговорите с отцом и объясните ему все, и я уверен, что он действительно поймет, и я уверен, что однажды вы станете отличным разработчиком.
источник
Я учусь на инженера-программиста, и прогресс в обучении программированию в моем образовании был больше, чем просто чтение книг.
Прежде всего, я бы порекомендовал вам выучить C, потому что это простой язык, и многие другие языки (такие как C ++, Objective-C) построены на C. То, как мы это сделали, было то, что мы должны были купить микрочип ( в нашем случае это Atmel Mega16 с комплектом STK 500, который представляет собой просто плату со светодиодами и кнопками на ней), а затем мы просто поигрались с ним, запрограммировали программы, чтобы сделать его bip и bop. Это веселее, чем просто читать и писать привет программам мира IMO.
Когда C станет для вас прогулкой по парку, переходите к C ++ и объектно-ориентированному программированию (ООП). ООП является ключевой концепцией во многих языках и способах думать о программировании, и поэтому является обязательным, если вы серьезно относитесь к программированию. Убедитесь, что вы понимаете теорию, лежащую в основе ООП, прежде чем углубляться в нее - иначе это может быть трудным процессом :-)
И последнее, но не менее важное: я рекомендую вам изучить различные типы данных, такие как стеки, очереди, кучи и т. Д., Которые очень полезно понимать при программировании и чтении новых языков.
Удачи мой друг!
источник