У меня действительно никогда не было опыта с программированием вообще, мой дядя сказал мне приезжать в этот сайт для справки от общих незнакомцев, если я хотел начать программировать. Я знаю названия нескольких языков, но я действительно не знаю ничего вообще. Мне четырнадцать лет, и я могу ввести быстро, если это значит что-нибудь. Один из моих дядей хотел, чтобы я изучил c#. Таким образом, мой вопрос, действительно ли c# является хорошим местом для начала, и в противном случае где хорошее место состоит в том, чтобы начаться и как я изучаю это?
Хорошо, это только я или никто ему не задавал главный вопрос. Что именно ты хочешь делать? Вы хотите поиграть с оборудованием (например, у вас есть плата, подключенная к последовательному / параллельному / USB-порту и мигающие светодиоды, звук из динамика и т. Д.) Или вы хотите разрабатывать приложения, которые имеют приятный пользовательский интерфейс для подключения в базу данных или даже в игру?
Ну, во-первых, это будет сборка (то есть для ARM SOC) и C, и это потребует от вас знакомства с аппаратным программированием. Для номера 2 я бы сказал C ++ / JAVA. Я бы не рекомендовал язык, который поддерживается только одной ОС (например, C #) ...
Любой широко используемый язык - хорошее место для начала. После того, как вы выполнили несколько полезных проектов на одном языке, вам будет легче выбрать другие, потому что логика аналогична.
Я предлагаю выбирать, исходя из того, что вы хотите с этим делать сейчас. Например, предположим, что вы хотите создать несколько простых игр, пока вы учитесь (подумайте о лягушатнике или, может быть, 1943 г., и держите прицел маленьким). Вы можете довольно быстро создавать 2D-игры, используя интерпретируемый язык, такой как Python или Ruby (в обоих есть бесплатные игровые библиотеки). Возможно, приложив немного больше усилий, вы сможете сделать их на Java или C, и у вас будет место для развития более мощных игровых функций. Или вы можете сделать их в Objective-C и Cocoa, что ограничит вас разработкой на Mac, но откроет возможность распространения ваших игр на iPhone.
Если вы хотите заниматься бизнесом или финансовыми приложениями, вы можете найти много поддержки на основе таких языков, как C #, Visual Basic, Java, C и .NET framework (не язык, но применимый к корпоративному программному обеспечению в целом) . Также было бы неплохо попрактиковаться с SQL для взаимодействия с базами данных (где, вероятно, будут храниться бизнес-данные, такие как продажи, имена клиентов или записи сотрудников).
Самым важным для быстрого обучения является то, что вам нравятся проекты, над которыми вы работаете, и вы чрезвычайно заинтересованы. Вам будет казаться невозможным выучить язык, если вы действительно не хотите с ним ничего делать. С другой стороны, вы можете стать удивительно хорошим программистом за 6 месяцев, если быстро начнете работать над интересными проектами и фанатично будете решать проблемы, которые вы перед собой ставите. Кроме того, вам 14 лет, поэтому у вас есть возможность продвигать свою жизнь и карьеру в направлении, которое принесет вам как доход, так и удовольствие от выполняемой работы.
C# - отличное место для начала. Я бы посоветовал подумать о чем-нибудь крутом, но не слишком сложном, что вы хотели бы построить, и, используя некоторые из справочников, которые другие люди предложили в этой теме, пойти и построить это. Калькуляторы - забавные стартовые программы для создания (Отказ от ответственности: я математик).
Самые используемые языки - C и Java, согласно Tiobe, так что я бы почти сказал, что вам следует начать с них, но у esr есть несколько веских причин рекомендовать Python в качестве первого языка.
Лично я получил отличный старт в программировании, когда начал изучать C++ около полугода назад. Мне самому тоже около тринадцати. C# очень похож на C++ (хотя есть и отличия), так что, говоря по собственному опыту, я бы сказал, что да, это хороший язык для начала.
Что касается литературы, просто возьмите несколько книг в местном книжном магазине и начните изучать их. Я так и сделал. Если вы хотите начать с C++, я точно знаю, что есть отличная книга под названием "C++ для чайников". С него я и начал.
Какой бы язык вы ни выбрали (в C # нет ничего плохого). Возьмите хорошую книгу или ресурс, некоторые из них упомянуты здесь. Как только вы это сделаете, не забудьте проработать примеры вручную, а затем за компьютером, чтобы конкретизировать их в своей дыне.
Это может быть совершенно очевидно, но чем больше примеров вы сможете проработать, изменить и сделать своими собственными и посмотреть, как они работают, тем быстрее вы освоите язык. ИМХО, вот как вы действительно начинаете учиться и получать удовольствие, потому что вы можете начать видеть, что происходит, и начать решать проблемы и понимать проблемы, которые вы бы не прочитали ...
На мой взгляд, есть один важный инструмент при обучении программированию или при изучении нового языка программирования. Этот инструмент - «проблема, в решении которой вы искренне заинтересованы».
Это может быть игра, которую вы хотите написать, или настольный или сетевой инструмент, который действительно поможет вам в чем-то в школе или в жизни.
Если у вас есть реальная проблема, которую вы действительно хотите решить, всегда найдутся бесплатные инструменты, руководства и онлайн-специалисты, которые помогут вам узнать, как ее решить.
Изучать программирование без решения реальных проблем - это все равно, что научиться строить дом, используя всего лишь молоток, гвоздь и небольшой кусок дерева. Вы можете изучить основы механики молота, но вы никогда не станете плотником, пока вам не придется решать проблемы, с которыми вы столкнетесь, пытаясь построить что-нибудь полезное.
После этого я считаю C # отличным языком общего назначения для изучения программирования. И есть действительно отличные бесплатные инструменты.
Я согласен с плакатом, который сказал: «Экспериментируйте с несколькими языками». Решение одной и той же проблемы с помощью разных инструментов может открыть глаза на различные парадигмы этих инструментов.
C # - прекрасный язык для начала с участием.
Вот хорошая бесплатная электронная книга для начала. В нем обсуждается не только язык программирования, но и то, что значит быть программистом и как подойти к этому профессионально.
Как говорит Джон в своем ответе - Head First C # также является отличной первой книгой (как и все другие их книги, такие как Head First HTML ) .
Вы можете бесплатно получить среду программирования Visual Studio Express (редактор с подсветкой синтаксиса и intellisense, компилятор, отладчик и т. Д.) здесь - только не забудьте выбрать версию C #.
Я бы сказал, что нужно немного поработать с несколькими горячими языками, такими как C#, Python, Ruby. Причина, по которой я так говорю, в том, что я думаю, что любить язык - это немного похоже на развитие вкусовых рецепторов. Я знаю многих людей, которые испытывали отвращение к кодингу только из-за скобок и синтаксического сахара. Все, от чего я хотел вас уберечь, - это от того, чтобы вы испугались синтаксиса и забросили его
.В программировании много всего, но, вероятно, его можно разбить на несколько ключевых элементов:
Теория просто требует много обучения. Книги, курсы, пробы и ошибки, исследования и т.д.
Ремесло приходит с опытом.
И остаются диалекты... или, скорее, конкретный язык (языки), которым вы хотите овладеть.
Чтобы ответить на этот вопрос, потребуется длинный список того, чем вы хотите заниматься. Если у вас нет никакого конкретного направления, то "дядя хочет, чтобы вы его выучили" - это, пожалуй, самая подходящая причина.
Если один из ваших дядей хочет, чтобы вы изучали C#, он, вероятно, видит вас своим сотрудником через пару лет. Поэтому спросите его прямо, таков ли его план, и убедите его помочь вам.
Если ваш дядя не имеет никакого представления о программировании и просто бросил это предложение по C#, потому что где-то услышал этот термин, он может оказать вам очень плохую услугу.
Если бы я был на вашем месте и у меня были бы свободные руки, чтобы выбрать то, что я хочу, я бы точно не выбрал C#, потому что он привязывает вас к проприетарной операционной системе (Mono - это шутка, признайте это).
Моим выбором, вероятно, был бы Python, потому что он работает практически на любой платформе. И у вас есть два очень ценных учебника для начинающих, которые подходят к обучению программированию с совершенно разных точек зрения, так что вы можете выбрать тот, который вам больше подходит: официальный учебник Python и книга Зеда Шоу Learn Python The Hard Way (не пугайтесь страшного названия, книга очень ценна для новичка).
edit:
Прочитав комментарии, я хотел бы добавить еще пару пунктов.
Сколько из этих программистов на C# кодируют ради удовольствия? Большинство программистов, использующих технологии Microsoft, делают это профессионально - это их работа, они делают это за деньги, у большинства из них не хватает смелости признать, что их работа иногда скучна (даже если это так), потому что такое утверждение противоречит корпоративной политике, которая вливается в культуру вокруг инфраструктуры, предоставляемой их (кашель!) бесплатными инструментами программирования.
Всего за пару лет сообщество пользователей, которые занимаются программированием более или менее серьезно, буквально взорвалось. В те времена был sourceforge - единственный монстр, который был полностью связан с программистами. Сегодня есть launchpad, bitbucket, github (который недавно перевалил за 1000000 репозиториев, большинство из которых - небольшие личные проекты, управляемые свободными лицензиями). Сколько из этих проектов используют C#?
Сегодня программирование - это повторное использование или "кража" (в хорошем смысле) кода, как никогда раньше. Где же стада проектов на C#, небольшие библиотеки общего назначения? Хотя некоторые программисты, пишущие проприетарное ПО, не очень полезны новичкам (потому что они рассматривают это как консалтинг, который они могут делать за деньги), и хотя некоторые программисты, пишущие свободное ПО, тоже не очень полезны (потому что им не хватает социальных навыков), код важнее. Вы не учитесь программированию, только читая книги, вы учитесь ему, изучая рабочий код. А экосистема свободных программ предоставляет гораздо больше кода для изучения.
В общем, у людей, которые занимаются программированием, есть два варианта:
Лучшего подхода нет, но можно начать отсюда:
Они бесплатны, и у вас есть большой выбор.
Вы можете получить последнюю версию Head First C # . Он особенно подходит для новичков - и сосредоточен на «забавных» примерах, а не на бизнес-ориентированных. Я лично не являюсь поклонником такого стиля обучения, но он явно подходит многим другим людям.
Убедитесь, что вы покупаете либо последнюю версию (охватывающую .NET 4), либо самую последнюю версию предыдущей версии: в более ранних версиях было довольно много ошибок, но со временем они были исправлены.
Умение быстро печатать десятью пальцами полезно, так как вы можете выполнять все больше и больше упражнений, не вызывая быстрого утомления мышц. В первый раз, когда я воспользовался компьютером, я просто набрал только указательным пальцем правой руки и быстро устал - набор текста превратился в кошмар!
Если у вас много времени, вы можете начать изучение следующих тем по порядку:
Это актив. Вы взяли на себя обязательство по программированию. Обычно выгодно начинать с глубокого понимания вашей рабочей среды. Задайте основные вопросы, например, какие инструменты уже доступны для выполнения ваших повседневных заданий? Получите как можно больше удовольствия с ними; а когда они ведут себя необычно, спросите, почему? Попробуйте найти решение для них в сети. Позже, возможно, вы захотите какое-то время насладиться базовым HTML; и перемещаться по c-sharp или любому другому языку программирования; потому что в конце вы сами выясните связь между программистом и языками программирования.
Надеюсь, это поможет
C # - хорошее место для начала, но вам, возможно, будет интереснее писать веб-сайты. Это просто, каждый может видеть, что вы делаете круто, и у вас уже есть инструменты, чтобы начать это делать - просто текстовый редактор и веб-браузер. HTML и Javascript также намного проще и понятнее, чем C #, но при этом не менее мощны.
http://www.w3schools.com/ - хорошая отправная точка.
Я считаю C # действительно хорошей отправной точкой. Это довольно здорово, что вы действительно интересуетесь программированием в 14 лет.
Я предлагаю взять книгу по C # и прочитать ее. Следуйте приведенным ниже примерам.
Одна из моих любимых книг по C # написана Эндрю Троельсеном: Pro C # with .NET 4.0 - его последняя книга. :)
, чтобы скопировать сообщение, которое я разместил здесь: https://stackoverflow.com/questions/3430705/3432079#3432079 там нужно разобраться в двух вещах:
Академические знания:
Навыков:
Я уверен, что другие могут добавить в эти списки;)
C# - определенно хорошее место для начала, и вот одна из причин почему:
C# - это правильный язык, который заставит вас знать, что вы делаете как программист. Я начал свою карьеру программиста с PHP, и этот язык настолько свободен, что вы почти не можете облажаться. Вы можете делать крутые сайты и тому подобное, но никогда не узнаете, насколько они ужасны, пока вас не наймут на работу, для которой требуется более сильный язык. В это время определенные термины и типы данных, которые никогда не использовались в PHP, станут для вас открытием. Оглядываясь назад, теперь, когда я знаю много языков программирования, я понимаю, что начинать с PHP было довольно плохим способом начать программировать, по крайней мере, на мой взгляд. Я не могу поверить, что у меня есть работа в этой области, зная, с чего я начинал. Java - тоже хорошее место для начала. Да и вообще любой строго компилируемый язык. Когда вы знаете основы языка со строгой компиляцией, свободные языки, такие как PHP, легко пополнят вашу базу знаний.
Конечно, вам стоит подумать о том, для чего вы хотите программировать. Если вы хотите заниматься веб-работой, C# - хорошая база, но сомнительно, что вы будете часто использовать его для веб-работы, если только вы не работаете над чем-то серьезным и глубоким. Objective C используется для разработки iphone и ipad, так что с его изучением вы не ошибетесь.
Java хорошо подходит для веб-разработки и теперь является мобильной платформой, так что это определенно хорошая инвестиция. Принципы Java помогут вам писать более качественный веб-код, а также заложат хорошую основу, если вы захотите впоследствии перейти на C. И наоборот, я думаю.
PHP очень прост в изучении и послужит вам хорошим подспорьем, если вы хотите заняться веб-разработкой. Вы должны знать html, css и познакомиться хотя бы с mysql для баз данных, если вы пойдете этим путем. К вашему сведению, php-разработчиков в сфере программирования - грош цена, так что не рассчитывайте разбогатеть, занимаясь этим, если только вы не хотите открыть собственную веб-компанию и делать сайты самостоятельно.
В любом случае, MVC (model view controller) будет важной вещью, о которой стоит почитать. Когда ваш код хорошо структурирован, его неизмеримо легче поддерживать как самому, так и тем, кому придется продолжить начатое.
Веселитесь.
Я бы не стал выбирать C # только потому, что он не полностью бесплатная и полная визуальная студия очень дороги. Взгляните на python, он заставляет вас правильно программировать разными способами, при этом опуская некоторые из наиболее раздражающих аспектов программирования ({и;)). Если вы все же решите изучить Python, есть бесплатный сайт с руководствами по созданию простых текстовых игр. Я использовал его, чтобы познакомиться с языком перед тем, как начать свой текущий проект.