Моё разочарование в софте

[ Версия для печати ]
Добавить в Facebook Добавить в Twitter Добавить в Вконтакте Добавить в Одноклассники
Страницы: (13) [1] 2 3 ... Последняя »  К последнему непрочитанному [ ОТВЕТИТЬ ] [ НОВАЯ ТЕМА ]
Butterfly88
27.09.2018 - 13:01
Статус: Offline


Приколист

Регистрация: 1.12.11
Сообщений: 253
435
Всем привет! Довольно таки актуальный текст, особенно в связи с продажами новых моделей айфонов. Много технических букв, но может быть кому-то будет интересно почитать :)

Суть разработки программного обеспечения
— Нужно проделать 500 отверстий в стене, так что я сконструировал автоматическую дрель. В ней используются элегантные точные шестерни для непрерывной регулировки скорости и крутящего момента по мере необходимости.
— Отлично, у неё идеальный вес. Загрузим 500 таких дрелей в пушку, которые мы сделали, и выстрелим в стену.


Я занимаюсь программированием уже 15 лет. Но в последнее время при разработке не принято думать об эффективности, простоте и совершенстве: вплоть до того, что мне становится грустно за свою карьеру и за IT-отрасль в целом.

Для примера, современные автомобили работают, скажем, на 98% от того, что физически позволяет нынешняя конструкция двигателя. Современная архитектура использует точно рассчитанное количество материала, чтобы выполнять свою функцию и оставаться в безопасности в данных условиях. Все самолёты сошлись к оптимальному размеру/форме/нагрузке и в основном выглядят одинаково.

Только в программном обеспечении считается нормальным, если программа работает на уровне 1% или даже 0,01% от возможной производительности. Ни у кого вроде нет возражений. Люди даже гордятся, насколько неэффективно работает программа, типа «зачем беспокоиться, компьютеры достаточно быстрые»:

@tveastman: Я каждый день запускаю программу на Python, она выполняется за 1,5 секунды. Я потратил шесть часов и переписал её на Rust, теперь она выполняется за 0,06 секунды. Это ускорение означает, что моё время окупится через 41 год, 24 дня smile.gif

Наверное, вы слышали такую мантру: «Время программиста дороже времени компьютера». Это означает, что мы тратим компьютерное время в беспрецедентных масштабах. Вы бы купили машину с расходом 100 литров на 100 километров? Как насчёт 1000 литров? С компьютерами такое происходит постоянно.

Всё невыносимо медленно

Оглянитесь вокруг: портативные компьютеры в тысячи раз мощнее тех, что привели человека на Луну. Тем не менее, каждый второй сайт не может обеспечить плавную прокрутку страницы на 60 FPS на последнем топовом MacBook Pro. Я могу комфортно играть в игры, смотреть видео 4K, но не прокручивать веб-страницы! Это нормально?

Почтовому приложению Google Inbox в браузере Chrome от той же Google, требуется 13 секунд, чтобы открыть письмо среднего размера:

Он ещё анимирует пустые белые формы вместо того, чтобы показать их содержимое, потому что это единственный способ анимировать что-то на веб-странице с приличной производительностью. Нет, не 60 FPS, а скорее «настолько быстро, насколько возможно на этой странице». С нетерпением жду, что же веб-сообщество предложит, когда дисплеи 120 Гц станут мейнстримом. Они еле справляются с 60 Гц.

Обновление Windows 10 занимает 30 минут. Что можно делать так долго? Этого времени достаточно, чтобы полностью отформатировать мой SSD-накопитель, загрузить свежий билд и установить его примерно 5 раз подряд.

Павел Фатин: Набор текста в редакторе — относительно простой процесс, поэтому даже 286 могли обеспечить довольно плавный процесс набора.

В современных текстовых редакторах задержка при наборе больше, чем в 42-летнем Emacs. Текстовые редакторы! Что может быть проще? На каждое нажатие клавиши, нужно всего лишь обновить крошечную прямоугольную область на экране, а современные текстовые редакторы не могут сделать это за 16 мс. А это много времени. МНОГО. 3D-игра заполняет экран сотнями тысяч (!!!) полигонов за те же 16 мс, а также обрабатывает ввод, пересчитывает мир и динамически загружает/выгружает ресурсы. Как так?

