Publications / «Что учить, Java или C#?» Востребованность и перспективы популярных языков

Thursday, 27 July 2017

Чтобы ответить на популярные вопросы начинающих программистов о том, стоит ли учить такой-то язык и связывать с ним карьеру, мы задали разработчикам на Java, JavaScript, PHP, C#, C++, Python и Swift/Objective-C три вопроса:

  1. Посоветовали ли бы вы новичкам начать изучение программирования с вашего языка?
  2. Насколько сейчас востребован этот язык? Легко ли найти работу?
  3. Какие он имеет перспективы? Будут ли расти количество вакансий и зарплаты?

[Андрей Губский — CTO в Торф ТВ, автор статей на DOU]
1) Безусловно, я бы посоветовал новичкам изучать C#. На мой взгляд, это идеально сбалансированный ООП язык, который позволяет достаточно легко начать с ним работать, используя простые и лаконичные конструкции в начале, и в будущем постепенно перейти к таким мощным инструментам, как Linq и лямбда-выражения.

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

В этом плане у C# есть ряд преимуществ:

  • Это строго типизированный язык, что означает, что программисту, который начинает свое обучение на этом языке, гораздо проще понять, что такое тип данных и какие типы данных бывают. Это выгодно отличает его от Python и JavaScript.
  • Это .NET-язык, что означает, что программист будет работать в рамках управляемой среды CLR, и ему не придется работать с выделением памяти и освобождением памяти. Он сможет сосредоточиться непосредственно над решением алгоритмических и бизнес-задач, не отвлекаясь на поиск причин утечек памяти и внезапных исключений.
  • Это С-подобный язык (что очевидно уже из его названия). Его синтаксис гораздо изящнее и лаконичнее Pascal, который долгое время был основным языком, использующимся для обучения программированию. При этом человек, знакомый с одним С-подобным языком, с легкостью сможет понимать и читать код других языков этого семейства.

2) Сегодня C# безусловно востребован. Вакансий очень много, причем как на крупные энтерпрайз-проекты с консервативным стеком, так и в компании, стартующие новые проекты, где используются самые передовые наработки и инструменты.

При этом очень важно понимать, что сферы применения этого языка очень широки:

  • разработка REST API и веб-сервисов — ASP.NET MVC, ASP.NET Web API;
  • разработка игр — Unity;
  • разработка мобильных приложений — Xamarin;
  • разработка десктопных приложений — WPF, Windows Forms;
  • разработка кроссплатформенных приложений и сервисов — .NET Core, Mono;
  • разработка облачных сервисов — под C# имеются SDK от всех крупных облачных платформ;
  • разработка хранимых процедур для SQL Server.

Поэтому в рамках одного языка можно совмещать специализацию по нескольким направлениям и при этом использовать знакомые инструменты и библиотеки.

Грамотный специалист может найти работу где-то за неделю-две.

3) С учётом того, что Microsoft активно развивает платформу .NET Core, я думаю, что в ближайшее время увеличится количество вакансий именно в этом направлении. Рынок же по классической версии .NET уже сформирован, и каких-то глобальных изменений на нем, скорее всего, в ближайшее время происходить не будет. Большого роста или падения зарплат ожидать не стоит. Но не следует забывать также и то, что С# входит в десятку самых «высокооплачиваемых» языков программирования. В целом же можно с уверенность сказать, что этот язык успешно завоевал себе крепкие позиции на годы вперед и перспективы у него исключительно позитивные.


Read publication