Изучение С# (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 => будут посты.

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

0
Автор поста оценил этот комментарий
Для этого есть форумы, степик есть, где под каждой задачей обсуждение. Ты вместо того чтобы больше читать или пытаться код писать, тратишь время на ерунду, положа руку на сердце
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Я пишу код, занимаюсь на Ulearn, читаю первоисточники от Майкрософт. В посте есть место где я ошибся мне это больше интересно
Автор поста оценил этот комментарий
Чему ты можешь научить, если ты сам ничего не знаешь? В чем прикол копипастить информацию из интернета, в которой ты сам даже не разбираешься
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Совместное развитие себя и канала, название поста - Изучение С#, а не обучение С#.
показать ответы
3
DELETED
Автор поста оценил этот комментарий
Советую студенту первого курса сначала самому нормально выучить язык) и не по методичкам института, ибо они устарели. А уже потом пробовать учить других.
раскрыть ветку (1)
Автор поста оценил этот комментарий
На самом деле главная цель научится самому, а вы умные люди можете меня поправлять в комментариях. Цель написания постов - обсуждение темы поста и принятие советов.
показать ответы
2
Автор поста оценил этот комментарий

Все?

раскрыть ветку (1)
Автор поста оценил этот комментарий

Первый пост, пробую себя, дальше будет больше

показать ответы
0
DELETED
Автор поста оценил этот комментарий

namespace, class и прочий Main в современном c# уже не нужен.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Я студент 1 - ого курса на направлении "программная инженерия", нас так научили. Спасибо за комментарий, надеюсь, увижу вас ещё)

10
Автор поста оценил этот комментарий

Я видал много плохих уроков по программированию, но таких хуевых ещё ни разу не видал.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Что надо изменить?

показать ответы
2
Автор поста оценил этот комментарий
До самой последней главы Троелсена или Шилдта?
раскрыть ветку (1)
Автор поста оценил этот комментарий
Интересный вопрос, стоит посмотреть методичку и сравнить содержание последних книг автора
3
Автор поста оценил этот комментарий

Человек, зачем ты скопипастил сюда Hello World, который есть в любой, даже самой хреновой книге по программированию?! Такого материала в интернете - как говна, это первое, второе, прежде чем кого-то учить, следует хотя бы чему-то научиться.

раскрыть ветку (1)
Автор поста оценил этот комментарий
Я сам ещё учусь, цель постов чтобы учил чему-то не только я, но ещё и меня обучали и исправляли. Спасибо за комментарий, я учту его при составлении следующего поста)
9
Автор поста оценил этот комментарий

тут уже миллиард первых уроков, давай сразу с пятого, до него еще ни один учитель не дошёл.)

раскрыть ветку (1)
Автор поста оценил этот комментарий

Дойдём до самого конца обучения, следите за этим каналом)

показать ответы