В октябрьском выпуске TIOBE Index сообщается, что C# все ближе подбирается к Java, и есть предположение, что при сохранении тенденции C# может превзойти Java, который до недавнего времени занимал первое место в TIOBE Index, примерно через два месяца.
Можно не относиться к индексу TIOBE слишком серьезно, но следить за изменениями, которые он фиксирует, интересно, и в целом он дает картину, которая согласуется с другими показателями популярности языков, т.е. имеет достаточную достоверность. Он был создан в 2002 году Полом Янсеном, генеральным директором компании TIOBE Software, в качестве личного хобби, чтобы посмотреть, какие языки пользуются спросом, и задуман как индикатор популярности языков программирования.
В октябрьском выпуске Пол пишет, что никогда еще разрыв между C# и Java не был таким маленьким. В настоящее время разница составляет всего 1.2%, и если тенденции сохранятся, то примерно через 2 месяца C# превзойдет Java. Среди всех языков программирования (в годовом исчислении) Java демонстрирует наибольшее падение (-3.92%), а C# — наибольший рост (+3.29%). Эти два языка всегда использовались в схожих областях и, таким образом, являются конкурентами уже более двух десятилетий. Падение популярности Java в основном связано с решением Oracle ввести модель платного лицензирования после выхода Java 8. Microsoft применила противоположный подход к C#. Раньше C# можно было использовать только в составе коммерческого инструмента Visual Studio. В настоящее время C# является бесплатным и с открытым исходным кодом, и его используют многие разработчики. Есть и другие причины упадка Java. Прежде всего, определения языка Java за последние несколько лет практически не изменились, а Kotlin, его полностью совместимый прямой конкурент, проще в использовании и бесплатен. Kotlin вошел в топ-20 месяц назад и сейчас находится на 18-м месте, что является самым высоким показателем за всю его историю, его рейтинг составляет 0.96%.
Впрочем, нынешняя ситуация с C# немного странная. Да, теперь это язык с открытым исходным кодом, но он уже не так сильно поддерживается Microsoft, как раньше. Это кроссплатформенный язык, но ему не хватает хорошей надежной и современной библиотеки пользовательского интерфейса. Проще говоря, существует слишком много способов написания десктопных приложений под Windows и недостаточно под Linux. В области веб-разработки ситуация лучше, но и здесь количество различных подходов, которые предлагает ASP.NET, сбивает с толку. И если вы хотите использовать VSCode для разработки своей программы на C#, то для получения набора инструментов вам все-таки придется использовать учетную запись Microsoft и все инструменты компании. Именно это может замедлить принятие C#, хотя это и отличный язык.