Тенденция такова, что софт вовсе не становится быстрее и функциональнее. Мы получаем более быстрое оборудование, на котором софт с теми же функциями ворочается медленнее, чем раньше. Всё работает намного медленнее максимальной скорости. Никогда не задумывались, почему ваш телефон загружается от 30 до 60 секунд? Почему он не может загрузиться, скажем, за одну секунду? Здесь нет никаких физических ограничений. Лично мне бы такое понравилось. Хочется, чтобы разработчики достигли предела, используя каждый бит для производительности.

Всё ОГРОМНОЕ


И ещё это раздутие. Веб-приложения могут открываться в десять раз быстрее, если просто заблокировать рекламу. Google умоляет всех прекратить тормоза с помощью инициативы AMP — технического решения, для которого не нужны какие-либо технологии, просто немного здравого смысла. Если удалить раздувание, интернет станет работать на сумасшедшей скорости. Неужели это сложно понять?

Система Android без приложений занимает почти 6 ГБ. Просто задумайтесь на секунду, насколько неприлично огромное это число. Что там, фильмы в HD-качестве? Думаю, в основном код: ядро, драйверы. Ещё какие-то ресурсы, конечно, но они не могут быть такими большими. Сколько же драйверов вам нужно для телефона?

Windows 95 занимала 30 МБ. Сегодня у нас есть веб-страницы тяжелее, чем эта ОС! Windows 10 уже 4 ГБ, то есть в 133 раза больше. Но разве она в 133 раза лучше? Я имею в виду, функционально они практически одинаковы. Да, у нас появилась Кортана, но я сомневаюсь, что она весит 3970 МБ. Но это Windows 10, неужели Android должен быть ещё в полтора раза больше?

Приложение клавиатуры Google как ни в чём не бывало съедает 150 МБ. Эта программа рисует 30 клавиш на экране — она правда в пять раз сложнее, чем вся Windows 95? Приложение Google app, в основном, просто пакет для Google Web Search, занимает 350 МБ! Сервисы Google Play, которыми я не пользуюсь (я не покупаю там книги, музыку или видео) — 300 МБ, которые просто сидят здесь и которые нельзя удалить.

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

Ваша программа для заметок наверняка написана в Electron и, таким образом, поставляется с драйвером для контроллера Xbox 360, умеет показывать 3D-графику, воспроизводить аудио и фотографировать с помощью веб-камеры.

Простой текстовый чат всегда славился скоростью и малым потреблением памяти. Так что Slack — это пример очень ресурсоёмкого приложения. Я имею в виду, что чат и текстовый редактор — это самые базовые вещи, они должны потреблять меньше всего ресурсов. Добро пожаловать в 2018 год.

Вы можете сказать, что они хотя бы работают. Но увеличение размера — не значит улучшение. Это значит, что кто-то потерял контроль. Мы больше не знаем, что происходит. Увеличение размера — это повышение сложности, снижение производительности и надёжности. Это ненормально и не должно считаться нормой. На раздутый размер нужно сразу обращать внимание — и держаться от них подальше.

Всё гниёт

Android-телефон на 16 ГБ был прекрасен три года назад. Сегодня под Android 8.1 он еле работает, потому что каждое приложение увеличилось минимум вдвое без видимых причин. Дополнительных функций нет. Они не стали быстрее и внешний вид не изменился. Они просто… раздулись?

iPhone 4s вышел с iOS 5, но едва может работать под управлением iOS 9. И это не потому, что iOS 9 намного лучше — в основном, система не изменилась. Но новое оборудование быстрее, поэтому они сделали программное обеспечение медленнее. Не волнуйтесь — вы получили захватывающие новые возможности, например… работа тех же приложений с той же скоростью! Не знаю.

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

@jckarter: Программу DOS можно заставить работать без изменений практически на любом компьютере, сделанном после 80-х годов. Приложение JavaScript может прекратить работу из-за завтрашнего обновления Chrome.

Сегодняшние веб-страницы не будут работать в любом браузере через 10 лет (а может и раньше).

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

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

Хуже — значит лучше

