Как начать программировать с нуля? [закрытый]

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

36
задан Simon 7 August 2010 в 09:42
поделиться

20 ответов

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

Ну, во-первых, это будет сборка (то есть для ARM SOC) и C, и это потребует от вас знакомства с аппаратным программированием. Для номера 2 я бы сказал C ++ / JAVA. Я бы не рекомендовал язык, который поддерживается только одной ОС (например, C #) ...

0
ответ дан 27 November 2019 в 05:19
поделиться

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

Я предлагаю выбирать, исходя из того, что вы хотите с этим делать сейчас. Например, предположим, что вы хотите создать несколько простых игр, пока вы учитесь (подумайте о лягушатнике или, может быть, 1943 г., и держите прицел маленьким). Вы можете довольно быстро создавать 2D-игры, используя интерпретируемый язык, такой как Python или Ruby (в обоих есть бесплатные игровые библиотеки). Возможно, приложив немного больше усилий, вы сможете сделать их на Java или C, и у вас будет место для развития более мощных игровых функций. Или вы можете сделать их в Objective-C и Cocoa, что ограничит вас разработкой на Mac, но откроет возможность распространения ваших игр на iPhone.

Если вы хотите заниматься бизнесом или финансовыми приложениями, вы можете найти много поддержки на основе таких языков, как C #, Visual Basic, Java, C и .NET framework (не язык, но применимый к корпоративному программному обеспечению в целом) . Также было бы неплохо попрактиковаться с SQL для взаимодействия с базами данных (где, вероятно, будут храниться бизнес-данные, такие как продажи, имена клиентов или записи сотрудников).

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

0
ответ дан 27 November 2019 в 05:19
поделиться

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

0
ответ дан 27 November 2019 в 05:19
поделиться

Самые используемые языки - C и Java, согласно Tiobe, так что я бы почти сказал, что вам следует начать с них, но у esr есть несколько веских причин рекомендовать Python в качестве первого языка.

0
ответ дан 27 November 2019 в 05:19
поделиться

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

Что касается литературы, просто возьмите несколько книг в местном книжном магазине и начните изучать их. Я так и сделал. Если вы хотите начать с C++, я точно знаю, что есть отличная книга под названием "C++ для чайников". С него я и начал.

2
ответ дан 27 November 2019 в 05:19
поделиться

Какой бы язык вы ни выбрали (в C # нет ничего плохого). Возьмите хорошую книгу или ресурс, некоторые из них упомянуты здесь. Как только вы это сделаете, не забудьте проработать примеры вручную, а затем за компьютером, чтобы конкретизировать их в своей дыне.

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

2
ответ дан 27 November 2019 в 05:19
поделиться

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

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

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

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

После этого я считаю C # отличным языком общего назначения для изучения программирования. И есть действительно отличные бесплатные инструменты.

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

10
ответ дан 27 November 2019 в 05:19
поделиться

C # - прекрасный язык для начала с участием.

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

Как говорит Джон в своем ответе - Head First C # также является отличной первой книгой (как и все другие их книги, такие как Head First HTML ) .

Вы можете бесплатно получить среду программирования Visual Studio Express (редактор с подсветкой синтаксиса и intellisense, компилятор, отладчик и т. Д.) здесь - только не забудьте выбрать версию C #.

18
ответ дан 27 November 2019 в 05:19
поделиться

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

.
5
ответ дан 27 November 2019 в 05:19
поделиться

В программировании много всего, но, вероятно, его можно разбить на несколько ключевых элементов:

  • теория
  • ремесло
  • диалекты

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

Ремесло приходит с опытом.

И остаются диалекты... или, скорее, конкретный язык (языки), которым вы хотите овладеть.

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

6
ответ дан 27 November 2019 в 05:19
поделиться

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

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

Если бы я был на вашем месте и у меня были бы свободные руки, чтобы выбрать то, что я хочу, я бы точно не выбрал C#, потому что он привязывает вас к проприетарной операционной системе (Mono - это шутка, признайте это).

Моим выбором, вероятно, был бы Python, потому что он работает практически на любой платформе. И у вас есть два очень ценных учебника для начинающих, которые подходят к обучению программированию с совершенно разных точек зрения, так что вы можете выбрать тот, который вам больше подходит: официальный учебник Python и книга Зеда Шоу Learn Python The Hard Way (не пугайтесь страшного названия, книга очень ценна для новичка).

edit:

Прочитав комментарии, я хотел бы добавить еще пару пунктов.

Сколько из этих программистов на C# кодируют ради удовольствия? Большинство программистов, использующих технологии Microsoft, делают это профессионально - это их работа, они делают это за деньги, у большинства из них не хватает смелости признать, что их работа иногда скучна (даже если это так), потому что такое утверждение противоречит корпоративной политике, которая вливается в культуру вокруг инфраструктуры, предоставляемой их (кашель!) бесплатными инструментами программирования.

Всего за пару лет сообщество пользователей, которые занимаются программированием более или менее серьезно, буквально взорвалось. В те времена был sourceforge - единственный монстр, который был полностью связан с программистами. Сегодня есть launchpad, bitbucket, github (который недавно перевалил за 1000000 репозиториев, большинство из которых - небольшие личные проекты, управляемые свободными лицензиями). Сколько из этих проектов используют C#?

Сегодня программирование - это повторное использование или "кража" (в хорошем смысле) кода, как никогда раньше. Где же стада проектов на C#, небольшие библиотеки общего назначения? Хотя некоторые программисты, пишущие проприетарное ПО, не очень полезны новичкам (потому что они рассматривают это как консалтинг, который они могут делать за деньги), и хотя некоторые программисты, пишущие свободное ПО, тоже не очень полезны (потому что им не хватает социальных навыков), код важнее. Вы не учитесь программированию, только читая книги, вы учитесь ему, изучая рабочий код. А экосистема свободных программ предоставляет гораздо больше кода для изучения.

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

  • избегать несвободных программ, получить доступ к большому количеству свободных программ, рискуя прослыть "анонимным интернет-элитаристом"
  • игнорировать священную войну между несвободными и свободными программами, рискуя почувствовать, что такое несвободные программы и как они могут испортить хорошие намерения, как этот парень
10
ответ дан 27 November 2019 в 05:19
поделиться

Лучшего подхода нет, но можно начать отсюда:

Экспресс-выпуски

Они бесплатны, и у вас есть большой выбор.

3
ответ дан 27 November 2019 в 05:19
поделиться

Вы можете получить последнюю версию Head First C # . Он особенно подходит для новичков - и сосредоточен на «забавных» примерах, а не на бизнес-ориентированных. Я лично не являюсь поклонником такого стиля обучения, но он явно подходит многим другим людям.

Убедитесь, что вы покупаете либо последнюю версию (охватывающую .NET 4), либо самую последнюю версию предыдущей версии: в более ранних версиях было довольно много ошибок, но со временем они были исправлены.

21
ответ дан 27 November 2019 в 05:19
поделиться

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

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

  1. Архитектура компьютера с точки зрения аппаратного и программного обеспечения.
  2. C # (книга Deitel C # может быть хорошим выбором, поскольку в ней гораздо больше деталей).
0
ответ дан 27 November 2019 в 05:19
поделиться

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

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

2
ответ дан 27 November 2019 в 05:19
поделиться

C # - хорошее место для начала, но вам, возможно, будет интереснее писать веб-сайты. Это просто, каждый может видеть, что вы делаете круто, и у вас уже есть инструменты, чтобы начать это делать - просто текстовый редактор и веб-браузер. HTML и Javascript также намного проще и понятнее, чем C #, но при этом не менее мощны.

http://www.w3schools.com/ - хорошая отправная точка.

16
ответ дан 27 November 2019 в 05:19
поделиться

Я считаю C # действительно хорошей отправной точкой. Это довольно здорово, что вы действительно интересуетесь программированием в 14 лет.

Я предлагаю взять книгу по C # и прочитать ее. Следуйте приведенным ниже примерам.

Одна из моих любимых книг по C # написана Эндрю Троельсеном: Pro C # with .NET 4.0 - его последняя книга. :)

http://apress.com/book/view/1430225491

4
ответ дан 27 November 2019 в 05:19
поделиться

, чтобы скопировать сообщение, которое я разместил здесь: https://stackoverflow.com/questions/3430705/3432079#3432079 там нужно разобраться в двух вещах:

Академические знания:

  • Знать теорию - получить отличные знания в области теории программирования, теории языкового дизайна, теории архитектур, на которых вы кодируете
  • Знать математику - все программирование в конечном итоге сводится к математике - знать логику предикатов, триггеры, векторы, геометрию, (основную) теорию множеств, графики, основную теорию матриц, небольшой численный анализ тоже не повредит - тоже как теория сложности
  • Know your Language - возьмите книгу, прочтите ее, сделайте заметки для справки. Заголовки Apress хорошо подходят для C # http://www.amazon.com/Pro-2010-NET-Platform-Fifth/dp/1430225491/ref=sr_1_1?ie=UTF8&s=books&qid=1281215548&sr=8-1 хорошо.Затем прочтите блоги и видеоролики, научитесь использовать Redgate Reflector и справку MSDN
  • Know your Tools - для C # это означает Visual Studio 2010 - http://blogs.msdn.com/b/saraford/ archive / 2010/06/17 / video-101-visual-studio-tips-in-55-minutes.aspx - отличный способ учиться. Также получите приличного рефакториста - мой любимый ReSharper, но есть и другие.
  • Знайте свой Ecosysyem - знайте, какие библиотеки существуют, учитесь использовать один или два из лучших

Навыков:

  • Знайте, как определять проект - независимо от того, насколько хорошо вы программист, если вы создадите не то, что вам нужно, вы потерпите грандиозную неудачу.
  • Умейте проектировать - изучите теорию объектно-ориентированного проектирования - программные шаблоны «Банда четырех» - это классика, и каждый программист должен знать о них.
  • Уметь документировать код - это критически важно для долговечности кода и для хорошей работы в команде. Напишите, задокументируйте, протестируйте => Используйте повторно
  • Уметь работать в команде - много работать, хорошо играть, хорошо общаться.
  • Знайте, какой инструмент использовать - прочувствуйте как можно больше типов языков, актуальных языков, технологий, библиотек и т. Д., Чтобы знать, что использовать в каких ситуациях.
  • Знать, как научитесь - у окружающих, из Интернета, из документации и, что наиболее важно, из собственных ошибок.

Я уверен, что другие могут добавить в эти списки;)

3
ответ дан 27 November 2019 в 05:19
поделиться

C# - определенно хорошее место для начала, и вот одна из причин почему:

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

Конечно, вам стоит подумать о том, для чего вы хотите программировать. Если вы хотите заниматься веб-работой, C# - хорошая база, но сомнительно, что вы будете часто использовать его для веб-работы, если только вы не работаете над чем-то серьезным и глубоким. Objective C используется для разработки iphone и ipad, так что с его изучением вы не ошибетесь.

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

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

В любом случае, MVC (model view controller) будет важной вещью, о которой стоит почитать. Когда ваш код хорошо структурирован, его неизмеримо легче поддерживать как самому, так и тем, кому придется продолжить начатое.

Веселитесь.

4
ответ дан 27 November 2019 в 05:19
поделиться

Я бы не стал выбирать C # только потому, что он не полностью бесплатная и полная визуальная студия очень дороги. Взгляните на python, он заставляет вас правильно программировать разными способами, при этом опуская некоторые из наиболее раздражающих аспектов программирования ({и;)). Если вы все же решите изучить Python, есть бесплатный сайт с руководствами по созданию простых текстовых игр. Я использовал его, чтобы познакомиться с языком перед тем, как начать свой текущий проект.

ссылка: http://pythonbook.coffeeghost.net/book1/index.html

0
ответ дан 27 November 2019 в 05:19
поделиться
Другие вопросы по тегам:

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