Top.Mail.Ru
? ?

Previous 10

May. 9th, 2022

masked, myself

Новая жизнь в до-диез миноре

Чудна и непредсказуема жизнь вообще и программерская карьера в частности.

Судьба — коварная штука. Как только у тебя в руке собираются четыре туза, она решает сыграть в шашки.

Только я разобрался с современным 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.

Tags: ,
promo Imagerecoder august 1, 2018 12:09 36
Buy for 100 tokens
Не так давно Фейсбук научил меня ещё одной классификации людей, в дополнение к стратегам и тактикам, интерналистам и экстерналистам, и разным морально-политическим приверженцам. Впервые эта классификация описана ещё двадцать лет назад Картером и Сэнджером в книге The Programmer's Stone…

Sep. 14th, 2021

corporate, lazy, wally

Дивный Новый Облачный Мир

Image

Переменчивая судьба забросила меня из уютной среды C++ разработки на передний край боевых действий - в облачные технологии. И вот уже которую неделю я пребываю в состоянии лёгкого офигевания...

Справедливости ради надо сказать что у нас и в направлении C++ последние годы движуха началась. Как десять лет назад отцы пообещали раз в три года перетряхивать стандарты, так и клепают новые фичи всё забористее и забористее. Чуть отвлёкся - и всё, перестаёшь понимать язык называемый Modern C++. Как завещала Чёрная Королева - "здесь приходится бежать со всех ног, чтобы только остаться на том же месте!" Добром эта гонка в пучины сложности не кончится, но какие альтернативы?

И вот я, старый C++ программист, привыкший к строгой типизации и оптимизации вплоть до порядка машинных инструкций, окунаюсь в новомодные облачные технологии. Что же я вижу?

Мир горизонтального масштабирования не устаёт поражать меня своей фантастической расточительностью. Вместо привычных килобайтов памяти и нескольких нитей исполнения тут счёт идёт на виртуальные машины или на худой конец на контейнеры. Тут у нас виртуальная машина, там у нас виртуальная машина, "и сверху у нас две маленькие виртуальные машиночки" для избыточности и географической распределённости. Впрочем, счета за каждый облачный компонент обязательно придут. И за процессорное время. И за каждый мегабайт траффика. Провайдер облачного счастья своей выгоды не упустит.

Вот он какой оказался - этот дивный новый облачный мир... Будем надеяться все эти жертвы будут не напрасны.

В любом случае - спасибо судьбе за очередную возможность проверить себя: не слишком ли я стар для этого нового дерьма?

Tags:

Mar. 11th, 2013

masked, myself

Тяжела и неказиста...

Всё-таки удивительная штука - жизнь практикующего программиста.

Вот бывает, проектируешь что-нибудь, ну например систему "автомобиль". Напрягаешь свою стареющую память, вспоминаешь все похожие задачи, пишешь так чтобы в случае чего, не напрягаясь, расширять систему по ходу добавления требований. Рассчитываешь чтобы можно было легко наращивать грузоподъёмность. Чтобы можно было подменить стандартный двигатель на аэротурбину или десять мопедных моторчиков. Чтобы количество колёсных пар можно было неограничено увеличивать. Чтобы водители на ходу могли меняться. Чтобы любой прицеп можно было прикрутить и сзади, и сверху, и с любого бока. И чтобы могла ездить и вперёд и назад не теряя ходовых качеств (ведь бывали и такие случаи в практике). И думаешь, что теперь предусмотрел всё и дальше будешь, поплёвывая в потолок, спокойно развивать систему.

А потом внезапно приходят новые требования, в которых пишут "А ещё надо чтобы сверху были вращающиеся рога с воздушными шариками!"

work

Tags:

Sep. 14th, 2006

masked, myself

Не задался денёк...

С утра побывал у зубного. Час пренеприятных, хотя и неболезненных, процедур. Но всё равно настроение уже не то. Да и повторные визиты предстоят...

После обеда побывал на менеджерском митинге. Ощущения сходные.

life work

Tags: ,

May. 13th, 2006

masked, myself

Short week

Что ни говорите, а трёхдневная рабочая неделя - рулит!

