Дайджест мыслей

| рубрика: Заметки | автор: st
Метки: ,

1. О трендах

Спустя 15+ лет после Java2 и .Net 1.1 тренд в софтостроении меняется: вместо универсального языка на виртуальной прокладке вернется разделение вроде "Си/Си++ для тех, кто знает, как работает процессор/компьютер и Питон для остальных". Что не отменяет агонии Явошарпокобола еще лет на 40.

Не забываем, что с трендами бороться нельзя, но можно с флуктуациями. "Все идет по плану" (с)

2. О среде

Моя сугубо личная статистика по любителям Vim.

Люди классно бацают по 2-3 сотни символов/мин вслепую, переключаются по консолям, файловым менеджерам и окнам кода с умопомрачительной скоростью, мониторят процессы в десятке окон. Для поддержки и оперативной правки багов - чемпионы.

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

Объяснение может быть, например, таким: при разработке относительно больших программ скорость бацания по клаве становится пренебрежимо малой величиной по сравнению с проектированием хотя бы в собственной голове, не говоря уже о каких то моделях и документах.

Никого не хотел обидеть. Сам пользуюсь Notepad++ или Geany.

3. О наживульке, куда ж без неё

Аджайлы выгодны начальству: если процесс стихийно организуется, пусть даже в одном случае из ста, то можно его возглавить. В 99 легко отстраниться.

Самый провальный аджайл в истории. Пятидневный спринт и 1,5 миллиарда лет непрерывного рефакторинга.

4. О теории

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

5. Про highload

(типа, я на интервью) Можно вопрос? Почему вы решили, что ваша система высоконагруженная? Каковы критерии/показатели? Сколько вы их набрали в цифрах?

Я не издеваюсь, не подумайте. Но если взять пример системы "Экспресс-2" (я его даже в книжку "СУБД для программиста" включил), то она на суммарных мощностях меньших, чем современный смартфон, умудрялась резервировать и продавать железнодорожные билеты на весь СССР.

Или вот еще примерчик, совсем свежий (What Happens When You Mix Java with a 1960 IBM Mainframe). Мейнфрейм 1960-х, бэкенд на Коболе, фронтенд на Яве. Запрос на бэкенде - 0,006 сек, на фронте - 6 сек. Сюрприз? Сюрприз!

P.S. от 27/02/2019. Видел сегодня такое вживую! AS/400 отдает все нужные данные за 0,3 сек, потом 10 секунд это провисает на серверах с микросервисами и прочим "проектированием", чтобы отрисовать офисному пользователю транспортный документ.

6. Наконец-то нашел в переводной книге, как назывался devops в 90-е. Техник-компоновщик.

7. Пора основывать сообщество ненавистников опенспейсов

  • 76% работников ненавидят работать в опенспейсах, статья на фр.языке
  • исследование Гарвардского универа на ту же тему: опенспейсы снижают производительность на 20-30% (у меня так на все 100%), публикация на англ.языке "The impact of the ‘open’ workspace on human collaboration", https://doi.org/10.1098/rstb.2017.0239

openspace sucks

8. SOLID. Забавно, что в SOLID-принципах, призванных обеспечить максимальную независимость программных модулей, эти принципы сами по себе неразрывно связаны. Например, open-close нельзя выполнить без использования техники dependency inversion и проверки на соответствие Liskov substitution. Вот что из старого "cohesion/coupling" маркетинг животворящий делает!

9. Про Маслоу. Не помню уже когда и где прочел, поэтому, наверное, скажу банальность: Маслоу никаких пирамид не рисовал и, тем более, не утверждал, что переход от одних потребностей к другим происходит только после полного удовлетворения первых. Поподробнее, со ссылками на работы "Maslow’s Hierarchy: Separating Fact From Fiction". И еще, в русском языке глагол "мотивировать" означает "излагать свои мотивы". Мотивировки часто писал Штирлиц. А персонал стимулируют, материально и морально.

10. Послеобеденное

Папа может, папа может
В Си что угодно
Сплюснуть разом
Индекс с базой
На тип забить
Папа может, папа может
Быть кем угодно
Только Джавой, только скриптом
Не может быть