Изучение С# (1)

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

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


К чёрту теорию, перейдём сразу к практике, термины будут в конце статьи.


using System;


namespace Lectures

{

// Определяется класс.


class Program

{

/*

* static - некое волшебное слово, смысл которого будет ясен позднее.

* void Main() определяет метод.

* Из-за своего названия Main является точкой входа — это метод,

* который будет запущен при выполнении программы.

*/


static void Main( )

{

// Этот код выводит на экран строку

// Console — это класс, так же как Program, но из пространства имен System.


Console.WriteLine("Hello, world!");


// Обратите внимание, регистр символов имеет значение!

// Console.writeline("Hello, world"); // это не скомпилируется.

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

// Например, каждую инструкцию нужно заканчивать точкой с запятой.

// Сonsole.WriteLine("Hello, world") // это не скомпилируется.

}

}

}


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


Терминология


Кодовый файл — это один из файлов на языке C#.

Проект — это совокупность кодовых файлов, которые могут быть скомпилированы в сборку: программу или библиотеку.

Сборка — это, соответственно, результат компиляции проекта. Как правило это *.exe или *.dll файл, содержащий инструкции для компьютера.

Решение (solution) — это несколько проектов, объединенные общими библиотеками и задачами. Как правило открывать с помощью Visual Studio нужно именно файл решения (.sln), хотя можно открыть и отдельный проект (.csproj файл). Имейте в виду, если открыть отдельный кодовый файл, не открывая проект или решение, то не будет возможности его запустить. Это распространённая ошибка новичков.

Reference — ссылка внутри проекта на другие сборки. Только сославшись на другую сборку можно будет использовать код из неё.

Метод — это последовательность действий. Аналог функций, процедур и подпрограмм в других языках. В устной речи часто используют все эти слова как синонимы, но в спецификации на язык C# используется термин «метод».

Класс — это совокупность данных и методов. Все сборки состоят из скомпилированных классов.

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

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

После успешной компиляции, в директории проекта создается поддиректория bin/Debug, в которой и оказывается сборка — результат компиляции — exe или dll файлы вашей программы.


Скачать Visual Studio Community можно с официального сайта visualstudio.com.


Кроме Visual Studio можно пользоваться другой средой разработки — Jetbrains Rider. В отличие от Visual Studio, он работает и в других операционных системах.


Спецификация С# Первый раздел этой спецификации Introduction содержит всего 30 страниц, легко читается и дает достаточно хорошее представление о всех возможностях языка.

В сети есть большое количество источников информации по платформе .NET и языку C#.


Большая часть этой информации — на английском. Однако Microsoft перевела на русский учебник по языку C#.


Не стал упоминать о работе в Visual Studio и о её интерфейсе, т.к она довольна проста в использовании, но если надо, то напишите об этом в комментариях и я сделаю подробный пост об этом.


Напишите впечатления о посте, чего не хватает или что-то есть лишнее. Я буду вести этот канал, пока полностью не освою язык. Ещё в планах изучить Python => будут посты.

Всем дочитавшим спасибо, ещё спишемся