Сейчас никто ничего не понимает. И не хочет понимать. Мы просто выпускаем полусырую ерунду, надеемся на лучшее и называем это «здравым смыслом для стартапа».

Веб-страницы просят обновиться, если что-то пошло не так. У кого есть время, чтобы найти причину неполадки?

Любое веб-приложение выдаёт постоянный поток «случайных» ошибок JS, даже на совместимых браузерах.

Вся архитектура баз данных веб/SQL построена на предпосылке (даже надежде), что никто не изменит данные, пока вы смотрите на открытую веб-страницу.

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

И нет, в моём мире не является нормальным приложение, которое говорит: «Я уничтожу часть твоей работы, только выбери какую».

Linux намеренно убивает случайные процессы. И всё же это самая популярная серверная ОС.

У меня каждое устройство регулярно выходит из строя так или иначе. Время от времени монитор Dell нужно аппаратно перезагружать, потому что в нём есть софт. AirDrop? Вам повезёт, если он обнаружит устройство, иначе что делать? Bluetooth? Спецификации настолько сложны, что устройства не будут устанавливать связь друг с другом, а периодические перезагрузки — оптимальный вариант.

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

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

В программировании такой же хаос

Кажется, что никто больше не заинтересован в качественных, быстрых, эффективных, долговечных, основательных решениях. Даже если давно известны эффективные решения, мы по-прежнему боремся с теми же проблемами: управление пакетами, системы сборки, компиляторы, конструкция языка, IDE.

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

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

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

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

@rakhim: Когда приложение или сервис говорит «под управлением ИИ» или «на основе машинного обучения», я читаю это как «ненадёжное, непредсказуемое поведение, которое не поддаётся объяснению». Я держусь подальше от «ИИ», потому что хочу от компьютеров противоположного: надёжности, предсказуемости и логики.

Мы засунули виртуальные машины в Linux, а затем засунули Docker в виртуальные машины, просто потому что никто не смог разобраться с бардаком, который производят большинство программ, языков и их окружений. Мы накрываем дерьмо одеялами, чтобы не убирать его. Например, «единый бинарник» остаётся ОГРОМНЫМ преимуществом Go. Нет бардака == успех.


Окружающая среда Python настолько загрязнилась, что мой ноутбук объявили зоной экологической катастрофы.
Примечание. Агентство по защите окружающей среды Python хотело залить его цементом и захоронить с картинкой на входе — предупреждением для будущих цивилизаций об опасности использовать sudo для установки случайных пакетов

А зависимости? Люди бездумно ставят переусложнённые «полные пакеты» для простейших проблем, не думая о последствиях. Из этих зависимостей растут новые. В конечном итоге вы получаете дерево, которое является чем-то средним между фильмом ужасов (огромное и полное конфликтов) и комедией (нет причин, по которым мы добавили сюда эти пакеты, но вот они):

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

Что ещё хуже, ни у кого нет времени остановиться и выяснить, что произошло. Зачем беспокоиться, если всегда есть другой выход. Поднять новый инстанс AWS. Перезапустить процесс. Удалить и восстановить базу данных. Написать скрипт, который будет перезапускать ваше сломанное приложение каждые 20 минут. Включить одни и те же ресурсы несколько раз: тяп-ляп — и в продакшн. Двигайся быстро, не трать время на исправление ошибок.

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

Мы застряли

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

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

Но у кого есть на это время? Новые ядра ОС не выходили сколько, 25 лет? Это сейчас стало слишком сложным, чтобы просто взять и переписать. В браузерах накопилось столько пограничных ситуаций и исторических прецедентов, что никто не осмелится писать движок с нуля.

Мы застряли, и никто нас не спасёт.

Бизнесу всё равно

Пользователям тоже. Они выучились принимать то, что мы делаем. Мы (инженеры) говорим, что каждое приложение для Android занимает 350 МБ? Хорошо, они будут с этим жить. Мы говорим, что не можем обеспечить плавную прокрутку? Окей, они свыкнутся с телефоном, который подтормаживает. Мы говорим: «Если не работает, перезагрузитесь»? Они перезагрузятся. Ведь у них нет выбора.

