Изучай новый курс C# 8.0 Стартовый бесплатно! Акция до 29 апреля
«Разве стоит изучать C# сейчас?» - этот вопрос мне приходится слышать время от времени. Предположим, у вас есть друг – JavaScript-программист, искренне недоумевающий от причин изучать С#. Что же, похоже настало время развеять это недоумение.
Для начала давайте проясним, какие нужно иметь при себе «в запасе» технологии и фреймворки, которые вы можете использовать каждый день, – это хорошая практика. Технология, которая действительно «отмирает», как только появляется сколь-нибудь более современный аналог, не стоит нашего внимания. Выбор «подходящего» языка программирования, который мы будем использовать практически каждый день, всегда было стрессовым вопросом. И если у вас ещё нет окончательного ответа, возможно, эта статья позволит вам определиться.
Использование .net core под Linux означает, что вам никогда больше не нужно прикасаться к Windows-серверам (конечно же, если вам самим этого не захочется)!
- Это не тот Microsoft, который был раньше
Для тех разработчиков, которые никогда не прикасались к продуктам Microsoft, использование их инструмента кажется синонимом к зацикленности на одной торговой марке, сумасшедшим проприетарным лицензиям, голубым футболкам и так далее. И, будем откровенными, не так давно все это так и обстояло. Сообществу .NET – разработчиков потребовалось немало времени, чтобы избавиться от этого. Не очень-то весело застрять в рамках Windows-машины и дорогих Windows-серверов, в то время как мир значительно больше этих рамок. В частности, это одна из причин, почему я оставил платформу .net и решил попробовать Ruby on Rails, но это уже другая история. Что подкупает, так это любовь современной Microsoft к открытым платформам.
Действительно, все ваши опасения касательно Microsoft могли бы быть правдой, если бы не open-source и одержимость мыслью о том, что коды инструментов разработки должны быть доступны каждому и каждый разработчик сам бы смог выбирать удобные ему инструменты разработки.
А учитывая то, что Microsoft собирается выкупить GitHub (уже выкупила – прим. переводчика), похоже, что компания все больше близится к своим непосредственным истокам – а именно к созданию инструментов для разработки. - Это все еще тот Microsoft, который был раньше
Не будем забывать о том, что Microsoft – это, в первую очередь, гигант программной индустрии. Что это значит? А это значит, что за С# стоит такая мощь, которая в любом случае будет поддерживать язык программирования «на плаву» в течение многих лет.
- C# заслужил свое место
Согласно показаниям опроса, проводимом на Stack Overflow, C# занимает 8 место в списке наиболее популярных технологий. В 2017, правда, было четвертое. И 4 года подряд до этого так же четвертое. «Падение» с 4 позиции на 8 частично может быть объяснимо добавлением html и css к опросу 2018 года, а с популярностью этих технологий трудно соперничать. Так, в 2018 году около 34.4 процентов разработчиков в списке наиболее часто используемых инструментов называют С# - и с этими показателями, пожалуй, ни один из существующих языков не может посоперничать.
- Нативные мобильные приложения
Используя Xamarin и C#, вы сможете создавать мобильные приложения для IOS и Android (ну и для Windows Phone, ясен пень). Почему? C 2016 года Xamarin стал частью Microsoft, которая к тому же дала доступ к исходному коду.
- Разработка на Mac, деплой на Linux
А вот это прямая отсылка к .net core, так как .net core – это современный кроссплатформенный стандарт. .Net core работает в рамках Windows, Mac и Linux-сред – без никаких дополнительных танцев с бубном. Что это значит? Это значит, что вы можете разрабатывать на C# программы для практически всех существующих наиболее популярных операционных систем, конечно же! Microsoft предоставила отличный инструментарий для разработки под все вышеперечисленные технологии.
- Быстрые и современные (веб) приложения на .net core
Net core и asp.net core – инновации в мире .net и asp.net стандарта-фреймворка. Когда-то монолитные, закрытые технологии теперь перестали быть такими! Разбор в деталях был бы вопросом уже другой статьи, но комбинация C# + (asp).net core является более чем достойной причиной начать изучать С#.
- Visual Studio – не более чем опциональное решение
Разработка под С# значила использование Visual Studio. Некоторым разработчикам было все равно, некоторым это пришлось не по душе. Теперь же, если хотите, вы можете использовать любой удобный для вас текстовый редактор + командную строку для компиляции. Плюс, если что, уже на данный момент существует Visual Studio для Mac (хотя и пока-что не такая мощная, как для Windows).
- Андерс Хейлсберг и Медс Торгерсен
Андерс Хейлсберг является создателем С#. Он работает на постоянной основе в Microsoft. Хейлсберг является одним из самых светлых ныне живущих умов в современной компьютерной индустрии. Но, поскольку на данный момент он переключился на TypeScript, программным менеджером C# стал Медс Торгерсен.
- Адекватное асинхронное программирование
С использованием C# асинхронное программирование станет намного проще и безболезненнее: async-await на страже ваших нервных клеток! Вырезка из официальной документации: «Используя эти два ключевых слова, вы сможете использовать ресурсы .NET Framework, .NET Core или Windows Runtime для создания асинхронных методов так же просто, как и для создания синхронных».
К примеру, те же async-await в JavaScript были сделаны по примеру таки С#.
- Надежное, составное, компилируемое
Конечно, тот факт, что C# - компилируемый, статически типизируемый язык программирования, не делает его особенным. Но стоит ли переходить на C# с таких динамически типизированных языков, как PHP, Python, Ruby и так далее, понимая, что для работы со строго типизированным кодом вам наверняка понадобится больше сноровки? Что же, возможно это так. Но, тем не менее, строго типизированный код позволяет работать со связями в коде, находить определения, проводить «безопасный» рефакторинг и так далее. В общем, применять множество тех вещей, которые в значительной мере упрощают процесс программирования.
Обратная сторона медали заключается в том, что каждый раз, как только вы хотите запустить свой C#-код, для начала вам необходимо его скомпилировать. Это может надежно «вырубить» некоторых разработчиков, привыкших работать в рамках динамически типизированных интерпретируемых языков программирования, так как им будет казаться, что постоянная предварительная компиляция замедляет процесс разработки приложения. Впрочем, разрабатывая более масштабное приложение, преимуществом такого подхода становятся возможности современных сред разработки – а именно отладка, рефакторинг или расширение кода
Видео курсы по схожей тематике:
Как это может мне помочь?
Бесплатные вебинары по схожей тематике:
Появление .net core открыло множество дверей для C# в частности и стандарта .net в целом. Итак, вы думаете, что С# «отмирает»? Спешим разубедить. Его будущее ярко и солнечно, а кроссплатформенность привлечет новое поколение разработчиков.
Автор перевода: Евгений Лукашук
Статьи по схожей тематике