C# – это новый чёрный или почему универсальность и кроссплатформенность захватывают все сферы бизнеса

C# – это новый чёрный или почему универсальность и кроссплатформенность захватывают все сферы бизнеса

Всем привет! На связи технологическая компания CRT ex: Creative. С прошлого года в портфеле наших технологий появился С# и его фреймворки, и это стало событием, мягко скажем, знаменательным. Дело в том, что исторически мы, как и многие продакшны, специализировались на совсем другом бэкенде. Много лет растили и развивали экспертизу по PHP, Python, Laravel, GO. А сейчас, сохраняя и эти истории тоже, начали параллельно погружаться в технологию, которая стала новым чёрным всего IT. И не спроста.

О том, насколько C# является востребованной, понятной и комфортной технологией для всего рынка, о её богатой истории становления, обширном комьюнити и универсальном применении – спросили у разработчиков CRT. В нашей дискуссии приняли участие middle C# developers с 5+ летним стажем боевых проектов. С такими ребятами всегда приятно поболтать, потому что они своё дело знают.

Получилось небольшое интервью, которым делимся с вами) Точно пригодится, если выбираете, какой язык выбрать для изучения, или находитесь в поисках своей команды мечты (да, наши шарписты классные 🙂). Если думаете, на чём бы написать свой продукт – тоже must read. А мы начинаем.

В каких областях применяется C#? Для чего конкретно используется?

Вадим: C# является универсальным языком, поэтому остаётся востребованным везде и подходит под все бизнес-отрасли. Поэтому мы можем увидеть C# и в разработке корпоративных приложений, и в геймдеве, и в мобилке.

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

Никита: особенно хочется выделить серверные приложения. Лицензия MIT позволяет использовать C#, не заботясь о лицензировании, потому что эта лицензия остаётся одной из самых свободных. Это и открытый исходный код C# дают возможность использовать его в тех же государственных структурах практически без ограничений.

Влад: и про Machine Learning ещё не забудьте.

C# – это новый чёрный или почему универсальность и кроссплатформенность захватывают все сферы бизнеса

Что ты делаешь с помощью C# на текущем проекте?

Вадим: разрабатываю настольное кроссплатформенное приложение с использованием фреймворка Avalonia. Приложение представляет из себя редактор данных из базы. Взаимодействие с базой данных осуществляется при помощи EF Core. Делаю и интерфейс, и логику приложения.

Серёжа: использую С# для исправления ошибок и реализации новых функций.

Никита: занимаюсь разработкой конвертера запасов и природных ресурсов. На языке C# был разработано MVP приложение.

Влад: перeвожу отчёты из хранимой процедуры на linq.

C# – это новый чёрный или почему универсальность и кроссплатформенность захватывают все сферы бизнеса

Почему C# эффективен на твоем проекте? В чём его польза по сравнению с другими языками?

Вадим: все три составляющие моего текущего проекта разрабатываются на C# (за исключением языка интерфейса + самого языка БД), что позволяет пользоваться общим функционалом на десктопе и веб-версии. Например веб-разработчик сделал функционал под требования экспорта в Excel. Так как общий язык проекта – C#, десктоп-разработчик может воспользоваться этим же функционалом, не создавая ничего заново. Единый язык для всех основных компонентов – это огромное преимущество любого проекта, потому что команда может пользоваться общими наработками, не изобретая каждый раз велосипед. Удобно и быстро.

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

Серёжа: C# – это объектно-ориентированный язык, и он позволяет писать сложные масштабируемые приложения. Язык работает с платформой .NET. По сравнению с другими языками C# и .NET имеют ряд преимуществ:

  • эффективное управление памятью. Выделение памяти и её очистка производятся автоматически.

  • можно использовать код, написанный на других языках платформы .NET.

  • кроссплатформенность – приложения запускаются на разных ОС без доработки.

  • производительность – оптимизация JIT-компилятором производится во время выполнения с учётом аппаратных возможностей.
  • строгая типизация – типобезопасность проверяется компилятором.
  • простой и понятный синтаксис.

Никита: C# является статически типизированным языком, который имеет множество готовых решений, помогающих ускорить разработку. Имеет большую поддержку у проф сообщества и корпораций, что позволяет ему быть и современным и функциональным. На фоне остальных языков этот язык выделяет то, что у него из коробки доступно множество вещей – таких, как менеджер пакетов, асинхронность и другое. На текущем проекте в использовании C# мне особенно полезно то, что у него есть удобные средства работы с базами данных – доступные из коробки, лёгкие для настройки.

Влад: ценю C# за обширный набор инструментов и библиотек, а также за обширную поддержку и крутое сообщество. От остальных языков C# отличает строгая статическая типизация, что позволяет обнаруживать ошибки типов на этапе компиляции – это повышает надёжность кода. Сильная типизация упрощает понимание кода разными участниками команды и облегчает его дальнейшее сопровождение.

Вадим: есть и недостаток – это я про ориентированность C# на платформу Windows. Это может ограничивать его применение в других операционных системах (читатель, если у тебя есть мысли по поводу этого минуса, – напиши в комментах, обсудим).

C# – это новый чёрный или почему универсальность и кроссплатформенность захватывают все сферы бизнеса

В целом, что можем выделить из ответов разработчиков:

  • C# предоставляет такие механизмы безопасности, как типизация и контроль доступа, что помогает снизить возможность ошибок программирования и усилить безопасность приложений. Это особенно важно для предприятий, которые работают с чувствительными данными и требуют высокого уровня защиты информации.

  • Написано много библиотек, у C# прекрасно налажено взаимодействие с другими языками платформы .NET.

  • Большое сообщество. Легко находить ответы на сложные вопросы, что ускоряет процесс разработки, уменьшает количество ошибок. Это станет огромным плюсом как для начинающих разработчиков, так и для уверенных практиков, ведь на проектах все мы сталкиваемся с абсолютно разными вызовами.

  • С точки зрения лицензий, использование данного языка не сопряжено ни с какими тратами, более того, данный язык в силу свободной лицензии и открытого исходного кода позволит программному обеспечению успешно пройти аттестации в гос. органах.

А у нас тут много разработчиков на C#? Что можете рассказать из собственного опыта? Ждём вас в комментах, уверены – у этой темы огромный потенциал для разборов и дискуссий. Если вам хочется узнать о конкретных кейсах решений на C# – маякните в комментах тоже, соберём отдельную статью на эту тему. Всем спасибо за чтение!

11
Начать дискуссию