Конкуренции тоже нет. Все строят одни и те же медленные, раздутые, ненадёжные продукты. Случайный скачок вперёд по качеству даёт конкурентное преимущество (iPhone/iOS против других смартфонов, Chrome против других браузеров) и заставляет всех перегруппироваться, но ненадолго.

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

Не всё так плохо

Иногда на пасмурном небосводе просвечивают лучики надежды.

Работа Мартина Томпсона (LMAX Disruptor, SBE, Aeron) впечатляет, она освежающе проста и эффективна.

Редактор Xi Рафа Левиена, кажется, построен на правильных принципах.

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

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

Манифест лучшего мира

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

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

Поэтому я хочу заявить: нынешняя ситуация — полное дерьмо. Как инженеры, мы можем и должны, и сделаем лучше. У нас могут быть лучшие инструменты, мы можем создавать лучшие приложения, более быстрые, предсказуемые, более надёжные, использующие меньше ресурсов (на порядки меньше!). Мы должны глубоко понять, что мы делаем и почему. Мы должны выпускать продукты надёжно, предсказуемо, с самым высоким качеством. Мы можем и должны гордиться нашей работой. Не просто «учитывая то, что у нас было...» — никаких оговорок!

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

via

Моё разочарование в софте
 
[^]
Yap
[x]



Продам слона

Регистрация: 10.12.04
Сообщений: 1488
 
[^]
Pa5ha
27.09.2018 - 13:20
59
Статус: Offline


Ярила

Регистрация: 21.03.12
Сообщений: 1114
Я получив проект переписал приложение со свифта на обджектив си и оно стало работать быстрее в 3 раза. Просто те же расчеты стали производиться за время в 3 раза меньшее. А через месяц поддержка текущей версии свифта прекратилась и приложение пришлось бы переписывать на свифт 3. Потом на свифт 4.

Аппле занимается какой-то хернёй. Компилятор свифта 2.4 компилировал код порой минут 20. Редактор кода ругался на расчет нормали - типа слишком сложная формула этот ваш корень из суммы квадратов. Могу продолжать бесконечно.

Это сообщение отредактировал Pa5ha - 27.09.2018 - 13:20
 
[^]
Temp1933
27.09.2018 - 13:23
218
Статус: Offline


Шутник

Регистрация: 28.02.11
Сообщений: 30
Пока тупые черножопые индусы трогают клавиатуры - нихуя не выдет.
Движение надо создавать: "Я против черножопого кода!"
Этим обезьянам платят за количество строчек. Вот и говнокод.

Это сообщение отредактировал Temp1933 - 27.09.2018 - 13:24
 
[^]
nonexchange
27.09.2018 - 13:27
15
Статус: Offline


Весельчак

Регистрация: 23.06.10
Сообщений: 138
Цитата (Butterfly88 @ 27.09.2018 - 14:01)
Обновление Windows 10 занимает 30 минут. Что можно делать так долго? Этого времени достаточно, чтобы полностью отформатировать мой SSD-накопитель, загрузить свежий билд и установить его примерно 5 раз подряд.

Не знаю насчёт 10-ки, но в 7-ке было примерно так: служба обновления создавала несколько гигантских xml-файлов с кучей различных параметров и, соответственно, обновление и сохранение каждого параметра занимало несколько секунд - столько длилось сохранение файла 1-2 мб. Более кривожопого решения от МС найти сложно.
 
[^]
Уфимский
27.09.2018 - 13:27
143
Статус: Offline


Балагур

Регистрация: 12.01.11
Сообщений: 826
Ты прав, бро.

Я уже зарёкся объяснять людям, почему самописный код для страницы лучше, чем всякие Джумлы и прочая хуета CMS. Я просто перестал это делать (объяснять). Заказчику дешевле написать страницу при помощи студента за два-три часа, потратив 2000 рублей, чем заплатить за "чистый код" 20 тысяч - на экране они будут выглядеть одинаково.

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

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

Сам себя ловлю на мысли, что каждые полгода осознаю, что ещё полгода назад ничего не знал! Процесс развития идёт постоянно. А кто-то знает меньше, чем 1% от моих знаний, но сидит и с умным видом речёт: "Машинное время стоит дешевле, чем время программиста!"

Это сообщение отредактировал Уфимский - 27.09.2018 - 13:48
 
