HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-21
1 <p><a>#статьи</a></p>
1 <p><a>#статьи</a></p>
2 <ul><li>21 июн 2022</li>
2 <ul><li>21 июн 2022</li>
3 <li>0</li>
3 <li>0</li>
4 </ul><h2>Язык С#: где используют, что пишут, как появился и чем хорош</h2>
4 </ul><h2>Язык С#: где используют, что пишут, как появился и чем хорош</h2>
5 <p>Изучаем под микроскопом популярный язык от Microsoft, который называется совсем не "Си решётка".</p>
5 <p>Изучаем под микроскопом популярный язык от Microsoft, который называется совсем не "Си решётка".</p>
6 <p>Иллюстрация: Polina Vari для Skillbox Media</p>
6 <p>Иллюстрация: Polina Vari для Skillbox Media</p>
7 <p>Шеф-редактор Skillbox Media "Код". Пишет о разработке, софт-скиллах и культовых личностях в IT. Обожает Swift, продукты Apple и мемы про код.</p>
7 <p>Шеф-редактор Skillbox Media "Код". Пишет о разработке, софт-скиллах и культовых личностях в IT. Обожает Swift, продукты Apple и мемы про код.</p>
8 <p>C# (читается как "Си шарп") - это язык программирования от компании Microsoft. Изначально его создавали для проектов под Windows, но теперь это по-настоящему универсальный язык: на нём пишут игры, десктопные приложения, веб-сервисы, нейросети и даже графику для метавселенных.</p>
8 <p>C# (читается как "Си шарп") - это язык программирования от компании Microsoft. Изначально его создавали для проектов под Windows, но теперь это по-настоящему универсальный язык: на нём пишут игры, десктопные приложения, веб-сервисы, нейросети и даже графику для метавселенных.</p>
9 <p>Один из ведущих разработчиков языка - легендарный Андерс Хейлсберг, который до C# успел сделать Turbo Pascal и Delphi, а после - TypeScript (майкрософтовский JS на стероидах).</p>
9 <p>Один из ведущих разработчиков языка - легендарный Андерс Хейлсберг, который до C# успел сделать Turbo Pascal и Delphi, а после - TypeScript (майкрософтовский JS на стероидах).</p>
10 <p>Если коротко, этот язык:</p>
10 <p>Если коротко, этот язык:</p>
11 <ul><li>Кросс-платформенный - запускается почти на любом железе.</li>
11 <ul><li>Кросс-платформенный - запускается почти на любом железе.</li>
12 <li>Объектно-ориентированный - состоит из классов и объектов, которые умеют передавать свойства друг другу.</li>
12 <li>Объектно-ориентированный - состоит из классов и объектов, которые умеют передавать свойства друг другу.</li>
13 <li>Постоянно развивается - для тех, кто любит учиться.</li>
13 <li>Постоянно развивается - для тех, кто любит учиться.</li>
14 <li>Дружит с экосистемой Windows - для этого и был написан.</li>
14 <li>Дружит с экосистемой Windows - для этого и был написан.</li>
15 </ul><p>Есть две основных версии, зачем Microsoft стала делать свой язык программирования.</p>
15 </ul><p>Есть две основных версии, зачем Microsoft стала делать свой язык программирования.</p>
16 <p><strong>Официальная:</strong>чтобы упростить разработку приложений под Windows. А то языки в то время были сложные и плохо адаптировались под разные Windows-компьютеры.</p>
16 <p><strong>Официальная:</strong>чтобы упростить разработку приложений под Windows. А то языки в то время были сложные и плохо адаптировались под разные Windows-компьютеры.</p>
17 <p><strong>Правдоподобная:</strong>чтобы заменить Java, на который у Microsoft не было лицензии. В итоге получился почти такой же язык, но с интеграцией под Windows. Как и Java, он основан на языке C и легко запускается на любом устройстве. А название "Си" с решёткой как бы говорит: "У нас тут не копия Java, а новый язык в линейке "Си“".</p>
17 <p><strong>Правдоподобная:</strong>чтобы заменить Java, на который у Microsoft не было лицензии. В итоге получился почти такой же язык, но с интеграцией под Windows. Как и Java, он основан на языке C и легко запускается на любом устройстве. А название "Си" с решёткой как бы говорит: "У нас тут не копия Java, а новый язык в линейке "Си“".</p>
18 <p>Но мы-то знаем :)</p>
18 <p>Но мы-то знаем :)</p>
19 <em>Кадр: мультсериал "Скуби-Ду"</em><p>Кстати, всю эту историю о борьбе Microsoft за Java и причинах появления C# мы рассказывали в <a>статье о Java Virtual Machine</a> - в разделе о конкурентах JVM.</p>
19 <em>Кадр: мультсериал "Скуби-Ду"</em><p>Кстати, всю эту историю о борьбе Microsoft за Java и причинах появления C# мы рассказывали в <a>статье о Java Virtual Machine</a> - в разделе о конкурентах JVM.</p>
20 <p>Запуск любой программы на C# начинается с главной функции - Main(). В ней прописано, как программа будет себя вести дальше - что за чем пойдёт, что за что отвечает и так далее. Выполняется она из главного класса - назовём его HelloWorld. Если перевести это на программистский, получится как-то так:</p>
20 <p>Запуск любой программы на C# начинается с главной функции - Main(). В ней прописано, как программа будет себя вести дальше - что за чем пойдёт, что за что отвечает и так далее. Выполняется она из главного класса - назовём его HelloWorld. Если перевести это на программистский, получится как-то так:</p>
21 using System; // Создаём место, где будет лежать наша программа. Его называют пространством имён. class HelloWorld { //Задаём главный класс и даём ему имя -- "HelloWorld". static void Main() { //Объявляем главную функцию. //Вставляем сюда любой код. Например, можно научить программу с нами здороваться: Console.Write("Как тебя зовут? "); string name = Console.ReadLine(); Console.WriteLine("Привет, " + name + "!"); } }<p>Можете вставить этот код в <a>компилятор</a>и посмотреть, что получится. Если всё сделать правильно, консоль сначала спросит ваше имя, а потом поздоровается. А если туда потом добавить реплик, функций и визуала, получится настоящий чат-бот - как его запилить, рассказываем в <a>этой статье</a>.</p>
21 using System; // Создаём место, где будет лежать наша программа. Его называют пространством имён. class HelloWorld { //Задаём главный класс и даём ему имя -- "HelloWorld". static void Main() { //Объявляем главную функцию. //Вставляем сюда любой код. Например, можно научить программу с нами здороваться: Console.Write("Как тебя зовут? "); string name = Console.ReadLine(); Console.WriteLine("Привет, " + name + "!"); } }<p>Можете вставить этот код в <a>компилятор</a>и посмотреть, что получится. Если всё сделать правильно, консоль сначала спросит ваше имя, а потом поздоровается. А если туда потом добавить реплик, функций и визуала, получится настоящий чат-бот - как его запилить, рассказываем в <a>этой статье</a>.</p>
22 <p>C# -<a>пятый</a>по популярности язык программирования в мире. Его используют банки, диджитал-агентства, провайдеры связи и крупные IT-компании. Вот что пишут на C# российские и зарубежные корпорации:</p>
22 <p>C# -<a>пятый</a>по популярности язык программирования в мире. Его используют банки, диджитал-агентства, провайдеры связи и крупные IT-компании. Вот что пишут на C# российские и зарубежные корпорации:</p>
23 <ul><li>Microsoft - приложения для Windows и Xbox.</li>
23 <ul><li>Microsoft - приложения для Windows и Xbox.</li>
24 <li>Tesla - корпоративные веб-сервисы и программы.</li>
24 <li>Tesla - корпоративные веб-сервисы и программы.</li>
25 <li>Stack Overflow - серверную логику сайтов.</li>
25 <li>Stack Overflow - серверную логику сайтов.</li>
26 <li>Сбербанк - 3D-графику и программы виртуальной реальности.</li>
26 <li>Сбербанк - 3D-графику и программы виртуальной реальности.</li>
27 <li>Ozon - складские и логистические системы.</li>
27 <li>Ozon - складские и логистические системы.</li>
28 <li>"Яндекс" - приложения для автоматизации продаж.</li>
28 <li>"Яндекс" - приложения для автоматизации продаж.</li>
29 </ul><p>Рассмотрим сферы применения "шарпов".</p>
29 </ul><p>Рассмотрим сферы применения "шарпов".</p>
30 <p>Если вы увлекаетесь геймдевом или просто играете в игры, то наверняка слышали про<a>Unity</a>. Это такая среда, где можно быстро собрать игру из готовых объектов, а потом запустить почти на любом железе. Процесс разработки выглядит так: вы продумываете содержание игры и её сюжет, а Unity берёт на себя графику, физику, звук и другие технические штуки.</p>
30 <p>Если вы увлекаетесь геймдевом или просто играете в игры, то наверняка слышали про<a>Unity</a>. Это такая среда, где можно быстро собрать игру из готовых объектов, а потом запустить почти на любом железе. Процесс разработки выглядит так: вы продумываете содержание игры и её сюжет, а Unity берёт на себя графику, физику, звук и другие технические штуки.</p>
31 Геймплей игры Escape from Tarkov, написанной на Unity<em>Скриншот: Escape from Tarkov / Battlestate Games</em><p>В теории на Unity можно делать не только игры, но и любые проекты, где нужна 3D-графика, - метавселенные, программы для VR-устройств, дизайн интерьеров и так далее. А пишут под Unity в основном на языке C# - отличный повод выучить именно его, если видите себя в геймдеве или виртуальной реальности.</p>
31 Геймплей игры Escape from Tarkov, написанной на Unity<em>Скриншот: Escape from Tarkov / Battlestate Games</em><p>В теории на Unity можно делать не только игры, но и любые проекты, где нужна 3D-графика, - метавселенные, программы для VR-устройств, дизайн интерьеров и так далее. А пишут под Unity в основном на языке C# - отличный повод выучить именно его, если видите себя в геймдеве или виртуальной реальности.</p>
32 <p>Поскольку C# - это язык от Microsoft, на нём удобно писать настольные приложения для Windows. Для этого разработчики придумали специальную платформу - называется<a>.NET Framework</a>. Она умеет переводить код из понятного человеку в понятный процессору - то есть <strong>компилировать</strong>.</p>
32 <p>Поскольку C# - это язык от Microsoft, на нём удобно писать настольные приложения для Windows. Для этого разработчики придумали специальную платформу - называется<a>.NET Framework</a>. Она умеет переводить код из понятного человеку в понятный процессору - то есть <strong>компилировать</strong>.</p>
33 <p>Преимущество платформы в том, что она может исполнить любую C#-команду на любом процессоре - а на Windows работает не меньше тысячи разных моделей. Если бы не .NET, пришлось бы компилировать код под каждое железо отдельно. А ещё .NET поддерживает много плагинов, библиотек и шаблонов для наглядной разработки интерфейсов - это фактически целый мир и экосистема для программиста на Windows.</p>
33 <p>Преимущество платформы в том, что она может исполнить любую C#-команду на любом процессоре - а на Windows работает не меньше тысячи разных моделей. Если бы не .NET, пришлось бы компилировать код под каждое железо отдельно. А ещё .NET поддерживает много плагинов, библиотек и шаблонов для наглядной разработки интерфейсов - это фактически целый мир и экосистема для программиста на Windows.</p>
34 Создание Windows-приложения с помощью библиотеки WPF.NET<em>Кадр:<a>Payload</a>/ YouTube</em><p>С помощью фреймворка Mono один и тот же С#-код можно запускать в разных десктопных системах - например, в Linux или macOS. А если код надо запустить на мобильных платформах, используют версию Mono для смартфонов -<a>Xamarin</a>.</p>
34 Создание Windows-приложения с помощью библиотеки WPF.NET<em>Кадр:<a>Payload</a>/ YouTube</em><p>С помощью фреймворка Mono один и тот же С#-код можно запускать в разных десктопных системах - например, в Linux или macOS. А если код надо запустить на мобильных платформах, используют версию Mono для смартфонов -<a>Xamarin</a>.</p>
35 <p>Допустим, мы пишем приложение для смартфона - мобильные карты. Они должны одинаково работать и на айфоне, и на Android-устройстве, но выглядеть нативно - то есть по дизайн-коду своих платформ. Вот как эту идею можно воплотить на Xamarin:</p>
35 <p>Допустим, мы пишем приложение для смартфона - мобильные карты. Они должны одинаково работать и на айфоне, и на Android-устройстве, но выглядеть нативно - то есть по дизайн-коду своих платформ. Вот как эту идею можно воплотить на Xamarin:</p>
36 <ul><li>Проектируем дизайн приложения в визуальном редакторе.</li>
36 <ul><li>Проектируем дизайн приложения в визуальном редакторе.</li>
37 <li>Привязываем к нему логику на C#.</li>
37 <li>Привязываем к нему логику на C#.</li>
38 <li>Всё это дело подхватывает Xamarin и переводит в родные для iOS и Android интерфейсы.</li>
38 <li>Всё это дело подхватывает Xamarin и переводит в родные для iOS и Android интерфейсы.</li>
39 <li>На выходе получаем целых два приложения - для Android и iPhone. А программировали мы всего один раз - удобно вышло.</li>
39 <li>На выходе получаем целых два приложения - для Android и iPhone. А программировали мы всего один раз - удобно вышло.</li>
40 </ul>Мобильное приложение "Карты", созданное с помощью Xamarin.Forms<em>Изображение:<a>Microsoft</a></em><p>Подробнее о том, как писать мобильные приложения на Xamarin, мы рассказываем в <a>этой статье</a>.</p>
40 </ul>Мобильное приложение "Карты", созданное с помощью Xamarin.Forms<em>Изображение:<a>Microsoft</a></em><p>Подробнее о том, как писать мобильные приложения на Xamarin, мы рассказываем в <a>этой статье</a>.</p>
41 <p>Когда пользователь что-то нажимает на сайте, его действия сначала обрабатывает сервер. Например, мы ставим лайк фотографии - сервер это получает и записывает у себя в базе данных: "Вот такому пользователю понравилось". Или, допустим, логинимся на сайте - сервер сверяет пароли и отвечает: "Войти разрешаю".</p>
41 <p>Когда пользователь что-то нажимает на сайте, его действия сначала обрабатывает сервер. Например, мы ставим лайк фотографии - сервер это получает и записывает у себя в базе данных: "Вот такому пользователю понравилось". Или, допустим, логинимся на сайте - сервер сверяет пароли и отвечает: "Войти разрешаю".</p>
42 <p>В чистом виде сервер - это просто машина, и, чтобы она заработала, нужен специальный софт. Нередко его пишут на языках PHP и Java, но если вам нужен софт для сервера на Windows, эксперты рекомендуют именно C#. Он хорошо работает с фреймворками от Microsoft и быстро запускается на Windows-машинах.</p>
42 <p>В чистом виде сервер - это просто машина, и, чтобы она заработала, нужен специальный софт. Нередко его пишут на языках PHP и Java, но если вам нужен софт для сервера на Windows, эксперты рекомендуют именно C#. Он хорошо работает с фреймворками от Microsoft и быстро запускается на Windows-машинах.</p>
43 <p>В любое приложение на C# можно встраивать алгоритмы машинного обучения - например, компьютерное зрение, распознавание лиц или музыкальные рекомендации в плеере. Фишка в том, что для этого не надо глубоко разбираться в математике или Data Science. Достаточно подключить специальную библиотеку от Microsoft -<a>ML.NET</a>, - и она возьмёт все внутренности на себя.</p>
43 <p>В любое приложение на C# можно встраивать алгоритмы машинного обучения - например, компьютерное зрение, распознавание лиц или музыкальные рекомендации в плеере. Фишка в том, что для этого не надо глубоко разбираться в математике или Data Science. Достаточно подключить специальную библиотеку от Microsoft -<a>ML.NET</a>, - и она возьмёт все внутренности на себя.</p>
44 <p>А ещё с ML.NET работает кросс-платформенность - то есть алгоритмы в теории можно запускать вообще где угодно. Например, на банкомате, если надо сделать авторизацию по лицу.</p>
44 <p>А ещё с ML.NET работает кросс-платформенность - то есть алгоритмы в теории можно запускать вообще где угодно. Например, на банкомате, если надо сделать авторизацию по лицу.</p>
45 Тренировка алгоритмов компьютерного зрения на ML.NET<em>Изображение:<a>Microsoft</a></em><p><strong>Независимость от железа.</strong>Программисту не надо адаптировать программу под разные платформы и системы - за него это делает виртуальная машина, вшитая в .NET Framework. В итоге один и тот же код можно запускать на любых устройствах - смартфонах, компьютерах, серверах, банкоматах и даже умных часах.</p>
45 Тренировка алгоритмов компьютерного зрения на ML.NET<em>Изображение:<a>Microsoft</a></em><p><strong>Независимость от железа.</strong>Программисту не надо адаптировать программу под разные платформы и системы - за него это делает виртуальная машина, вшитая в .NET Framework. В итоге один и тот же код можно запускать на любых устройствах - смартфонах, компьютерах, серверах, банкоматах и даже умных часах.</p>
46 <p><strong>Отличная совместимость с Windows.</strong>Не зря же язык разработали именно в Microsoft. Так же как<a>Swift</a>идеально подходит для программирования под экосистему Apple, C# прекрасно вписывается в экосистему Windows.</p>
46 <p><strong>Отличная совместимость с Windows.</strong>Не зря же язык разработали именно в Microsoft. Так же как<a>Swift</a>идеально подходит для программирования под экосистему Apple, C# прекрасно вписывается в экосистему Windows.</p>
47 <p><strong>Управление памятью.</strong>Чтобы программа работала стабильно, её надо иногда чистить от ненужных объектов, ссылок, кэша и прочего мусора. В C# это происходит автоматически - разработчику не надо следить за расходом памяти, бороться с её утечками или удалять мёртвые куски кода.</p>
47 <p><strong>Управление памятью.</strong>Чтобы программа работала стабильно, её надо иногда чистить от ненужных объектов, ссылок, кэша и прочего мусора. В C# это происходит автоматически - разработчику не надо следить за расходом памяти, бороться с её утечками или удалять мёртвые куски кода.</p>
48 <p><strong>Строгая типизация.</strong>Когда вы объявляете переменную в C#, надо сначала указать, что в ней лежит - строка, число или массив. Так разрабатывать чуть дольше, зато ваш код работает предсказуемо - числа взаимодействуют с числами, строки со строками и так далее. В языках со слабой типизацией свободы и драйва больше, но есть шанс пропустить ошибку, которая всплывёт в готовой программе.</p>
48 <p><strong>Строгая типизация.</strong>Когда вы объявляете переменную в C#, надо сначала указать, что в ней лежит - строка, число или массив. Так разрабатывать чуть дольше, зато ваш код работает предсказуемо - числа взаимодействуют с числами, строки со строками и так далее. В языках со слабой типизацией свободы и драйва больше, но есть шанс пропустить ошибку, которая всплывёт в готовой программе.</p>
49 <p><strong>Большое сообщество.</strong>На С# пишут более миллиона программистов по всему миру. В соцсетях полно чатов и сообществ "шарпистов", где можно задать вопрос, обсудить сложную тему или найти готовое решение. В теории можно даже найти ментора, который поделится знаниями и поможет быстрее освоить язык.</p>
49 <p><strong>Большое сообщество.</strong>На С# пишут более миллиона программистов по всему миру. В соцсетях полно чатов и сообществ "шарпистов", где можно задать вопрос, обсудить сложную тему или найти готовое решение. В теории можно даже найти ментора, который поделится знаниями и поможет быстрее освоить язык.</p>
50 <p><strong>Синтаксический сахар.</strong>В С# есть много способов сократить код, не нарушая логику программы. Программисты называют такие приёмы "синтаксическим сахаром" - они помогают сделать код проще, понятнее и в целом симпатичнее. Сравните, например, как выглядит сложение чисел с "сахаром" и без.</p>
50 <p><strong>Синтаксический сахар.</strong>В С# есть много способов сократить код, не нарушая логику программы. Программисты называют такие приёмы "синтаксическим сахаром" - они помогают сделать код проще, понятнее и в целом симпатичнее. Сравните, например, как выглядит сложение чисел с "сахаром" и без.</p>
51 <p>Без "сахара":</p>
51 <p>Без "сахара":</p>
52 static int sum(params int[] numbers) { int res = 0; foreach (int a in numbers) { res += a; } return res; }<p>С "сахаром":</p>
52 static int sum(params int[] numbers) { int res = 0; foreach (int a in numbers) { res += a; } return res; }<p>С "сахаром":</p>
53 Console.WriteLine(sum(1, 2, 3)); Console.WriteLine(sum(8, 1, 1,5));<p>Важно: "сахар" не стоит использовать слишком часто, иначе можно ненароком получить "синтаксический диабет" - ситуацию, когда в программе всё так зашифровано, что ничего не понять. Применять "сахар" нужно осторожно и только под присмотром профессионалов.</p>
53 Console.WriteLine(sum(1, 2, 3)); Console.WriteLine(sum(8, 1, 1,5));<p>Важно: "сахар" не стоит использовать слишком часто, иначе можно ненароком получить "синтаксический диабет" - ситуацию, когда в программе всё так зашифровано, что ничего не понять. Применять "сахар" нужно осторожно и только под присмотром профессионалов.</p>
54 <p>Есть у C# и недостатки, причём довольно серьёзные, - давайте разберём и их тоже.</p>
54 <p>Есть у C# и недостатки, причём довольно серьёзные, - давайте разберём и их тоже.</p>
55 <p><strong>Скорость.</strong>Когда мы запускаем программу на C#, код исполняется не сразу, а сначала адаптируется под нужное железо. Так мы охватываем больше платформ, но теряем в скорости - программе нужно сделать двойную работу, чтобы просто стартовать. Из-за этого интерфейсы на С# иногда подтормаживают при первом запуске.</p>
55 <p><strong>Скорость.</strong>Когда мы запускаем программу на C#, код исполняется не сразу, а сначала адаптируется под нужное железо. Так мы охватываем больше платформ, но теряем в скорости - программе нужно сделать двойную работу, чтобы просто стартовать. Из-за этого интерфейсы на С# иногда подтормаживают при первом запуске.</p>
56 <p><strong>Безопасность.</strong>Эксперты говорят, что код на C# легко декомпилировать - то есть перевести из машинного обратно в человеческий. Проблема в том, что так программу может легко прочитать хакер или конкурент - и изучить её уязвимости, украсть фрагменты кода или написать для неё вредоносный софт.</p>
56 <p><strong>Безопасность.</strong>Эксперты говорят, что код на C# легко декомпилировать - то есть перевести из машинного обратно в человеческий. Проблема в том, что так программу может легко прочитать хакер или конкурент - и изучить её уязвимости, украсть фрагменты кода или написать для неё вредоносный софт.</p>
57 <p><strong>Мало доступа к железу.</strong>Так как С# - язык высокого уровня, на нём редко пишут проекты, где нужно полное взаимодействие с железом, - игровые движки, операционные системы, авиационный софт и так далее. Та же Unity целиком написана на низкоуровневом языке C++, хотя и умеет исполнять С#-команды.</p>
57 <p><strong>Мало доступа к железу.</strong>Так как С# - язык высокого уровня, на нём редко пишут проекты, где нужно полное взаимодействие с железом, - игровые движки, операционные системы, авиационный софт и так далее. Та же Unity целиком написана на низкоуровневом языке C++, хотя и умеет исполнять С#-команды.</p>
58 <p>По <a>данным "Хабр Карьеры"</a>, средняя зарплата "шарпистов" составляет 162 000 рублей в месяц. Это не самые космические цифры для IT, но вполне приличные - примерно столько же получают программисты на Java, Python, PHP и других популярных языках.</p>
58 <p>По <a>данным "Хабр Карьеры"</a>, средняя зарплата "шарпистов" составляет 162 000 рублей в месяц. Это не самые космические цифры для IT, но вполне приличные - примерно столько же получают программисты на Java, Python, PHP и других популярных языках.</p>
59 <em>Скриншот:<a>Habr</a>/ Skillbox Media</em><p>На российском hh.ru мы нашли около<a>4 тысяч вакансий</a>для разработчиков на C#. Больше всего предложений в Москве и Петербурге - это неудивительно, ведь там сосредоточена львиная доля энтерпрайза, где C# является стандартом. В основном компании ищут программистов для разработки бэкенда и десктопных программ, но есть варианты и в геймдеве, и в больших данных.</p>
59 <em>Скриншот:<a>Habr</a>/ Skillbox Media</em><p>На российском hh.ru мы нашли около<a>4 тысяч вакансий</a>для разработчиков на C#. Больше всего предложений в Москве и Петербурге - это неудивительно, ведь там сосредоточена львиная доля энтерпрайза, где C# является стандартом. В основном компании ищут программистов для разработки бэкенда и десктопных программ, но есть варианты и в геймдеве, и в больших данных.</p>
60 <p>Интересно, что стажёры, которые только пришли в профессию,<a>могут получать</a>в районе 40 тысяч рублей в месяц. А если у новичка хорошая теоретическая база или уже есть какой-то опыт разработки, можно сразу пробоваться на Junior-позиции - там зарплаты уже около<a>64 тысяч рублей</a>. Среди крупных компаний, которые готовы брать джунов-шарпистов, - Сбербанк, "МТС", Ozon и Kaspersky.</p>
60 <p>Интересно, что стажёры, которые только пришли в профессию,<a>могут получать</a>в районе 40 тысяч рублей в месяц. А если у новичка хорошая теоретическая база или уже есть какой-то опыт разработки, можно сразу пробоваться на Junior-позиции - там зарплаты уже около<a>64 тысяч рублей</a>. Среди крупных компаний, которые готовы брать джунов-шарпистов, - Сбербанк, "МТС", Ozon и Kaspersky.</p>
61 <em>Скриншот: сайт HeadHunter / Skillbox Media</em><p>Более опытным Middle-разработчикам компании готовы платить в районе<a>120-150 тысяч</a>рублей, а сеньорам и тимлидам - от <a>234 тысяч</a>. Но такие программисты должны не только хорошо кодить, но и кое-что понимать в управлении командой и проектом.</p>
61 <em>Скриншот: сайт HeadHunter / Skillbox Media</em><p>Более опытным Middle-разработчикам компании готовы платить в районе<a>120-150 тысяч</a>рублей, а сеньорам и тимлидам - от <a>234 тысяч</a>. Но такие программисты должны не только хорошо кодить, но и кое-что понимать в управлении командой и проектом.</p>
62 Вакансии для C#-разработчиков на <a>hh.ru</a><em>Скриншот: сайт HeadHunter / Skillbox Media</em><p>Если вы ищете язык для старта в программировании, обязательно рассмотрите С# - он популярен, широко распространён и официально поддерживается Microsoft. Его используют тысячи компаний, поэтому новичок может довольно быстро получить оффер. Особенно понравится язык тем, кто хочет делать 3D-графику на Unity или писать программы для Windows.</p>
62 Вакансии для C#-разработчиков на <a>hh.ru</a><em>Скриншот: сайт HeadHunter / Skillbox Media</em><p>Если вы ищете язык для старта в программировании, обязательно рассмотрите С# - он популярен, широко распространён и официально поддерживается Microsoft. Его используют тысячи компаний, поэтому новичок может довольно быстро получить оффер. Особенно понравится язык тем, кто хочет делать 3D-графику на Unity или писать программы для Windows.</p>
63 <a>Курс с трудоустройством: "Веб-разработчик" Узнать о курсе</a>
63 <a>Курс с трудоустройством: "Веб-разработчик" Узнать о курсе</a>