Мой отец нетерпелив с темпом моего обучения программе. Что я делаю? [закрыто]

Итак, мой папа купил мне 5 книг по программированию (C ++, Java, PHP, Javascript, Android) около месяца назад. Он архитектор, и он ничего не знает о программировании. Он купил меня, потому что я сказал ему, что программирование - это весело, и я хотел узнать его.

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

В последнее время он начал спрашивать меня, что я сделал с ним, и я показал ему программу на C ++, которую я сделал, которая берет то, что вы вводите, затем присваивает значения каждой букве (A - первая буква в алфавите, поэтому получает значение 1) .. и так далее. Затем он добавляет все значения и сообщает об этом. Таким образом, слово «add» будет иметь значение 9.

^^ Это было не очень впечатляюще для него. Он закричал на меня и сказал мне, что все, что я делаю, это болтаться. Это не правда. Он чрезвычайно традиционный и упрямый и не слушает ничего, что я должен был сказать. Что я должен ему сказать?

PS: Если у вас есть советы по зонированию в книге, дайте мне знать

EDIT: Большое вам спасибо, вы не представляете, насколько это означает знать, что есть люди, которые понимают мою ситуацию. Я читал все, и я буду рассматривать мнение каждого. ¡Gracias!

200 голосов | спросил 8 revs, 6 users 93%
David
1 Jam1000000amThu, 01 Jan 1970 03:00:00 +030070 1970, 03:00:00

30 ответов


197
  

Я показал ему программу на C ++, которую я сделал, которая берет то, что вы вводите, затем присваивает значения каждой букве (A - первая буква в алфавите, так что она получает значение 1) .. и так далее. Затем он добавляет все значения и сообщает об этом. Таким образом, слово «add» будет иметь значение 9.

Я не знаю, что вы должны делать с вашим отцом. Но:

Если вы сделали это самостоятельно, начиная с нуля, изучая книги, через месяц , это чертовски впечатляет. И вы сделали это на C ++, что один из самых страшных языков программирования.

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

Я могу только предложить: продолжайте делать то, что вам нравится. Игнорируйте своего отца в этом контексте; он не знает, о чем говорит. У вас есть талант в программировании и желание учиться - основные ингредиенты в становлении отличным программистом.

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
88

Покажите ему этот пост Питера Норвига. Норвиг возглавляет R & D в Google и преподает в Стэнфорде, в частности, искусственный интеллект, он написал стандартную вводную книгу об ИИ. Как долго вы работаете над этим? Я бы не ожидал ничего больше, чем после месяца работы новичком без дополнительной инструкции, особенно с чем-то сложным, как C ++. Все, что стоит изучать, должно хорошо учиться.

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
83
  1. Помните, что ваш папа, вероятно, думает, что вы о самом умном ребенке в мире, и он пытается помочь вам узнать о чем-то, что вы сказали, что вам нравится.

  2. Знайте, что даже если ваш папа, безусловно, неправильно (пять совершенно разные темы много, чтобы бросить в детстве все сразу), он также своего рода право. Многие люди пытаются поднять программирование, подражая «учебникам», которые они находят в Интернете. Это не всегда плохо, но ИМО обычно не приводит к прочному пониманию. Правильная книга научит вас основам в первую очередь. Это может быть не так весело, как после учебников, которые делают что-то блестящее, но ваш шанс на долгосрочный успех будет идти вверх, и количество вопросов, которые вы должны задать на stackoverflow.com, будет идти вниз.

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

  4. Время от времени вы будете разочарованы. Иногда кажется, что половина программирования застревает, а другая половина отклеивается. Отталкивание - это ценное умение, и чем больше вы поправляетесь, тем лучше. (Избегайте застревания в первую очередь также ценным навыком, поэтому тоже практиковате.)

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

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

  7. Теперь, когда вы дошли до простой прогонки, и вы, по-видимому, немного научились C ++, какие интересные маленькие программы вы можете написать? Как насчет калькулятора кредита, который принимает процентную ставку, сумму кредита и срок кредита и распечатывает график платежей? Или калькулятор, который читает молекулярную формулу типа «H2SO4» или «C6H12O6» и распечатывает вес молекулы? Это не слишком сложнее, чем программа, которую вы уже написали.

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
53
  

Он купил мне их , потому что я сказал ему, что программирование - это весело , и я хотел   чтобы узнать это. ... Что я должен ему сказать?