[^]
Salex53
27.09.2018 - 13:28
44
Статус: Offline


Весельчак

Регистрация: 16.09.14
Сообщений: 113
Всем винду 95, диск на жесткий диск на 500 Мб и фидо!
 
[^]
ext68
27.09.2018 - 13:30
25
Статус: Offline


Шутник

Регистрация: 2.12.16
Сообщений: 57
Цитата
Этим обезьянам платят за количество строчек. Вот и говнокод.

Пока платят за количество строчек в приципе - вот и говнокод. И неважно кому.
 
[^]
ГенрихС
27.09.2018 - 13:32
117
Статус: Offline


Юморист

Регистрация: 31.10.15
Сообщений: 576
На win7 калькулятор отрывался мгновенно. На win10 с двухсекундной задержкой. Это все, что нужно знать о прогрессе.
 
[^]
Mowgley
27.09.2018 - 13:32
70
Статус: Offline


Дикий

Регистрация: 26.01.10
Сообщений: 486
Ну ТС Америку открыл.
Программеров всех на переобучение, ассемблер оставить, остальное запретить. Несогласных расстрелять. Тогда любая ОС будет умещаться на 10-20Мб и работать молниеносно.
 
[^]
wanu
27.09.2018 - 13:32
38
Статус: Offline


Хохмач

Регистрация: 22.02.10
Сообщений: 715
фигня в том, что фрагментарное мышление у народа. гаджеты, отрывочная инфа, ля-ля, прошли мимо, лайки....
вот и всё.
когда интернет был уделом учных и программеров - было скупо, аккуратно. потом пришли манагеры. внедрили маркетинг. рекламу. фрагментарность. быстрее-быстрее. и прочее.
и программы стали фигнёй.
умоляли родоначальников жабы - похороните ее, иначе худо будет, нужно что-то другое.
нет. понеслось.

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

 
[^]
kotekote
27.09.2018 - 13:33
8
Статус: Offline


Ярила

Регистрация: 3.01.13
Сообщений: 1241
Real Racing 3 занимает около 4Гб, игра для мобильного устройства.
 
[^]
VampirBFW
27.09.2018 - 13:34
63
Статус: Online


Поварствующий радиоуправляемый сисадмин

Регистрация: 20.02.10
Сообщений: 8691
Цитата (Salex53 @ 27.09.2018 - 13:28)
Всем винду 95, диск на жесткий диск на 500 Мб и фидо!

Да юмор юмором, но объективно ТС прав. Что вашу мать так уж неипаццо сильно поменялось в том же блять сапере.ю просто ебучем сапере, и он вместо 100 килобайт памяти начал жрать 12. Там 3д модельки мин появились?



И так везде, слово оптимизация кода пошло просто нахуй. ЗАЧЕМ БЛЯТЬ! проще написать что программе нужно 100500 гектар оперативки. И все блять. А все просто. Раньше миром правили инженеры, а сейчас хуяк хуяк в продакшен блять.

Это сообщение отредактировал VampirBFW - 27.09.2018 - 13:35
 
[^]
vodka00121
27.09.2018 - 13:34
44
Статус: Offline


Приколист

Регистрация: 28.07.14
Сообщений: 377
фреймворки, написанный на других фреймворках, которые базируются на дерьме из обновления 089371
даже родные api операционной системы местами обложены двумя слоями говна, иногда глючного говна и никому до этого нет дела

 
[^]
AidaharA
27.09.2018 - 13:34
42
Статус: Offline


Где-то тут...

Регистрация: 10.05.17
Сообщений: 629
Подписываюсь под каждым словом копипасты. Говнокод покорил Мир.
 
[^]
dinulya
27.09.2018 - 13:42
71
Статус: Offline


Ярила

Регистрация: 23.12.09
Сообщений: 1608
Помню в начале, середине 90-х первая заповедь программиста гласила: Взял память, положи на место, а сейчас? 30-40 пропавших мегабайт?! да и хрен с ними !
 
[^]
dmitrino
27.09.2018 - 13:43
65
Статус: Offline


Весельчак

