Как правильно начать изучение C#, ничего не зная в программировании?
Хочу выучить C# для работы в Unity 3D. До этого с программированием ни разу не сталкивался, поэтому не знаю, как правильно начать изучение. Пожалуйста, подскажите книги для начинающего или какие-нибудь видеокурсы. И я хотел бы знать, обязательно ли знать принципы ООП до того, как начать изучение языка? И где можно выучить (узнать) эти принципы?
Начните с синтаксиса, рекомендуют авторов Шилдт и Троелсен.
Изучая ОО язык естественно нужно разбираться в ООП, но сильно не пугайтесь, вначале будет достаточно понимания основных принципов работы с классами и объектами. Умение написать правильную архитектуру придет только с опытом, это естественный процесс.
Olek1, для новичков сложно понять, что это такое, как оно работает, что значит адрес в памяти, как он выглядит и т.д.
пока ИДА не запустят - прозрение не наступает :)
Вот за питон плюсану, а си с указателями сходу не нужен.
Питон с динамической типизацией - не лучший язык для начинающих.
Динамическая типизация скрывает от программиста важнейший аспект программирования - систему типов.
Статическая же типизация, помимо прочего, позволяет получить более внятные сообщения об ошибках от компилятора и более точные подсказки от IDE.
В этом смысле C# - довольно хорош. И ни тебе указателей в повседневности и ни тебе непонятного поведения из-за не того типа в переменной.
Сложным является не сам язык программирования C#, а та обвязка, в которой он существует. В контексте данного вопроса - самой сложной частью будет сама Unity, а вовсе не C#.
А бы начал с классики - паскаль, потом си, си++. А потом бы перешёл к шарпу. После си си решётка и прочие си-подобные языки учатся проще. А паскаль нужен для первого общего знакомства с программированием (потому что он простой и понятный).
MaxLich, а как раньше программировали на си когда толком других языков нормальных небыло, так и кодили, потому что особо и выбирать то и нечего было, по легенде си учить просто изза того, что в нём нет ничего, вообще ничего чтобы хоть както влияло на скорость работы программы, в этом он и хорош, если бы было хоть чтото, что может хоть както тормозить, то это был бы уже не си а чтото другое
Olek1, Ну вообще-то паскаль раньше появился. Но это так, к слову. А вообще, пофигу, что было раньше. Главное, что сейчас доступно. А сейчас есть паскаль, си и ещё куча всяких новых языков. Но как по мне, синтаксис паскаля попроще и хорошо подходит для учебных целей. Да и там нет большинства сложностей си (указатели, работа с памятью и т.д.).
bonyv, ну там есть такая штука как указатель (pointer) тип данных просто такой, которого все почемуто боятся необоснованно, и в Си есть значок & погуглите что он значит, не учите паскаль, нивкоем случае, иначе это будет самой большой ошибкой в вашей жизни как программиста
вы можете с памятью работать блоками, при использовании массивов это часто используется, ничего страшного в этом нет, как многие пугают всех ходят по интернету
многие даже ошибочно думают что си это какойто сложный язык, и сравнивают его с языками ассемблера, но на самом деле Си это язык высокого уровня. Самый классный язык
Докучи - выучить синтаксис шарпа - это одно. Научится на нем программировать - другое. Научится ИСПОЛЬЗУЯ c# работать в Unity - совершенно третье. На каждой итерации сильно меняются задачи и нужен совсем другой объем знаний. Чтобы работать в юнити - надо помимо языка знать еще хотя бы алгоритмы, структуры данных, графику, архитектурные подходы.
Поэтому совет - не учите c#. Учитесь программировать! Язык тут не важен.