Как стать автором
Обновить

Программирование и ИТ во мгле, но это не точно

Уровень сложности Простой
Время на прочтение 12 мин
Количество просмотров 5.2K
Всего голосов 41: ↑32 и ↓9 +23
Комментарии 39

Комментарии 39

Хотите писать код за любую оптимизацию которого вас будут носить на руках? Пишите смартконтракты.

Больше обращать внимания на общую оптимизацию, приложения, сайта. Так как полное игнорирование приводит и привела к текущей ситуации. Просто откройте посещаемый сайт и нажмите f12, вкладка performance.

Решение простое, для кода который исполняется не у тебя(приложения, браузерный жс) ввести некий налог для компаний, чтобы они оплачивали электричество которое я трачу для просмотра их херни

Появится стимул думать

только, что мешает из легаси монолита, сделать модульный монолит

Так а в чём разница между модульным монолитом и набором микросервисов? Микросервисы - это точно не то же самое, что и "модульный монолит"?

нет

"Модуль" и "сервис" ортогональны. Модуль - единица организации логики/кода, сервис - единица организации деплоя/запуска.

Монолит - один запускаемый бинарь, микросервисы - пачка бинарей, общающаяся по сети. Модули же про то, как организован код.

Нет.

Вот у нас хрен знает что. Микросервисов точно нет. Но и одного огромного бинарника тоже нет. Есть куча мелких программ, каждая из которых выполняет какую-то логическую функцию. Разрабатывается, тестируется, поставляется независимо от остальных. В любой момент может быть заменена (с условием обратной совместимости контракта).

Вообще здесь (на этой платформе) все равно где у тебя расположен кусок кода - функция в этой же программе, функция в сервисной (аналоги динамической библиотеки) программе или в виде отдельной программы. Разница лишь в описании прототипа - просто прототип, прототип с модификатором extproc и ссылкой на имя в сервисной программе или прототип с модификатором extpgm с именем программы.

Все три способа вызова абсолютно равнозначны. Я могу написать одну большую программу из 100500 функций или 100500 маленьких с одной функцией в каждой.

Если мне надо вызвать программу асинхронно, я просто вызову ее через spawn (или системную команду sbmjob) и она запустится в отдельном фоновом задании (batch job).

Но, повторюсь, ни про какие "микросервисы" тут не слышали. Скорее все ближе к модели акторов которая была придумана еще когда подавляющего большинства "микросервисовщиков" еще и в проекте не было.

О программистском судить не буду, а вот с точки зрения пользовательского опыта история с яндекс-аддоном очевидным образом решается даже на Windows: каждому отдельный аккаунт, плюс понимание того, что вкладки браузера — это не замена закладкам браузера, они даже называются по-разному, хотя и похоже (по-русски).

Что касается объединения сканов в PDF, да тем более когда у вас есть убунту — convert image1.png image2.jpg image3.gif doc1.pdf

winget install ImageMagick.ImageMagick
magick convert image1.jpg doc1.pdf

Хотя я терпеть не могу PDF из картинок. Он потом так и будет гулять, в итоге попадёт к кому нибудь в базу документов, которые нужно парсить и обеспечить полнотекстовый поиск. Или просто захочешь почитать на бегу с мобильника...

Поэтому у разработчиков нет никаких шансов, что то изменить.

Проблема в том, что часто разработчики не хотят ничего менять. Я встречал довольно много проектов, где разработчики при условно неограниченных бюджетах, доступных архитектурных решениях и очень гибких сроках делали такие поделия, что возникали очень большие вопросы практически ко всему. И ответы на то, почему так получилось, никто не даёт.

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

Имхо, это миф, что если разработчикам дать волю делать, что они хотят, то они в среднем улучшат продукты. Да, есть примеры-исключения, но винить «жестоких менеджеров и капиталистов» не всегда правильно.

А тем временем С++ программисты продолжают писать код.

И, конечно же, С++ программисты пишут только хороший и правильный код, не раздувают почём зря кодовую базу, не совершают глупых ошибок, не ленятся оптимизировать производительность. Ведь как только ты написал "Hello, world" на C++, тебе открылись все тайные знания Вселенной. А вот если ты, Страуструп упаси, сел за Rust/Go/Java/Python и т.д. - то у тебя автоматически отсыхают руки, прикасавшиеся к святому C++, и вырастают новые из жопы.

А если ты, ко всему прочему, задумался о микросервисах, то уже и программистом называться не можешь, ты, цитируя автора, становишься одной из ">= 1 девочек", притом вне зависимости от своего биологического пола. Потому что над микросерсивами работают только девочки. Мужчины пишут монолиты.

Я правильно понял смысл статьи?

А если ты, ко всему прочему, задумался о микросервисах, то уже и программистом называться не можешь, ты, цитируя автора, становишься одной из ">= 1 девочек", притом вне зависимости от своего биологического пола. Потому что над микросерсивами работают только девочки. Мужчины пишут монолиты.