Регистрация: 5.09.18
Сообщений: 150
Меня удивляют разработчики, которые говорят "сейчас так не пишут", а когда спрашиваешь "а как?" - начинают задвигать про фрэймворки и прочее, в результате простейшая web-страничка сделанная на фрэймворке, весит в 100 раз больше, и грузится несколько секунд по локальной сети, чем то-же самое, но написаное руками, которое открывается сразу...
Поубывав-бы!
 
[^]
AidaharA
27.09.2018 - 13:43
19
Статус: Offline


Где-то тут...

Регистрация: 10.05.17
Сообщений: 629
Цитата (dinulya @ 27.09.2018 - 16:42)
Помню в начале, середине 90-х первая заповедь программиста гласила: Взял память, положи на место, а сейчас? 30-40 пропавших мегабайт?! да и хрен с ними !

30-40? Гигабайтами память засрана ненужными данными, которые кто-то не потрудился выпилить.

 
[^]
wanu
27.09.2018 - 13:47
26
Статус: Offline


Хохмач

Регистрация: 22.02.10
Сообщений: 715
кстати сказать, основную гору фигни породил Мелкомягкий. своими идиотскими альтернативными форматами, организацией дискового простраства (будто не было юникса с монтировкой), вижуалстудией, которая оторвала разработчиков от понимания кода и его компактности (и вообще, как оно всё происходит), с виндой, которая убивает веру в надежность и безопасность.
маркетологи вгрузили всем, что это все круто и хорошо. перетянули деньги и прочие ресурсы на виндосферу. а в результате - застой и разруха.
соревнование с Огрызком породило утрашище: Огрызок производит свое, уникальное. из дешевых деталей, но задорого. ширпотреб призван снижать стоимость из-за снижения затрат, в т.ч. на однотипности и стандартизации. но Огрузку-же неймется....
старые рабочие компы не поддерживаются им. на них приходится ставить Линух. в чем экология?
это постоянно во всём. ARM не может всем делать одинаково. он всем делает разно. назло. поэтому есть сотня армовских чипов, которые отличаются мизерной хренью, но под каждый нужно затачивать своё ядро. и это одна из основных затык, которая держит телефоны на андроиде. а не на линухе. потому как каждый раз с армом гемор. одних SDK под 2 десятка. не считая фирменных.
 
[^]
MNXA
27.09.2018 - 13:47
101
Статус: Offline


Приколист

Регистрация: 13.08.15
Сообщений: 218
Можно и я ложечку?
Вчера на Баше было. Прям один-в-один к предисловию копипасты.

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

user1> я не вижу велосипеда с квадратными колесами
user2> Такой сойдет? [фото с велосипедом с квадратными колесами]
user3> Часто за таким великом на верёвочке ещё тянется морской танкер, от которого в проекте нужны только красные кормовые огни, но разбираться с их принципом работы и разработкой таких же на велик было лень
user4> Доебись-кун отмечает, что красным на флоте и в авиации отмечается не корма, а левый борт.
user5> ...поэтому танкер тянется правым бортом вперёд.
user6> ...а если надо включить зеленый - танкер переворачивается вверх днищем.
user7> А зелёный не нужен.
user8> Но он не отключается. По этому на тот танкер положили ещё один приложив их правые борта друг к другу. Теперь во все стороны смотрят красные огни, как и было указано в ТЗ
 
[^]
OldBaboon
27.09.2018 - 13:47
18
Статус: Offline


Шутник

Регистрация: 3.02.17
Сообщений: 54
Им за объём кода построчно платят. В одном месте видел вместо цикла - 10 раз подряд один кусок кода
 
[^]
Solarvm
27.09.2018 - 13:51
9
Статус: Offline


Ярила

Регистрация: 5.09.16
Сообщений: 1060
Я перестал удивлятся этой тенденции лет 20 назад smile.gif Я сам не кодер, но иногда приходится дебажить чужое.
Сейчас поспрашивать - 95% программистов не имеют представления, что такое профайлер ВООБЩЕ.
 
[^]
Strangerr
27.09.2018 - 13:54
30
Статус: Offline


Tanstaafl

Регистрация: 26.09.13
Сообщений: 2022
Цитата (AidaharA @ 27.09.2018 - 13:34)
Подписываюсь под каждым словом копипасты. Говнокод покорил Мир.

