24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна.
Подробности случившегося. Мы призываем всех неравнодушных
помочь нам с восстановлением утраченного контента!
Как-то всю жизнь обходил стороной C#, по причине того, что кодил только веб-приложения на линуксе. Но тут для своих задач открыл шарфик (C#), который достаточно давно стал кроссплатформенным (настоящим) языком. Но ладно бы еще одно открытие языка и очередного синтаксиса, но я открыл действительно что-то ценное для себя в этом протухшем мире ИТ (ниже поясню).
Дело в том, что раньше не существовало понятия лучшего языка программирования. Все языки были в какой-то степени хороши и плохи. И тут скорее выбор напоминал между сортами говна, чем реально между чем-то удобным. Поэтому фраза "лучший язык программирования" всегда выглядела дилетантской.
Постепенно погружаясь в шарп и его инфраструктуру, я понял, что этот язык действительно вобрал и вбирает в себя все лучшее и нужное для прикладного уровня. От игр и вебассембли, до обычного бэкенда, машинного обучения и окошечек на десктопе. При этом весь его синтаксис действительно выглядит продуманным, а не как в типичных новых языках, где как-будто сил хватило только на половину синтаксиса, а остальное засунули с фразой "и так сойдет".
Ну, вот как пример, автовыведение типов с "var" (let, val), в шарфике нельзя сделать автовыведение в классе (только для локальных переменных), что логично, если бы оно работало для классов, то сложно было понять сигнатуру класса без IDE. Во всех новомодных языках же можно клепать эту фичу куда угодно, конкурируя только с синтаксисом динамико-дресни (динамических языков).
Ладно, но почему лучший? Да просто потому, что остальное говно:
Java - работал с ней много лет, это тот еще пузырь раздутый инфоцыганами и пафосными конференциями, которые создают впечатление ультрокрутого языка. Но в действительности, можно до бесконечности ковырять этот многомерный кал под названием Spring и прочее устаревшие говно мамонта, но стоить уже признать (хотя бы себе), что инфраструктура этого языка просто устарела и протухла. Если бы не openjdk и мобильная разработка, имхо, джаву бы постигла судьба кобола. Но благодаря усилиям евангелистов джавы (их правда так называют) язык постоянно раздувают снова и снова (иначе не получить рабочую силу, на многотонные говно-плиты легаси кода).
Go - пытается кого-то удивить в 2021 асинхронщиной (и скоро, возможно, дженериками, лол). Язык микросервис, язык if err != nil
Не, ну я понимаю поиграться на этом пару недель и написать свою утилитку в 500 строк. Но как на этом реально программировать долгие годы?
Rust - пытается и так сложное системное программирование засунуть в рамки борроу-чекера. Видимо, программистам и так скучно на системном уровне, что им надо еще больше ограничений в коде. Если раньше боролись с сигфолами, но могли хотя бы выражать свои мысли в коде. То теперь нужно пропихнуть свой код в "узкую трубу" парадигмы и попробовать еще написать продуктивный код.
Python - сложно назвать языки с динамической типизацией и отсутствием (без костылеварения) многопоточного программирования - языками вообще, но как же хорошо на них зарабатывать. Если вы клепаете видосики на ютубе, или пишите книжку или хотите создать курсы, это определенно ваш выбор. Питон - это язык "вкатон", лучший язык по версии хочух-в-айти. В реальности, экзотический синтаксис сего чуда заставит плеваться от всех остальных языков в будущем (потому что первый язык оставляет сильный отпечаток восприятия, а питон у нас особенный во всех смыслах).
Node.js - вообще выглядит как лабораторная студента. Казалось бы, что может быть еще хуже чем js, а оказывается может, достаточно добавить каллбэки и промисы.
PHP - еще один стагнирующий язык, мог бы стать чем-то лучшим для веба, но его убили тем, что в него засунули синтаксис джавы. Зачем динамическому языку ООП и тем более интерфейсы, мало кто ответит (они реально использовали интерфейсы, даже когда не было хинтов на типы). В общем, если хотите убить язык, добавьте в него джаву.
Kotlin, scala - пока компилируется код, можете изучить, скажем, groovy.
Удвойте, утройте количество знаний и проблем за ту же зарплату, на той же jvm, но получите чуток сахарку на пару строк.
И так, что же остается, единственным недостатком шарпа в сравнение со всеми другими языками, является то, что он попросту не успел прыгнуть в нужный вагон в свое время. А вот с появлением .Net Сore (а теперь просто .Net 5), он начал солидно так набирать популярность вне круга окошечников.
Платформа .NET - это лучшее, что создала компания Microsoft Билл Гейтс