«Папа, ваш подход к этому делает обучение программированию абсолютно без удовольствия . Отключи его."

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
48

Как архитектор, он наверняка тянет вашу ногу или становится грубым.

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

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

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
30

Мне было бы любопытно, какие книги вы используете. Не все из них на самом деле хороши. Кроме того, не каждая книга подходит для всех.

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

Когда я был ребенком, я воспользовался большим количеством ресурсов, когда учился программировать. У меня были руководства, которые пришли с моим TI 99 /4A, в котором было много интересных программ для рисования изображений и анимационных фигур. Интернет был недоступен для меня, но были даже компьютерные журналы, предназначенные для детей, с программами, в которые я мог бы вводить и получать немедленную обратную связь, и статьи о том, как решать другие проблемы. Я очень любил серию шпионских романов, которые позволяли мне вводить и отлаживать программы, которые были включены в историю. К сожалению, я не думаю, что этот вид ресурсов по-прежнему существует, но есть несколько книг по программированию, предназначенных для молодых людей, таких как книга Hello World на Python и Land of Lisp (хотя это тоже забавно для взрослых).

Я не знаю о вас, но было время, когда я довольно сильно ударил по написанию программ, которые очень похожи на то, что вы только что описали. В конце концов я перешел к более продвинутым вещам. Я написал несколько посредственных игр, некоторые демоверсии, которые воспроизводили различные звуки и анимации в ответ на нажатия клавиш и некоторые вспомогательные материалы. Когда мне было около 10 или 11 лет, я написал программу, которая помогла мне запомнить периодическую таблицу элементов, неоднократно меня спрашивая. (В то время мои навыки запоминания были лучше, чем сейчас, поэтому я получил почти столько же информации, что и в первый раз, когда я играл в викторину, но дело в том, чтобы добиться прогресса).

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

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

Месяц не очень долго изучает программирование. Я писал код в той или иной форме в течение примерно 30 лет, в том числе в детстве, и я все еще каждый день узнаю что-то новое. В первый месяц я уверен, что у меня был первый компьютер, я много времени проводил в Munch Man и гораздо меньше часов, пытаясь понять образцы программ в моем справочнике. Учитесь на темпе, который работает для вас. Сейчас нет никакого давления, и это здорово.

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

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

Чтобы взглянуть на вещи в течение последних четырех недель или около того, я работал в некоторых эзотерических углах функции Ruby on Rails. На сегодняшний день у меня, наконец, есть что показать для него с точки зрения пользователя. В то время я узнал тонну и разработал много критического основополагающего кода, который работает очень хорошо, но мой профессиональный эквивалент позволяет пользователям вводить некоторые вещи и получать что-то еще: не так впечатляет на первый взгляд случайного пользователя , но в него вошло много работы. Если бы кто-то сказал мне, что я четыре раза вворачивался, я был бы очень разочарован, но я также знал бы, что у них есть только малейшее понимание того, что стало делать так просто ».

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
19

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

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

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

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
16

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

У меня сложное время very с книгами, которые меня не развлекают, у меня всегда есть. Я учусь лучше, наблюдая, как другие люди делают что-то, задавая вопросы, когда я не понимаю цели чего-то, а затем борюсь, пока не выясню это. Борьба делает нас сильнее и дает нам право собственности на наши возможные достижения, возможно, поэтому поэтому трудно вылезать из матки.

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

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

Продолжайте и продолжайте совершенствоваться. Привыкайте к тому, что не-программистам нужно увидеть что-то визуально впечатляющее, прежде чем произвести впечатление. Почему бы вам не попробовать написать что-то вроде генератора set Mandelbrot /Julia ? Это может показать ему тот прогресс, который он ищет, отвлекая его от вашего дела на некоторое время. Через десять лет вы сделаете что-то очень похожее, чтобы получить нетехнического менеджера со спины, чтобы вы могли выполнить настоящую работу.

Просто помните, вы делаете это, потому что вам это нравится.

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
15

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

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

Отцы могут быть упрямыми наверняка, но я все же думаю, что у вас есть возможность сгибать свою индивидуальность и выбор через это упражнение. Не из чувства неповиновения, а из собственного стремления и стремления хорошо знать тему программирования. Лично это звучит так, будто ваш отец бросил вас в глубокий конец, когда дело дошло до программирования. Конечно, это не может быть MIPS Assembly Language или LISP, но все же C ++? Ява? Хлоп. Мне нравится программирование, но чтение тех, кто на ранней стадии, могло бы свести меня с ума. Шучу. :)

