Приветствую. Учусь на 1 курсе технического вуза. На 1 курсе у нас C. Я на него забил, просто написал программу на C++, предъявил преподу, мол я шарю, и все. Для работы избрал Python/Django. Интересует удаленка, желательно на Европейского или Американского работодателя. Под собственные задачи не хватает нормального языка программирования. Что значит нормального? Python держится на библиотеках. Динамическая типизация просто? Увольте. Я не рискнул бы писать крупный (не веб) проект на Python. Почему? Потому что большинство ошибок вылавливаются во время работы самого кода. Вот вам и динамическая типизация, и интерпретация. Посмотрите, как используется язык. В веб проектах, потому что Django надежен. Как по мне Python+Django много лучше PHP, да хотя бы и из-за Django Rest. Но кроме веба, Big data, машинного обучения и автоматизации, Python нигде не применяется. Игры, крупные приложения, как правило, Python страхует C++. А скорее, он работает внутри него. Ладно, окей, под Windows игру написать можно. Но вдруг пришла идея запрограммировать что-то под Android. Смотрим. Kivy. Пробуем и убеждаемся, что тут и выходит, молотком вкручиваем лампочку, никак иначе. В общем, нужен второй язык. Язык, где якобы больше кода и т.д, но который по факту надежнее, и работать будет производительнее, и ошибки отдавать на компиляции. Понятно, что C++/C#/Java. Иного не дано. Посидев, повздыхав, я выкинул C++ в помойку. Причины:
- Когда делал на C++ работу для универа, 6 часов убабахал на это. На установку VS, на подключение QT, на изучение возможностей для написания простого текстового редактора с менюшкой, где открыть, сохранить и выход, потом еще это не компилировалось из-за ошибок, связанных с библиотекой… В общем, 6 часов. Если такое будет каждый раз с новой библиотекой…
- Пообщался с C++ разработчиками. Если проект, который на C#/Java пишется за неделю/две, на C++ я буду пилить 3 месяца…
- Удовольствие от разработки самого алгоритма программы. Логики программы. Но никак не от работы с памятью и прочими заморочками на низком уровне. Пусть компилятор сделает, как надо, нежели я где-то допущу ошибку, в одном месте, а потом из-за нее будет ошибка на несколько окон, и за ней многочасовой поиск места с ошибкой. В итоге, C# vs Java. Учитывая, что ранее я работал с C#, начал читать всякие статьи «C# vs Java». На форумы тоже писал. Но моя главная цель была заработок. Сейчас же разработка приложений по моим интересам. Почитав понял, что никакого четкого вывода нет. Прошло время, когда C# был лишь под Windows. С одной стороны, C# круче. Развивается, Microsoft кидают туда все, что нужно и не нужно. С другой стороны. Давайте посмотрим правде в глаза. Где сейчас применяется C#? Под Windows. Все сервера на Windows Server. Какие приложения (не игры) разработаны под Android с C#? Я не знаю таковых. Исследуя рынок понимаем, что по Java и вакансий больше, и зарплаты выше. Естественно, зарплаты то у синьоров. У джунов и мидлов примерно одинаково, но Java таки немного выше. А открывая вакансии я понимаю, что меня не ожидает с C# карьера. Ибо не сдался мне ASP.NET, если я уже на Django. Других вакансий нет. У Java тут все, что хочешь. И веб, и сервера, и приложения под Android. Но есть еще 2 момента:
- .NET Foundation. Кроме того, планируется объединить .NET и .NET Core. Выстрелит ли это? Возможно. Но я не думаю, что все сразу бросятся переписывать сервера с Java на .NET, а кто сидел на Windows Server будут переписывать под Linux;
- Kotlin. Всей душенькой ненавижу этот язык, и не спрашивайте, почему. А сейчас много где его используют наравне с Java, и вместо Java. Открываем сравнения производительности, и понимаем, что по производительностью C# давно обогнал Java. В общем. Уважаемые девелоперы. Желательно те, кто знаком и с той и с той технологией. Озвучьте пожалуйста ваше мнение по вопросу «C# vs Java в 2020. Что выбрать?». Как следует делать выбор? На что ориентироваться? На что обратить внимание? В общем все возможное и не возможное по этой теме. C# и Java очень и очень схожи, но хочется для себя провести между ними различие, дабы выбрать нужный инструмент. Заранее благодарен!