Новая жизнь в до-диез миноре
May. 9th, 2022 10:32 amЧудна и непредсказуема жизнь вообще и программерская карьера в частности.
Только я разобрался с современным C++, дождался пока вся контора соберётся двинуть на С++17, заархитектурировал взамен замшелого PoСo свою собственную мега-библиотеку (свободную от всяких фатальных недостатков)... как внезапно судьба забрасывает меня в облака, где эта плюсовая изысканность нафик никому не сдалась.
Штош, поскребли по мозговым сусекам, закатали рукава, и выкатили новые облачные сервисы на Питоне. Неожиданно выясняется, что у Питона имеется фатальный недостаток (и это вовсе не GIL) и чтобы все сервисы были в ажуре (pun intended) - надо срочно всё переписать на C#.
Штош, пришло время откопать стюардессу в виде десяти лет опыта программирования на Java и вспомнить как выглядит энтерпрайзное программирование. Обложился умными книжками и руководствами из интернетов, полистал примерчики...
В целом оказалось что всё совсем не так уж плохо. Microsoft сделал из Java вполне себе неплохой язык, на котором можно программировать без отвращения. Язык вышел структурированный, но при этом очень прагматичный. В смысле - если нужна фича, которая упрощает программистам жизнь - то её впилят даже если при этом придётся немного подогнуть концептуальные рамки. В этом есть конечно и минус - когда язык быстро (не как vlang конечно) эволюционирует, не всё окружение успевает за ним. Я вот до сих пор не могу окончательно вкурить онтологическую разницу между Task и ValueTask. Ну и весь LINQ пока в голове не помещается. Спасает то что у остальной команды тоже пока что не вся спецификация всосалась, а там на горизонте уже C#11 появился...
Также очень по жизни помогают JetBrains Rider для сверхзвукового рефакторинга и Copilot для внезапных мистических озарений. Отлично зашли Fluent Assertions для написания красивых тестов. Хотел ещё мутационное тестирование попробовать, но пока сил не хватило.
В общем, напрасно я опасался - I am not too old for this shit.
no subject
Date: 2022-05-19 04:13 pm (UTC)goвне всяком же...Динамическая типизация — не такая уж и плохая вещь. К тому же есть хинтование, есть всякие линтеры, и есть test coverage. Меня в последнее время сильно тянет в сторону TDD: если есть полный test coverage — то пофиг на каком языке писать, лишь бы было удобно, а если без тестов — то всё равно что-то где-то сломается.
no subject
Date: 2022-05-19 05:13 pm (UTC)