Я правильно понял смысл статьи?

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

Одна из проблем - лишние уровни абстракции в угоду "концептуальности".

Условно, если нам нужны классы "котики" и "песики", мы городим 100500 уровней абстракций, отражающих весь процесс зарождения жизни и эволюции (даже не от одноклеточных, а от таблицы Менделеева).

А дальше... Кто-то зачем-то вносит изменения на каком-то из начальных уровней абстракций и... с приветом вам - котики и песики везде превратились в рептилоидов и разъехалось вообще все...

Второй момент - тот же ООП пытаются натянуть даже там, где он избыточен или вообще неудобен. Но... "Концептуально"! А что при этом вместо создания некой структуры и инициализации ее на этапе компиляции в рантайме будет вызываться конструктор (и не просто конструктор, а 3-5-10 конструкторов по всей линии наследования), который фактически делает все тоже самое, но более концептуально - это все фигня на палке.

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

Hidden text

Стоят верблюд-сын и верблюд-отец. Сын спрашивает:
— Папа, а зачем нам на спине нужен горб?
— В горбу, сынок мы накапливаем воду. Когда мы идём по пустыне, нас не мучает жажда.
— Папа, а зачем нам такие копыта?
— Это чтобы в пустыне ноги не проваливались в песок.
— А зачем нам такие большие и жёсткие губы?
— Это чтобы в пустыне можно было есть колючки.
— Тогда, папа, объясни мне, на кой чёрт нам весь этот тюнинг в Саратовском зоопарке?..

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

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

Естественно, эти технологии полное дерьмо. Человечество несётся вперёд вообще не отдавая себе отчёт о происходящем и подгоняемое мотивами, которые были выработаны для условий стаи приматов, живущих в пещере. За срок, соизмеримый с жизнью одного человека, мы умудрились перейти от граммпластинок и ламповых телевизоров к созданию интернета до его цензурирования и фактического распада, попутно разваливая баланс климата планеты и процессы в экосистемах.

Поднимите голову и увидьте за нагромождением кнопочек и распухшим софтом глобальный неконтролируемый технологический взрыв.

За срок, соизмеримый с жизнью одного человека

Природный срок жизни копателя белок в саванне - 20 лет. (Хотя долгожители были всегда)

Гренландская акула живёт по 400 лет не написав ни одной строчки на питоне. Шах и мат.

1) про "микросервисы" в точку ! Плакат "мы перешли на микросервисы" носился разрабами и показывался намеаждом конфколле. Как они перешли на "микроснрвисы" если СУБД как была одна так и осталась - загадка .

2) Это еще тема - что пишет современные разрабы для СУБД - не раскрыта .

Ну как одна...

Сначала мы героически пилим монолит на микросервисы. И каждый микросервис (дабы работать в своем контейнере и не мешать другим - это так концептуально) работает со своей репликой БД. Потом мы еще более героически решаем проблему синхронизаций реплик БД...

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

Как же это знакомо :-(

И потом начинается "мы упёрлись в СУБД"

все сервисы ответили, И только потом после всех этих действий, транзакция считается исполненной

За сетевые походы внутри транзакций в приличном обществе подвергают публичной порке. Вы с автором либо работаете с не самыми грамотными разработчиками, либо чего-то не понимаете.

За сетевые походы внутри транзакций в приличном обществе подвергают публичной порке. Вы с автором либо работаете с не самыми грамотными разработчиками, либо чего-то не понимаете.

Я же выделил ожидание в кавычки. Я говорю о налоге на сеть. Которая в любом случае даёт накладные расходы.

Если вы к примеру грамотно настроили конфиг того же Postgresql, это половина успеха.

А вот с этим, по личном опыте нервах и потраченному на общении с разрабами архитекторами и манагерами времени - не согласен.

Они напишут такой код, что никакой тюнинг PostgreSQL не поможет и будут истерить и кричать на каждом конфколле - "у нас хороший код , это СУБД тормозит". А архитектор будет генерить массу прожектов -"что бы еще такого придумать, чтобы эта СУБД все таки залетала".

Я лично видел запрос со стоимостью плана выполнения - триллион (10^12) и долгое долгое обсуждение - почему СУБД не летает.

Настройки СУБД к успеху проекта вообще отношения не имеют. Это как помыть руки перед едой - само собой разумеющееся. Можно мыть руки регулярно и заболеть воспалением легких.

После чтения ваших постов остаются одни загадки. Получается, вы Дартаньян, а все остальные инвалиды умственного труда. Ок, что мешает вам прийти с вашим дартаньянским авторитетом и просто объяснить дурачкам лучшие практики работы с БД? Или включаться в архитектурное ревью в потенциально ресурсоемких задачах? От кодинга до выкатки в прод и факапа с БД недели проходят. Достаточно времени, чтобы улучшить продукт своей экспертизой. Получается, что или ваша экспертиза никому не интересна (интересно, почему) или вы считаете, что это не ваше дело.

Я в жизни встречал вот ровно 2 типа ДБА. Одни видят проблемы и начинают методично бить по рукам и учить уму-разуму. Через пару месяцев все приходит в норму. Другие годами сидят и просто бухтят, какие же разрабы тупые.

Насколько я помню, в начале была Java написанная на С++, так как иначе будет тормозить ещё больше:) Rust это LLVM написанный на.. Сами догадайтесь:)

