С C# все будет хорошо, и Страуструп тут не при чем

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Меня очень возмутил вчерашний пост Что будет с C# и причём здесь Страуструп? Конечно, каждый имеет право на мнение, но автор использует множество манипулятивных техник, таким образом негативно влияя на мнение молодых читателей. Да и сам текст является маркетинговым переводом, что меня сильно удивляет. Потому и захотелось развенчать мифы из данной статьи.

Не поймите меня неправильно, я не фанбой C#. Буквально недавно в подкасте DotNet & More №53 C# 10 и не только я жаловался на то, что C#10 не впечатляет. Но в своих высказываниях необходимо стараться быть хоть немного объективным. Или, хотя бы, иронизировать над необъективностью.

Разбор оригинальной статьи

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

  • Оценочное суждение: "непонятный код", "хакерское исправление"

  • Бессмысленные, но колкие фразочки: "Я не знаю более эффективного способа, чем расползание функциональности, чтобы уничтожить язык программирования"

  • Неточное сравнение: путь из C в C++, современный C++ (с тяжелым наследием Александреску) совершенно не похож на C#. Сравнение напоминает "тарелка плоская, лежит на земле, значит земля плоская".

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

  • Странная и однобокая статистика

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

Мифы

Далее я хочу попробовать развенчать часть мифов. Будет много личного мнения, так что не судите строго.

  • Сложность языка не так сильно влияет на порог входа. Я опросил множество молодых ребят и не встретил ни одно джуна, который бы жаловался на сложность синтаксиса. Для них фундаментальные понятия, типа DI, модульного тестирования, оказываются гораздо сложнее, нежели оператор switch

  • А вот среди "вечных мидлов" встречается достаточно людей, "остановившихся в развитии" на C# 5 или 6. Под "вечными мидлами" я подразумеваю программистов, которые в силу опыта (5-10 лет) уже не могут считаться джунами, но по квалификации не дотягивают до сеньоров.

    • P.S. автор изначальной статьи https://www.linkedin.com/in/andrewzuo/ имеет всего 2 года опыта работы с C#. Так что можно было бы как-то экстраполировать вышесказанное, но мы не будем этого делать.

  • Разобраться с новыми синтаксическими конструкциями очень помогает IDE. И VisualStudio, и Rider подсвечивают "новые" способы выполнить задачу короче и яснее.

  • Автор пишет "C# умирает, Microsoft убивает его, добавляя случайные штуки, о которых никто не просил". Но это не так! Начиная с C#6 все фичи предлагаются сообществом. Более того, сам процесс выбора proposal champion открытый и, более менее, независимый.

  • Автор пишет "Просто бросьте в это макрос", создавая ощущение неструктурированности развития C#. Только если бы он посмотрел в сторону F#, Scala и других ФП, то лучше понял вектор развития.

    • P.S. не очень корректно обвинять автора в узколобости, так его основной опыт работы с C# в контексте Unity, а для игр очень плохо подходят концепции функционального программирования

Заключение

Уже лет 10 я слышу из каждого утюга, что C# умирает. В какой-то момент так и происходило, но .Net Core дал технологии новую жизнь.

  • У нас есть уникальная возможность работать с библиотеками без legacy соплей. Сравните что сейчас в Spring и AspNet, чтобы понять, кто тут настоящий смузи хипстер. Спросите у Kotlin разработчиков, как много врапперов вокруг стандартных библиотек они пишут. Писать же на современном .Net очень приятно!

  • C# не на хайпе? Мы были свидетелями, когда все ломанулись в php, потом в ruby, потом в node.js, сейчас в go. И часто они оставляли за собой очень нелицеприятный код. Вам не кажется, что это все были одни и те же люди?

  • 10 лет назад .Net был популярен, по большей части, благодаря Desktop разработке. Но падение популярности формочек лишь немного пошатнуло позиции .Net, Backend разработка растет и тащит.

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

  • Иногда происходят нелогичные вещи: Java для BigData, C# для GameDev (в Unity он смотрится откровенно плохо), Go для бизнес логики. Это невозможно предсказать, сложно понять, приходится с этим просто жить.

Источник: https://habr.com/ru/post/586020/


Интересные статьи

Интересные статьи

Выгрузка пользователей из 1C ЗУП в Битрикс24 или правдивая история о том как настроить интеграцию 1С-Битрикс24 с ЗУП без 1С-ника.В жизни так бывает, причём бывает чаще чем хотелось бы, хоть в целом и ...
Если говорить точнее, интернет-витринами и стриминговыми сервисаим владеют технологические компании, однако они уже мало чем отличаются от крупнейших лейблов и считаются ...
Именно таким вопросом я задался, когда будучи простым физическим лицом и гражданином РФ, устроился на удалённую работу разработчиком ПО в одну иностранную компанию и начал получать заработную п...
На MWC2019 Qualcomm показала видео с интересными сценариями пользования наружной сетью 5G миллиметрового диапазона, как вне помещений офиса, так и, в отдельных случаях, в помещениях. Рассмотр...
Тема статьи навеяна результатами наблюдений за методикой создания шаблонов различными разработчиками, чьи проекты попадали мне на поддержку. Порой разобраться в, казалось бы, такой простой сущности ка...