Экономика говна © наконец-то практически полностью подмяла под себя и программирование. От этого и такие результаты.

ЗЫ: До сих пор лежит в утилитах простенькая программа DVD Shrink, написанная кем-то аж в 2004 году. Экзешник - 600 кбайт, шестьсот килобайт! Как-то ради любопытства запустил на 8-ми ядерном процессоре. Эта крошачная программка успешно загрузила все 8 ядер и, понятно, стала работать быстрее.
 
[^]
AidaharA
27.09.2018 - 13:55
29
Статус: Offline


Где-то тут...

Регистрация: 10.05.17
Сообщений: 629
Цитата (dmitrino @ 27.09.2018 - 16:43)
Меня удивляют разработчики, которые говорят "сейчас так не пишут", а когда спрашиваешь "а как?" - начинают задвигать про фрэймворки и прочее, в результате простейшая web-страничка сделанная на фрэймворке, весит в 100 раз больше, и грузится несколько секунд по локальной сети, чем то-же самое, но написаное руками, которое открывается сразу...
Поубывав-бы!

ОООО даааа.... Фреймворки, везде, что в web-окружении что в коде для бинарников. Некоторое время назад наш НИИ попытался работать с ПО которое писалось скажем так за бугром, и вот программа моделирующая определенные процессы, внезапно стала выжирать в системе 85% оперативной памяти, а это немного не мало полтора терабайта ОЗУ. Если сказать, что сотрудники ВЦ охуели, это не сказать ничего, поскольку на кластере параллельно работали другие расчеты.

Спросили у уважаемых западных кодеров: Собственно какого хуя?

Ответ: Мы применили новейший проприетарный фреймворк который на 10% улучшает производительность, за счет какой-то хрени, которая более интеллектуально работает с процессорной очередью и бла-бла...

Вот только ребятки видимо использовали наряду с этим мегафреймворком тяжелые наркотики, потому, как сам фреймворк очень любит складывать промежуточную очередь в ОЗУ, блокируя эти регистры к ебеням для использования другими потребителями и для самого себя в итоге сам выжирал память. Охуительная идея! в итоге, в стремлении к росту производительности софтины на 10% при работе с многопотоком, они похерили общую производительность софтины и системы в целом примерно на 70%. Заебись результат!

В итоге послали контору в означенном направлении. Сейчас работаем с МИФИ.

Это сообщение отредактировал AidaharA - 27.09.2018 - 14:04
 
[^]
Solarvm
27.09.2018 - 13:56
10
Статус: Offline


Ярила

Регистрация: 5.09.16
Сообщений: 1060
Цитата (wanu @ 27.09.2018 - 18:47)
кстати сказать, основную гору фигни породил Мелкомягкий. своими идиотскими альтернативными форматами, организацией дискового простраства (будто не было юникса с монтировкой), вижуалстудией, которая оторвала разработчиков от понимания кода и его компактности (и вообще, как оно всё происходит), с виндой, которая убивает веру в надежность и безопасность.

VC еще ладно...Borland породил толпы говнокодеров

А вообще уши растут из самой концепции RAD которая тянется еще с 80х. До начала 2000ых было еще терпимо, потом это переросло в то, что имеем сейчас.
По-моему только в разработке для embedded еще теплятся остатки оптимизации кода и "матана", непонятного среднему индусу %)
 
[^]
Laryx
27.09.2018 - 13:59
25
Статус: Offline


Ярила

Регистрация: 23.11.15
Сообщений: 9983
На мой взгляд, это результат все того же потреблядства в IT.

Рулит маркетинг. Не важно, что ты продаешь, важно, сколько ты получаешь выгоды. Если "чистый" код стоит дороже "грязного", а выглядят они одинаково - то "зачем платить лишнее" ?

Пока пользователи покупают все более и более навороченные аппараты - никто не будет заботиться об эффективности софта.
 
[^]
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста, или зарегистрируйтесь, если не зарегистрированы.
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) Просмотры темы: 43671
0 Пользователей:
Страницы: (13) [1] 2 3 ... Последняя » [ ОТВЕТИТЬ ] [ НОВАЯ ТЕМА ]


 
 



Активные темы








Наверх