Непонятно, к чему это

И вообще, все эти стенания к чему? Автор установил говнопрограмму для pdf и плачет, что установил говнопрограмму для pdf. Rust не такой как С++. Андроид требователен к ресурсам. Яндекс задолбал маркетингом (привет, темная тема). ООП объяснют на зверушках, а хочу на отчетах (школьникам понравится очень)

В итоге что?

Как что? Раньше трава была зеленее, вода мокрее и вообще. А сейчас всеобщая всратость (с) и наше IT во мгле, а наш поезд в огне.

В итоге что?

Айти шабаш продолжается:)

В итоге куча людей утверждает, что если первые среды Python/JS/Rust были написаны на C++ - то все эти языки, значит, надстройка над с++ и никогда его нигде не заменят.

Возможно, где-то, не в нашем провинциальгом районе все эти ит компании пилят свой кусок weba и тащатся от прибыли, но даже там где в производственных компаниях с возрастом за 20 лет и наличием только excell и 1С появляются всякие писатели которые тащат туда всякие непотребства в виде php, pyton, Linux и web в локалку не потому что это необходимо, а потому что либо ничего не знают кроме того что знают, либо просто получают "опыт" и через некоторое время сваливают в какие нибудь сотовые конторы за длинным рублём. А компания остаётся с этим софтом, который периодически глючит и тормозит и новый раз раб начинает это все разгребать зачем-то, когда надо просто убить никому не нужный web интерфейс и все что с ним связано и сидеть все заново в нормальном десктопном варианте.

ИТ во мгле или нет?

НЕТ! Мгла темная, а не коричневая, и ни чем не пахнет. Мгла не жидкая. Картинка с коллекторным водолазом точно поясняет ситуацию.

Для меня первым звонком, что погружение начато, стало в MIT больше не изучают SICP. Обратите внимание: Университет отказался от годного курса, потому что он не удовлетворяет требованиям бизнеса.

инженеры обычно пишут код для сложного аппаратного обеспечения, которое
они не до конца понимают (причем часто это происходит по причине
коммерческой тайны

Никто не сказал, что для надежности кода нужно чтобы код был открыт и удовлетворял определенным стандартам. Просто закрыли курс.

Деньги рулят! Через непрозрачное финансирование общественных фондов. Через подкуп политиков. В том числе, Деньги рулят через закрытое и несвободное програмное обеспечение.

Процитирую Столмана:

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

Власть денег - это несправедливая власть. Она называется олигархией. Если вы обслуживаете интересы этой власти, то поздравляю - вы во го МГЛЕ.

Процитирую Столмана

Ну не надо его иконизировать... Столман - этакий "Ленин от IT" (ладно хоть не Троцкий). Вроде бы все мысли идеи правильные, но если возвести их в догму, получится полная ерунда.

Проблему сканирования и объединения pdf в Windows решил с помощью программы WinScan2PDF
Ничего лишнего и весит всего 300кб.

Если честно, все же непонятен глубинный мотив автора. Вроде про 10 лет опыта написано. Значит, 28-32. Какие-то "вкладки", daemon tools... да хоть аська. Что нужно? Продуктам по 20 лет, идёт гонка за прибылью везде, и это логично и хорошо. Претензии к среде уровня джунов не иначе.

Какие-то "вкладки", daemon tools... да хоть аська. Что нужно? Продуктам по 20 лет, идёт гонка за прибылью везде, и это логично и хорошо. Претензии к среде уровня джунов не иначе.

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

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

Вы пеняете на инфантильность современных разрабов, но при этом большая часть ваших тезисов показывает вашу собственную неспособность принимать разумные взвешенные решения.

Что именно за решения?

Так и вижу: проект на пару десятков миллионов строк кода на С/С++. Живет и активно развивается уже 5+ лет. И тут прибегает юноша пылкий со взором горящим - "я принял разумное и взвешенное решение - переводим все на BetterC". Как думаете, куда он в итоге отправится?

Так и вижу: закладывают новый большой проект. Приходит большой Босс и говорит: в соседней фирме уже 40 лет разрабатывают на С, у них всё работает. Поэтому мы тоже будем на С.

В НАСА так и делают. Суть в инструментах. Берём простое js spa приложение. Пару мегабайт на фреймворк. Для запуска нужен браузер и т. д И простой функционал в итоге, потребляет достаточно, ощутимый ресурс на клиенте.

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

незаслуженно забыли погромистов Озона

Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации