LINUX.ORG.RU
ФорумTalks

Помогите найти старый плач в частном бложике, во что превратилось программирование

 


0

2

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

★★★★★
Ответ на: комментарий от maxcom

Не, то на русском было, и не похоже на перевод. Впрочем, щас почитаю.

dimgel ★★★★★
() автор топика
Ответ на: комментарий от maxcom

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

dimgel ★★★★★
() автор топика
Последнее исправление: dimgel (всего исправлений: 2)
Ответ на: комментарий от hateyoufeel

Бабки на лавке тоже во многом правы, и что же с того?

wandrien ★★★
()

чел плакался

Комментарии под любой новостью на опеннете.

ox55ff ★★★★★
()
Ответ на: комментарий от hateyoufeel

Кстати, понравилась вот эта его заметка: https://habr.com/ru/companies/itelma/articles/550404/

Но правда кринжанул с того, что пришлось читать статью русскоязычного чувака в машинном переводе на русский. tonsky уже не тот)))

wandrien ★★★
()
Ответ на: комментарий от hateyoufeel

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

Syncro ★★★★★
()
Ответ на: комментарий от Syncro

У тебя как будто только бинарный выбор. С одной стороны мы всё пишем на ассемблере, с другой – у нас тонна зависимостей, блокнотик на 500 МБ и те же тормоза, что и в 90-х, только на современном железе. Между двумя этими состояниями огромный градиент возможностей.

skiminok1986 ★★★★★
()
Ответ на: комментарий от skiminok1986

Например, блокнотик на 450 МБ. :)

dimgel ★★★★★
() автор топика
Ответ на: комментарий от skiminok1986

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

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

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

Syncro ★★★★★
()
Ответ на: комментарий от Syncro

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

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

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

Это ещё не повод брать максимально всратые за эталон.

тонна зависимостей как раз призвана решать проблему тормозов за счет переиспользования их кода и вобще очевидно решает

Как мне тонна зависимостей в npm решит эту проблему? Или тонна жирных class-файлов? Решает эта тонна зависимостей проблемы исключительно в узком смысле при стечение определённых обстоятельств, когда звёзды сойдутся.

skiminok1986 ★★★★★
()
Последнее исправление: skiminok1986 (всего исправлений: 1)
Ответ на: комментарий от skiminok1986

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

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

Как мне тонна зависимостей в npm решит эту проблемы? Или тонна жирных class-файлов?

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

Syncro ★★★★★
()
Последнее исправление: Syncro (всего исправлений: 2)
Ответ на: комментарий от Syncro

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

Хорошо. Какие косяки на проде приводят к торможению скроллинга?

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

Хочешь сказать, что вот я открыл два сайта, а там два разных фронта, но если они использовали при сборке одни и те же библиотеки, то эти библиотеки будут переиспользованы? А если у них немного отличаются версии?

С class-файлами тоже не совсем понятно как это работает. Запустил я два десктопных java-приложения. У каждого свой инстанс виртуальной машины фактически. Как будут переиспользованы реализации?

skiminok1986 ★★★★★
()
Ответ на: комментарий от skiminok1986

Хорошо. Какие косяки на проде приводят к торможению скроллинга?

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

Хочешь сказать, что вот я открыл два сайта, а там два разных фронта

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

С class-файлами тоже не совсем понятно как это работает. Запустил я два десктопных java-приложения. У каждого свой инстанс виртуальной машины фактически.

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

Syncro ★★★★★
()
Последнее исправление: Syncro (всего исправлений: 1)
Ответ на: комментарий от Syncro

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

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

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

Ага. А разные модули десктопного приложения также переиспользуют библиотеку.

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

Я, как пользователь, просто хочу запустить приложение и работать.

А как ты защитишь электрон как платформу? Что там переиспользуется разными приложениями?

skiminok1986 ★★★★★
()
Ответ на: комментарий от otto

Ага, вспоминается эта сцена:

Значит, когда эти баритоны кричат «бей разруху!» — Я смеюсь. Клянусь вам, мне смешно! Это означает, что каждый из них должен лупить себя по затылку! И вот, когда он вылупит из себя всякие галлюцинации и займётся чисткой сараев — прямым своим делом, — разруха исчезнет сама собой.

MoldAndLimeHoney
()

Зачем? Давай мы тебе лучше новый наплачем.
Программирование давно превратилось в накидывание копипасты из гугла в vscode висящей вниз головой макакой, которая оправдывает свою шерстистость и хвостатость буквами «MVP» и словами «чо такова», «процы мощные», «инет быстрый», «памяти много», «потом AI нормально перепишет».

thesis ★★★★★
()
Последнее исправление: thesis (всего исправлений: 1)
Ответ на: комментарий от skiminok1986

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

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

Ага. А разные модули десктопного приложения также переиспользуют библиотеку.

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

А как ты защитишь электрон как платформу? Что там переиспользуется разными приложениями?

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

Syncro ★★★★★
()
Ответ на: комментарий от Syncro

тонна зависимостей как раз призвана решать проблему тормозов за счет переиспользования их кода

Нет. Переиспользование кода раздувает память (обычно же про это все говорят). Я подключаю спринг, который тянет несколько десятков мегабайтов бинарников. Если я возьму и HTTP-сервер напишу с нуля, это займёт несколько десятков килобайтов. Больше мне спринг ни для чего не нужен по большому счёту. И в спринге те пути, которые реально работают в моём приложении, занимают те же несколько десятков килобайтов. А 99.9% остального кода лежит на диске и в памяти мёртвым грузом и никогда не будет выполнено. Но кому-то где-то когда-то этот код нужен или был нужен или будет нужен, поэтому он там есть.

Собственно в этом главная проблема библиотек. Большинство клиентов библиотек использует, грубо говоря, 1%. Но у каждого этот 1% свой. А цену производительности платят все.

Эту проблему можно решать. Всякие link time optimizations и подобные процедуры. Но этим не особо охотно занимаются почему-то. Видимо не считают эту проблему такой уж серьёзной.

vbr ★★★★★
()
Ответ на: комментарий от vbr

Если я возьму и HTTP-сервер напишу с нуля, это займёт несколько десятков килобайтов.

так вы и ОС сразу напишите оптимально, Лайнус вон тоже с «своего» приложения для модема начинал

Но этим не особо охотно занимаются почему-то.

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

Syncro ★★★★★
()
Последнее исправление: Syncro (всего исправлений: 1)
Ответ на: комментарий от Syncro

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

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

тонна зависимостей как раз призвана решать проблему тормозов за счет переиспользования их кода

Призвана? Отличное выражение.

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

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

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

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

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

очевидно потому, что вы сравниваете продукты разных порядков, т.е. я даже не вижу сравнения у вас, а есть просто какое-то утверждение ниочем.

Syncro ★★★★★
()
Ответ на: комментарий от Syncro

очевидно потому, что вы сравниваете продукты разных порядков, т.е. я даже не вижу сравнения у вас, а есть просто какое-то утверждение ниочем.

Тот Скайп, который работал на утюге, и тот Скайп, который запускает полдюжины процессов, чтобы сожрать побольше памяти, и даже при запуске с SSD тормозит (КАК??) - они имеют какие-то разные порядки функцональности?

Может второй Скайп содержит в себе профессиональный 3D редактор или студию видеомонтажа?

Это приложение для грёбаных видеоконференций.

wandrien ★★★
()
Ответ на: комментарий от Syncro

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

Ичо?

очевидно потому, что вы сравниваете продукты разных порядков, т.е. я даже не вижу сравнения у вас, а есть просто какое-то утверждение ниочем.

Окей, вот тебе сравнение: nheko (клиент для матрицы) сейчас у меня сожрал порядка 100 метров оперативы. Из зависимостей у него только Qt, boost и пара плюсовых либ по мелочи. Шлак, у которого в «зависимости призваны уменьшать потребление ресурсов через переиспользование кода», отожрал 500 метров в сумме. Итого, разница примерно 5 раз для программ с одинаковыми функциями. Как так?

hateyoufeel ★★★★★
()
Ответ на: комментарий от wandrien