Так что я бы спросил, так это: что вдохновляет вас ? Какие вещи вы хотите построить? Ответьте на это, а затем ищите свои собственные книги и учебные пособия по этому вопросу. Приходите сюда и задавайте вопросы. Постройте что-нибудь Затем покажите своему отцу, что вы построили. Расскажите ему, что вы узнали. Поблагодарите его за то, что вы так помолвлены с ним и сказали ему, что вы его цените. Я говорю это, потому что, в конце концов, вот что это значит. Он хочет поделиться с тобой тем, что любит тебя. Иногда отцам трудно выразить это традиционными способами, поэтому мы ищем эти косвенные способы сказать то же самое. Иногда мы сосали даже это. Но не забывайте, что во всем этом есть желание быть ближе к вам.

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
15

Кажется, никто не предложил это сделать:

  

В последнее время он начал спрашивать меня, что я сделал с ним, и я показал ему программу на C ++, которую я сделал, которая берет то, что вы вводите, затем присваивает значения каждой букве (A - первая буква в алфавите, поэтому получает значение 1) .. и так далее. Затем он добавляет все значения и сообщает об этом. Таким образом, слово «add» будет иметь значение 9.

     

^^ Это было не очень впечатляюще для него. Он закричал на меня и сказал мне, что все, что я делаю, это болтаться. Это не правда. Он чрезвычайно традиционный и упрямый и не слушает ничего, что я должен был сказать. Что я должен ему сказать?

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

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

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
12

Сделайте все, что захотите

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

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

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

Итак, что вы делаете в этой ситуации? Держитесь на месте, не слушайте никого и делайте то, что вам нужно.

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
10

Вы запросили книги. Честно говоря, вы будете лучше решать проблемы, чем читать книги. Найдите загадку или проблему, в которой вы увлечены. Project Euler - отличный источник, и CodeGolf может предложить интересные вопросы по случаю. Мой первый проект программирования был C ++-приложением, в котором находились простые числа. Учебник, который я использовал в то время, предлагал простую реализацию следующим образом:

