Делаем добро вместе Детальнее

Изучение C# для начинающих / Урок #1 – Введение в язык C# с нуля

Изучение C# для начинающих / Урок #1 – Введение в язык C# с нуля

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

Видеоурок

Полезные ссылки:


Информация про язык C#

Язык C# был разработан компанией Microsoft и впервые он появился еще в 2000 году. С момента его появления прошло уже много лет. Язык перетерпел большое количество обновлений и нововведений.  На сегодняшний день язык является одним из самых популярных и востребованных языков в мире.


Язык C# является объектно ориентированным языком программирования. Это означает, что каждый файл представляет из себя определенный класс. Что такое классы и что с ними делать мы об этом поговорим уже в следующих уроках.


Сам язык использует синтаксис, сильно напоминающий язык Си или же Java. Так на самом деле получилось не спроста. Язык C# хоть и является достаточно старым языком, но по сравнению с языками С++ и Си является ребенком.


Язык перенял многое от своих предшественников — языков C++, Delphi, Smalltalk и, в особенности, Java. При разработке С# были взяты лучшие моменты из всех этих языков. Например, C# в отличие от C++ не поддерживает множественное наследование классов. Так было решено по причине их неудобства использования.


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



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


C# это объектно-ориентированный язык, который немало позаимствовал из С++ и Java. Для примера, С# обладает поддержкой наследственности, полиморфизма, повторной загрузки операторов, статической типизации. Такой подходит помогает в решении распространённых задач в сфере разработки крупных приложений, сохраняющих гибкость, расширяемость и масштабируемость. C# всё ещё развивается, после каждого дополнения в языке появляются новые функции, преимущественно довольно полезные. Среди них: асинхронная работа, переменное связывание, лямбды и т. п.


На что способен C#?

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


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



Кроме того, после появления игрового движка Unity язык приобрел дополнительную мощь на рынке. Теперь на его основе в связке с мега популярным движком Unity вы легко и быстро можете создавать игры любого жанра и любой сложности.


Сходство C# и Java

Многие очень часто сравнивают язык C# и язык Джава. Делают они это не спроста. 

  • Во-первых, языки появились с разницей в 5 лет, что не очень много. 
  • Во-вторых, их синтаксис написания кода очень схож. 
  • И в-третьих, они приблизительно выполняют одни и те же действия и работают в смежных сферах.


Такое сходство не случайно. После релиза язык Джава стал стремительно набирать обороты популярности. В то же время компания Microsoft решила предпринять меры и начала разработку языка, который бы напрямую конкурировал с Джава. Таким языком стал как раз язык C#.


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


К примеру, написание программ под Виндовс гораздо удобнее на С#. Это не мудрено, ведь Виндовс и С# были созданы одной компанией. В то же время разработка мобильных приложений под Андроид явно относится только к языку Джава. При этом разработка игр уже удобнее на C#, ведь есть движок Unity. А вот с разработкой веб сайтов все максимально сложно. Там и там есть крутые фреймворки и там и там можно делать сайты любой сложности.


Ближайшее перспективы языка

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


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


Что такое .NET?

Если речь заходит о C#, часто подразумеваются технологии, связанные с платформой .NET (WPF, ASP.NET). То же самое справедливо в обратном направлении, говоря про .NET, думают про C#. Безусловно, понятия имеют жёсткую взаимосвязь, но не являются синонимами. C# - это язык, созданный для взаимодействия с фреймворком .NET. Тем не менее .NET – это довольно широкое понятие.


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



Вы можете вести разработку в разных сферах и главное использовать нужные фреймворки и библиотеки для каждой из целей. Большинство из этих библиотек выпускаются под общей платформой – Microsoft .NET Framework или сокращенно .NET.


По сути вы можете представить, что данная платформа как некая папка, которая содержит другие папки (библиотеки). Вы выбираете папку WPF и вот вы уже делаете Виндовс программы с интерфейсом или же выбрали ASP NET и вот вы уже делаете веб сайты.


Вы действительно можете представить что .NET – это как папка с другими библиотеками, что доступны для языка C#. При этом важно понимать, что для работы в определенной сфере придется ещё изучить подходящую под эту сферу библиотеку.


Управляемый и неуправляемый код

Некоторые читатели уже слышали, когда о приложении, построенном на С#, говорят – управляемый код. Какой смысл этого выражения? Это означает, что программа базируется на .NET и поддерживает управление общеязыковой средой CLR. 



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


JIT-компиляция

Исходный код C# компилируется в программы или отдельные сборки на CIL с расширениями dll, exe. В процессе запуска готового приложения выполняется JIT-компиляция – это сокращение от Just-In-Time (Просто сейчас). На выходе получается машинный код, который передаётся на исполнение.


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



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


План курса

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


Важно понимать, что после курса вы сможете приступить к изучению определенной его библиотеки. Например, если интересуют сайты, то сможете начать учить ASP NET, если интересуют программы – фреймворк WPF, а если интересуют игры, то можно начать изучать игровой движок Unity.


Дополнительные курсы по C# разработке

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


На нашем сайте вы также можете найти полноценную программу обучения по C# разработке игр на основе движка Unity. Ознакомится с программой обучения по Unity можно по этой ссылке.



В ходе программы обучения вы научитесь делать как 2Д, так и 3Д игры на Unity. Игры будут разрабатывать под обе платформы: Андроид и iOS. За программу вы научитесь создавать анимации, дизайн, прописывать скрипты, добавлять рекламу и монетизацию и выполнять публикацию игр в магазины Google Play и App Store. 

Задание к уроку

Немного теории

Расскажите зачем нужен C# и что можно создавать используя C#?

Посмотреть ответ

При помощи языка C# можно писать программы под Windows, создавать игры на основе движка Unity и писать веб-сайты разных жанров.


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

Большое задание по курсу

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

Также стоит посмотреть

Уроки C# под Unity 5 для начинающих
9 уроков
Изучение ASP.NET Core MVC. Создание сайтов на C#
10 уроков
Изучение C#, ASP.NET и создание Windows программ
Изучение C# WPF на практике. Создание программ на C#
10 уроков
Программа на C# .NET Windows Forms
7 уроков
Комментарии для сайта Cackle