А если серьёзно - то я недавно прочитал интересную статейку Райана Карсона "The Four-Day Week Challenge". Про то как отдыхать три дня в неделю, а работать соответственно, четыре.

Основные мысли такие: какова бы ни была напряжённой неделя, всё равно остаются какие-то недоделаные дела. Так что надо просто правильно расставить приоритеты задач и уяснить себе, что все эти задачи надо выполнить за четыре дня. После чего будут три дня расслабления.

Read more...Collapse )

work

Tags:

Dec. 26th, 2005

masked, myself

Tight code /Вторая Программерская Клятва/

Пришло время дать Вторую Программерскую Клятву. (Первая Клятва была больше года назад…)

Непрограммистам неинтересноCollapse )

И да будет так. Отныне и пока у меня не отнимутся руки от карпального туннельного синдрома.

coding
work

Tags: ,

Dec. 21st, 2005

cynical, donkey, pessimistic

Психологический тренинг

Регулярное чтение Imagecode_wtf и Imagedaily_wtf очень хорошо поднимает настроение и помогает спокойнее переносить чтение исходников в корпоративном Source Control System. Рекомендую!

work

Tags:

Nov. 15th, 2005

masked, myself

Декомпозиция как панацея

Весь мой жизненный опыт, а особенно опыт участия в написании софта привёл меня к интересному выводу:

Простые задачи решаются легко и просто.
Сложные задачи полностью не решаются вообще.

Поэтому единственно верный способ решать [сложные] задачи - это последовательно разбивать сложные задачи на более простые, пока не будет достигнут атомарный уровень простых под-задач. (Ср. с мозговым штурмом - 1,2.)

Раглагольствования на темуCollapse )

Ключевой момент - как раз понимать, что теряется и что приобретается в процессе декомпозиции и планирования. Потому что первое обычно очевидно, а второе - нет. И получается как в шутке "Никогда нет времени, чтобы сделать правильно, но всегда есть время, чтобы переделать заново". Так что дедуктивное планирование - forever.

Jun. 30th, 2005

masked, myself

Программерское Щастье™

Как же хорошо остаться в офисе после семи вечера. Когда молодёжь расходится по домам и уже не надо никого менеджить. Не надо никого учить. Не надо каждые пятнадцать минут отвечать на всякие вопросы. Не надо писать письма или отвечать на них. Не надо раздавать задания вместо того, чтобы сделать их самому в три раза быстрей.

И наступает простое программерское счастье. Налить кружку крепкого кофе. Поставить в WinAmp кольцом что-то типа «Orbital — Halcyon & On & On» или «Orbital — Dwr Budr». Загрузить любимый редактор. И наконец, спрограммировать что-то великое и полезное.

Ща вот наработаюсь и опять пойду мучаться острой яблочной недостаточностью.

work

Tags:

Dec. 28th, 2004

cynical, donkey, pessimistic

Office Half-Life

Складывается одна интересная тенденция по моему опыту работы в нескольких офисах в Штатах и нескольких офисах в Москве. Американский офис - как интерьер в ИКЕЕ: неизменен с момента его создания и до момента его редизайна (неважно - мелкого ли, крупного).

Московский офис - совсем другое дело. Сданный в эксплуатацию, вначале он пахнет побелкой, сияет кафелем, шуршит ковролином, блестит полировкой и всячески радует глаз. И в тот же момент сдачи он начинает неотвратимый процесс распада и деградации. Причём период полураспада - месяцев эдак двадцать.

Рано или поздно проявляются признаки декаданса. Ковролин хищно махрится петлями. Урны для бумаг обрастают грудами мусора. На кухне пропадает сначала хороший кофе, а потом и весь остальной. Кондиционеры хрипят, но не работают. Из мебели и дверей постоянно сыплются шурупчики. Сортиры покрываются налётом... кхм, того чем обычно они и покрываются. В общем, мало что напоминает о былой роскоши.

Почему такая разница - не понимаю. Есть конечно догадки, но не более того...

office-space

Previous 10

masked, myself

November 2025

S M T W T F S
      1
2345678
9101112131415
16171819202122
23242526272829
30      

Syndicate

RSS Atom
Powered by LiveJournal.com
Image