bool isPrime (int x) {
    int c = 1;
    тогда как (c <x) {
        if (x% c == 0) {
            return False;
        }
        с = с + 1
        /* c + = 1, если для компилятора установлено значение '98 или более поздняя * /
    }
    return True;
}

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

Будете ли вы учиться, читая книги? да, но я не могу подчеркнуть ценность просто перебора с языком программирования и обучения методом проб и ошибок.

Если вы изучаете программирование для своего отца, остановитесь и найдите свою собственную причину. Шахта все еще преследует меня, чтобы построить ему автоматизированную торговую систему большого объема. Я смертельно серьезен, когда говорю, что вам нужно найти что-то , вы хотите работать, потому что иначе вы, вероятно, вообще откажетесь от программирования, потому что вы увидите его как хореографию, а не хобби или спорт.

Попробуйте прочитать книгу Линуса Торвальдса «Just For Fun», в которой он рассказывает о происхождении операционной системы Linux. В названии говорится все.

Серьезно. Просто поработайте над какой-то проблемой. Когда застрял, включите старика.

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


TL; DR


  1. Просто порвай с чем-то. Решить задачу. Если вы не можете его решить, найдите чужое решение и попытайтесь его понять.
  2. Удачи с # 1
  3. Всякий раз, когда вы что-то узнаете или продвигаетесь вперед, не забудьте рассказать своему старику.
  4. Побери себя. Каждый учится по-своему и по-своему. Просто держитесь за это, и в конце концов у вас будут навыки, чтобы делать то, что вы хотите.
ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
6

Попробуйте найти книгу, которая специально представляет собой введение в программирование для новичков. Может быть, что-то вроде Hello World! Компьютерное программирование для детей и других начинающих Уоррена Санда.

Вы также должны увидеть, что имеет ваша библиотека. В большинстве библиотек должно быть несколько книг для начинающих.

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
5

На мой взгляд, у вас есть две проблемы:

  1. Вы хотите научиться программированию и поддерживать его удовольствие (удовольствие важно, все упрощает).
  2. У вас есть клиент, который действительно ничего не понимает в программировании, но имеет представление о том, чего он хочет. (Ваш папа в вашем случае)

ИМХО:

  1. Для вашей первой проблемы вы просто заходите на сайты вроде этого и задаете такие вопросы, как вы. Найдите ресурсы, подобные этим https://softwareengineering.stackexchange.com/вопросы /62224 /как стать профессионалом-программистом /62263 # 62263 . Подумайте о том, что вы хотите создать (игра, список дел, система управления коллекциями фильмов, следующая лучшая социальная платформа) и просто начните кодирование. Или начинайте с решения головоломок Где я могу найти головоломки и задачи программирования?

  2. Ваша вторая проблема сложнее, вам нужно воспитывать своего отца (хотя он не очень хочет). Пока вы учитесь, вам станет лучше объяснять ему, что сложно программировать. Вы могли бы попытаться использовать метафоры, как описано ей Что такое хорошая метафора программирования? . Другим советом является то, что не-программисты вообще не получают сложностей большого алгоритма, но легко импрестируют с помощью красивых интерфейсов. В зависимости от выбранной вами платформы вы можете легко создавать симпатичные интерфейсы, чтобы произвести впечатление на своего отца. Используйте, например:

Надеюсь, что это поможет.

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
5

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

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

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
5

Что касается языка программирования, я согласен, что вы должны сосредоточиться только на одном.

Собственно, я рекомендую тот, который у вас еще нет: Python. Python - это язык, который достаточно прост в освоении, но также достаточно мощный. C ++, Java, PHP и Javascript все сложнее.

Есть несколько книг от Manning, которые учат программированию с помощью Python. Я бы сильно подумал «Привет, мир!», Даже если он нацелен на немного более молодую демографию.

Если вы хотите продолжить работу с C ++, я рекомендую эту книгу:

Хотя это скорее «ссылка» и меньше «учебник». Я не знаю хорошего учебника по C ++ - там есть тонна «научить себя C ++ fast», но я не думаю, что они очень полезны. (C ++ - довольно сложный язык для изучения first; большинство программистов на С ++ начиналось на более легком языке).

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
4

О C ++, Java, PHP, JavaScript и Android (чтобы вы могли выбирать между ними, потому что попытка овладеть всеми одновременно может сбой):

  • C ++: это чрезвычайно мощный язык. Но слишком мощный, слишком неумолимый, слишком загадочный, чтобы начать с него. Вы должны понимать далеко не все, что нужно сделать. Я думаю, это плохой выбор языка для запуска слишком программы.
  • Java: популярный выбор для новичков. В некотором смысле, это противоположность C ++: C ++ предлагает вам любой мыслимый способ застрелить себя в ноге, в то время как Java пытается не допускать ничего, что может быть вне вашего контроля, что на самом деле довольно парализует. Это слишком упрощенно, слишком тривиально, слишком ограничительно, чтобы показать вам большую часть программирования. И вы не можете получить очень много на Java, не зная много стандартного API и нескольких фреймворков. Java как технология может многое предложить, но имеет свои недостатки как язык.
  • PHP: очень популярный язык, в основном из-за его низкого входного барьера. PHP как язык созрел и теперь богат функциями, которые можно ожидать от современного языка. Однако PHP несет в себе много багажа по историческим причинам. Поэтому, хотя на самом деле это позволяет писать хорошие программы, мало кто делает, и вы не найдете столько информации о том, как это сделать. И стандартная библиотека - это беспорядок. Если вы решите написать PHP, я советую начать работу с каркасом с самого начала, поскольку они обычно продвигают надежные решения общих проблем. Лично я рекомендую symfony , поток3 и CakePHP . Однако мой совет: не начинайте с этого.
  • JavaScript: удивительно мощный язык, как только вы это узнаете. У этого есть «несколько» причуд , но на самом деле вы должны быть в состоянии жить с этим. Хотя вначале он использовался для добавления интерактивности к HTML-страницам, JavaScript теперь можно использовать в нескольких полях. Помимо классического использования, его можно использовать для разработки настольных и мобильных приложений с платформами как Appcelerator , PhoneGap и AIR и для создания серверов с помощью node.js .
    Существует множество библиотек JavaScript и фреймворков. Я предлагаю вам проверить нокаут и jQuery , а также qooxdoo и ext.js , если вы ищете что-то полномасштабное. Кроме того, для разработки серверов вы должны проверить express.js .
    Кроме того, я хотел бы указать CoffeeScript , язык, который компилируется на JavaScript, но имеет довольно много дополнений, которые пригождаются.
  • Android: в отличие от других четырех, это платформа. Платформы следует выбирать в зависимости от того, что вы хотите сделать. Если это разработка мобильных приложений для Android-устройств, перейдите на нее. Не уверен, что это лучше всего начать, но в конечном итоге вам нужно создать то, что, по вашему мнению, круто.

В любом случае, что действительно важно, вы находите это приятным. Что вы создаете вещи, вы думаете, что это круто. Это решает некоторые из ваших потребностей, или с которыми интересно играть. Программирование для тех, кому это нравится. Вам нужен набор инструментов, который позволяет создавать приложения с несколькими строками кода. JavaScript /CoffeeScript может быть хорошей отправной точкой.
Лично я хотел бы указать вам на Ruby. Он многому научил меня программированию, и я сожалею о том, что не знал об этом, когда начал программировать. В принципе, есть две огромные книги (обе доступны бесплатно):

  • Почему Poigant Guide - Лично это было немного слишком отвлекающим (шутки, мультфильмы и т. д.). ) в этой книге для меня, но вам может понравиться именно это.
  • Pragmatic Ruby - отлично работает для меня. Он немного сух, но он просто касается основ.

Наряду с этим я предлагаю вам проверить обувь . Это отличный инструмент с потрясающей интегрированной помощью, включая ссылки, учебные пособия и демонстрации. В течение нескольких дней у вас будут свои первые вещи.

И, возможно, позже, я хотел бы указать вам на haXe . Я думаю, что это отличный язык (мой язык выбора), и есть новый руководство для начинающих , которое было выпущено совсем недавно. Однако у haXe нет доступных инструментов, что делает его столь же простым для создания приложений, как с JavaScript и Ruby. Поэтому вам может показаться утомительным или даже разочаровывающим начинать с того, что побеждает всю цель.

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
3

Это довольно немного, чтобы попытаться ожидать через месяц. Скорее, вы должны попытаться сосредоточиться на изучении одного языка или парадигмы за раз, или это может стать ошеломляющим. Слишком много слишком сильно толкнул - это тоже хороший способ отключиться. Вы можете учиться лучше, работая над конкретной программой, которая вам интересна. Если Android-телефоны там, где ваш интерес лежит, вам, вероятно, лучше идти с Java, а не с C ++. Возможно, он ожидал, что пользовательский интерфейс Whiz-bang станет типичным клиентом, поэтому его не разочарует его разочарование:)

Некоторые из книг Head First могут помочь сделать обучение немного менее сухим, если вы вынуждены придерживаться книг.

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
3

Я думаю, вы должны сейчас положить более формальные материалы и посмотреть на Scratch - http: //scratch .mit.edu / - это позволяет вам легче справляться с большинством программных конструкций, все еще изучая все, что вам нужно, например, циклы и т. д.

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

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

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
3

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

Я не сомневаюсь в тебе. Вы начали с C ++ на ранней стадии своей цели стать программистом. Это впечатляет me .

Повесьте там и удачи в своей карьере программиста!

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
3

Я знаю, что уже есть много ответов. Но я не вижу этого совета: постарайтесь, чтобы ваш отец помог вам. Попробуйте выбрать что-то волосатое в книге на C ++, которое вы можете понять и попросить его помочь.
Дайте ему книгу и пусть он ползет на C ++. Я уверен, что это заставит его понять, насколько сложно кодировать.

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
3

Постарайтесь превратить эту ситуацию в вашу пользу. Просто примите, что того, чего вы достигли до сих пор, недостаточно и старайтесь делать лучше ... У вас будет достаточно трудных времен, подобных этим, когда вы будете работать на босса, если вы не начнете его преодолевать и улучшаетесь с этого момента ,

Если бы я работал в два раза тяжелее, когда был в твоем возрасте ...

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
3

Вход вашего отца не способствует вашему учебному процессу. Да, есть несколько способов пройти обучение, как говорили другие. Тем не менее, вы показали феноменальный прогресс в C ++, на мой взгляд. Ваша программа добавления была бы чем-то, с чем я мог бы справиться после первого семестра в Java-программировании.

Есть две вещи, которые нужно решить, если вы хотите продолжить:

1) Обращайтесь с отцом.

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

2) Найдите фокус.

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

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

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
3

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

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

Но, я думаю, ваш папа действительно на вашей стороне. Он делал то, что считал правильным, он пытался помочь, он купил вам книги, чтобы дать вам хорошее начало. Но он понял это неправильно (и я говорю как папа, иногда мы иногда ошибаемся!). Для него книги, вероятно, там, где он начал свою архитектурную карьеру (я предполагаю, что это началось до того, как Интернет и www были общедоступны, если вообще). Итак, к его мнению, книги, где вы начинаете.

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

И удачи с вашим программированием - похоже, что вы начинаете отлично.

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
3

Одна вещь, не упомянутая в других ответах:

  

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

Вам, безусловно, нужно работать над этой частью. Интернет - это важнейший инструмент программиста , и вам нужно работать с ним.

Во-первых, программирование касается решения проблем. Когда вы не знаете, как делать X в языке XYZ, вы google и ищите решения. * Быстрый поиск решений i * s как важный для программиста с использованием клавиатуры.

Во-вторых, еще один важный навык - с использованием документации . Книги обычно напоминают учебники - они предлагают руководство, но они не предлагают вам полных знаний - и это то, где документация пригодится. Например: вы программируете на C ++, у вас есть месяц опыта. Рано или поздно (я бы сказал, довольно скоро) вам понадобится использовать стандартную библиотеку ... или, может быть, вы ее уже использовали? Если это так, это хороший знак, ваша книга, вероятно, не плохая в этом случае. В любом случае, будет полезно узнать, что уже присутствует в стандартных библиотеках C ++, а что нет. Для этого полезно всегда сохранять ссылку, например http://cplusplus.com/, открытую все время программирования.


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

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
2

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

Ты сказал своему папе, что тебе нравится программировать - не дай ему погубить его для тебя. И, конечно же, не пытайтесь изучать 5 языков программирования, по крайней мере, не сейчас. Stick с относительно простой на подобной Java, которая может быть передана другим, как только вы ее освоили.

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

Желаем удачи; и пусть он знает, что вы делаете это правильно, прогресс идет медленно, но вы так много учитесь, пока вы это делаете.

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
2

Я думаю, что многие программисты в возрасте 25-35 лет выросли, играя Nintendo и Sega. Хорошая часть из них /нас сделала мысленный переход от того, зачем играть в игру, когда вы можете сделать свой собственный. Это очень корыстная мотивация, которая может заставить вас стать лучшим программистом. Это начало. Позже в жизни вы можете перейти от написания видеоигр (виртуальных проблем) к играм с более высокими ставками (проблемы реального мира). Как и этот рецепт для этого пациента, который не собирается отрицательно взаимодействовать с другим предписанным лекарством, могут ли эти грузовики производить наибольшее количество поставок с наименьшим количеством газа, чтобы уменьшить загрязнение, или как я могу гарантировать, что покупка этого запаса будет покупать по цене, которую я хочу, когда 1000 других покупают ее в одно и то же время. Я думаю, что ваш папа будет впечатлен тем, что вы решаете эти проблемы с реальным миром, но ему нужно понять, что вы должны предпринять детские шаги, чтобы добраться туда.

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
1

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

Программирование - это новый мир. Лучший способ стать искусным в этом - научиться этому так же, как вы научились физическому миру: Погрузитесь и экспериментируйте. Одним словом, play. Это время lego.

Для сравнения рассмотрим космонавтов. У них тоже есть новый мир, для которого они совершенно неподготовлены. Они должны начать с основ, как перемещаться по комнате.

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

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

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

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
0

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

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

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30
0

Я изучаю как инженера-программиста, и прогресс обучения программированию на моем образовании был больше, чем просто чтение книги.

Прежде всего, я бы посоветовал вам изучить C, потому что это язык легкости, и многие другие языки (такие как C ++, объектив-c) основаны на C. Как мы это делали, мы должны были купить микрочип (в нашем случае Atmel Mega16 с комплектом STK 500, который представляет собой только плату со светодиодами и кнопками на ней), а затем мы просто играли с ней, запрограммировали программы, чтобы сделать ее бипом и bop. Это веселее, чем просто читать и писать привет мировые программы IMO.

Когда C станет прогулкой в ​​парке для вас, перейдите к C ++ и объектно-ориентированному программированию (OOP). ООП - это ключевая концепция на многих языках и способы думать о программировании, и поэтому это необходимо, если вы серьезно относитесь к своему программированию. Не забудьте понять теорию ООП перед погружением в нее - иначе это могут быть тяжелые процессы: -)

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

Удачи моему другу!

ответил gnasher729 12 J000000Wednesday17 2017, 11:28:30

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132