Может второй Скайп содержит в себе профессиональный 3D редактор или студию видеомонтажа?

Второй скайп содержит в себе драйвер для джойстика Xbox 360.

Я не шучу. Он встроен в Chromium и большинство электронщиков не парятся и не выключают его при сборке.

hateyoufeel ★★★★★
()
Ответ на: комментарий от wandrien

Тот Скайп, который работал на утюге, и тот Скайп,

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

Syncro ★★★★★
()
Ответ на: комментарий от hateyoufeel

Ну и в чём он не прав?

I also create open-source stuff: Fira Code, DataScript, Clojure Sublimed and Humble UI.

После этого весь его пост напоминает анекдот про «[совокупляюсь] и плачу»

buddhist ★★★★★
()
Последнее исправление: buddhist (всего исправлений: 1)
Ответ на: комментарий от Syncro

Тот Скайп, который работал на утюге, и тот Скайп,

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

Стоп, а почему нельзя сравнивать веб-приложение и нативное? Электрон подаётся как замена нативному ведь.

hateyoufeel ★★★★★
()
Ответ на: комментарий от Syncro

хотя если бы сравнивали на подходящих задачах например работе с сетью возможно показатели были бы иными

Я тебя может удивлю, но видеоконференции — это задача для работы с сетью.

wandrien ★★★
()
Ответ на: комментарий от hateyoufeel

Окей, вот тебе сравнение: nheko (клиент для матрицы) сейчас у меня сожрал порядка 100 метров оперативы. Из зависимостей у него только Qt, boost и пара плюсовых либ по мелочи.

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

Syncro ★★★★★
()
Ответ на: комментарий от wandrien

я имею ввиду запросики контента с ресурсов, где веб-приложение из коробки бы накешировало, а поделка на кутях нет

Syncro ★★★★★
()
Последнее исправление: Syncro (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Стоп, а почему нельзя сравнивать веб-приложение и нативное?

потому, что в норме веб приложение в норме шарит код двух-трех проектов, что позволяет доставлять вам фичи раз в 10 быстрее чем если бы была комманда под айось, андроид, веб-сцайт, и 3+ натива

Syncro ★★★★★
()
Ответ на: комментарий от wandrien

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

Syncro ★★★★★
()
Ответ на: комментарий от Syncro

Стоп, а почему нельзя сравнивать веб-приложение и нативное?

потому, что в норме веб приложение в норме шарит код двух-трех проектов, что позволяет доставлять вам фичи раз в 10 быстрее чем если бы была комманда под айось, андроид, веб-сцайт, и 3+ натива

Расскажи мне, пожалуйста, какие фичи появились в скайпе в последние лет 10? Ну вот хоть одну действительно важную фичу.

Кстати, куда делась «экономия компьютерных ресурсов через переиспользование кода», про которую ты писал выше? Вышла из чата?

hateyoufeel ★★★★★
()
Ответ на: комментарий от hateyoufeel

Расскажи мне, пожалуйста, какие фичи появились в скайпе в последние лет 10? Ну вот хоть одну действительно важную фичу.

Это фичи для кого надо фичи. Реклама и т.п.

wandrien ★★★
()
Ответ на: комментарий от wandrien

Расскажи мне, пожалуйста, какие фичи появились в скайпе в последние лет 10? Ну вот хоть одну действительно важную фичу.

Это фичи для кого надо фичи. Реклама и т.п.

Чаты и месседжеры – вообще проклятая область. Единственная инновация за 10 лет – это E2EE, и для неё весь клиент на электрон переписывать не надо даже близко.

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

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

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

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

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

Syncro ★★★★★
()
Последнее исправление: Syncro (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Чаты и месседжеры – вообще проклятая область.

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

Syncro ★★★★★
()
Ответ на: комментарий от Syncro

Чаты и месседжеры – вообще проклятая область.

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

Если жаббер такой хороший, то почему он так сдох?

hateyoufeel ★★★★★
()
Ответ на: комментарий от hateyoufeel

Если жаббер такой хороший, то почему он так сдох?

Потому что был не на электроне))

wandrien ★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)