Привет всем, дорогие форумчане.
Я постараюсь максимально конструкутивно донести свою идею, сорри если кому-то не понравится.
Я - человек со стажем в 5 лет программирования на Шарпе. Изучал не только его, ес-но.
Читал Эванса, его книги по DDD. Изучал многие другие практики, как CQRS+ES, читал Фаулера, имел опред. успех в работе.
Но, в итоге ушел :) в Раби… Прошу, не обоссывайте за эту фразу - я за нее поясню. А если точнее в нескольких языков и платформ… Теперь, по-подробнее.
За время моей эволюции, я понял, что C# и его экосистема не так уж хороши. И спасибо, тут наверное, можно сказать мировому тренду в мир Docker/K8S. Ведь, именно благодаря им - я осознал насколько все-таки, M$-продукция - лажова. Но… Это в какой мере касается и Java.
Меня перестало устраивать их качество, их направление развития. Я считаю их - мертвыми. Для своего времени, как более легкий порог входа и обхода C/C++ - они сыграли свою роль.
Но, вот… Посидев и посмотрел, как условно работают C#/.NET/Dapper, даже если ты не доверяешь ОРМ и пишешь сам параметризированные SQL-запросы и оформляет, как repository… Все равно, это колымага проигрывает по производительности С/C++/libpq (если PgSQL юзается, хотя справедливо и относительно другого)…
В целом, делать SOLID, DDD, CQRS/ES можно даже и на Ruby с Питоном, и это совсем не шутки.
Я понял, насколько все C#/Java - это неудобные инструменты… При этом в последних своих версиях, видимо создатели данных языков решили внести все, что можно в языки. Извратив их и превратив в какой-то швейцарский нож, но получился не швейцарский…
В итоге… Картина такая: что порог входа выше, чем для Golang, Ruby, Python. А в плане производительности .NET/JVM, хоть ты их тюнь 100500 раз - очень сильно проигрывают. А если, вы начнете тюнить приложения с C/C++, Python, Ruby - так они лучше картину покажут…
Спасибо, конечно Шарпу - что меня заставил учить GoF, DDD/CQRS+ES… Теперь эти знания можно применить в других языках, и сидеть на Linux only env.
В итоге, я для себя сделал вывод:
- Хочешь клепать фичи по-быстрому для PoC/MVP - Ruby или Python.
- Хочешь интересно дизайна ПО - Haskell.
- Хочешь high load - C/C++.
- Обязательно Linux, забыть про Windows.
PS: дядя шарпист уходит в нирвану Linux.
PS2: да, я понимаю что это ЛОР, понимаю что наверное меня кто-нибудь обоссыт за такие выводы… Ну и ладно, зато я сказал - как есть, что на душе. Желаю всем перейти на Linux.
PS3: Шарпист, если ты читаешь этот пост - бросай его перейди на Kotlin, Java… не знаю, если перейдешь - потом перейдешь на Haskell, Elixir или др., главное!!! держись подальше от корпораций M$ и Oracle
PS4: таки, вспомнил за что еще не люблю Жабу… от нее веет enterprise, и всякие OracleJDK позорят ее… да, есть OpenJDK… но…
PS5: всем - добра, peace