Программисты, ну как так-то? :(2

Программисты, ну как так-то? :(
Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий
Можно линк?
раскрыть ветку (5)
раскрыть ветку (4)
Автор поста оценил этот комментарий

А, ты про это. Забыл уже вообще за далвик) Ну всё равно я прав, вес приложения не влияет на скорость запуска. ты можешь написать приложение хоть на 500 мб, но если стартовый экран будет простой - запускаться оно будет столько же, сколько и приложение на 1.2 мб

раскрыть ветку (3)
1
Автор поста оценил этот комментарий

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

раскрыть ветку (2)
Автор поста оценил этот комментарий

блин, я забыл одно предложение дописать. Далвик не используется начиная с 4.4. Я говорю про версии 5+

раскрыть ветку (1)
34
Автор поста оценил этот комментарий

Верно. Но, не только это. Есть еще и подход, который вырос из требований рынка. Тот же Agile и SCRUM появились не просто так. Это ответ на запрос рынка: сделайте нам быстро и красиво, и похуй сколько это будет весить (цена производительности железа все время летит вниз), главное - сколько будет цена и скорость вывода продукта на рынок.

Жизненный цикл продукта сегодня стремительно сокращается. Скорость запуска гораздо важнее других характеристик, так как "кто раньше встал того и тапки". А продукт уже через год можно на помойку выбрасывать. Именно поэтому Agile предлагает отказаться от классической модели проектирования - водопадной. В agile нет этапов проектирования, документировании и тестирования в том объеме, который есть в водопадной модели. Это логично, ведь когда на кону стоит только одно требование - быстро запуститься, то тебе не нужно ни проектировать, ни документировать, ни тестировать - весь ЖЦП будет сопровождать одна и та же команда разработчиков. Именно это изменение модели потребовало новых специалистов-многостаночников: T-shaped и devops. Нет экономического смысла разделять труд на специальности, если продукт проживет полгода. Дешевле взять середнячка, но нагрузить его обязанностями смежными с его основной задачей, он будет жрец-жнец-и на дуде игрец. Это будет примерно как таджик-строитель. Умеет все, но по чуть-чуть, и без опыта. 95% потребностей в ИТ сегодня - это быстроживущие приложухи. Проблемы от кривого кода компенсируется отлаженными фреймворками и библиотеками, а гигансткий вес этих библиотек компенсируется дешевым железом. Ровно поэтому Курцвейл и предсказал, что в 2030 году программистов не останется, они будут не нужны - все будут делать "продвинутые пользователи" с помощью жирнючих IDE и нейросетей.

раскрыть ветку (28)
8
Автор поста оценил этот комментарий

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

раскрыть ветку (21)
43
Автор поста оценил этот комментарий

Водопад был, есть и будет всегда. Но, только там, где нужны определенные цели. Каскадная модель это достижение индустрии, наравне с ООП. Военные до сих пор грузят коды с флоппи-дисков на 8". Системы управления газопроводами до сих пор работают на машинных кодах Siemens 1960-х годов. Куча банков на западе работает до сих пор на COBOL. И так далее. Там и оборудование соответствующее. Если область АСУ ПХД и развивается стремительно, то АСУ ТМ - нет. Там нужна надежность, практичность, долговечность. До сих пор никуда не делся протокол RS-485, хотя RS-232 давно сдох. По той же причине - 485 используется в промышленности, а ведь это близнецы братья.

Почему водопад не работал с 90-х? Очень просто ))) Это он у нас не работал с 90-х. На западе он не работал с середины 70-х. Просто, запад к нам пришел именно в 1991-93гг., вместе со своими моделями бизнеса, управления и производства. А что произошло в середине 1970-х? Ямайская конференция )))

С 1944 по 1976 годы в мире правила бреттон-вудская валютная система: доллар как мировая валюта, основанная на золотом запасе США (большая часть золота даже не своя, но, типа, под надежной охраной от злых коммуняк). В 1965 году Шарль де Голль нагнул США, и вывез "свое" золото из их закромов на родину. Это послужило старту новой денежной политики международных банкиров под управлением США, которая завершилась в 1976г (а окончательно утвердилась в 1978 г) на ямайской конференции (а то ведь можно и остальное золото проебать!). В чем суть "ямайского" доллара мы теперь хорошо знаем - он ничем не обеспечен ))) а значит, его можно и печатать сколько хочешь, и воровать сколько угодно. Но! Просто так воровать нельзя (по определенным причинам), надо создать инструменты. Типа, оффшоров, фондов, изменения правил работы бирж, и т.д. Это на несколько постов получится ))) поэтому, буду краток.

В экономике предприятий (микроэкономике) есть две статьи расходов: CAPEX и OPEX. Капзатраты и оперционные расходы. При этом, у нас имеется фондовый рынок, где мы можем добыть, отмыть, похоронить и т.д. любое количество денег! Возникает соблазн ))) а не спиздить ли нам денег из собственного предприятия, чтобы нам за это ничего не было? Можно! )) так рождаются целые отрасли стирки бабла. Из которых самой чистой, и при этом очень прибыльной, остается накачка капитализации компании (CAPEX). Фондовому рынку без разницы влила ли компания бабки в новый прокатный стан, или в покупку софта. Только, прокатный стан занимает цех длиной в километр, а софт - это просто лицензионный ключ, цифры на клочке бумаги. Их никто, и никогда не в состоянии проверить. Поэтому, и те и другие затраты немедленно отразятся на стоимости бумаг компании на ФР. Этим и объясняется взлет ИТ индустрии после ямайской конференции.

Теперь, когда чуть понятнее про экономику, давайте посмотрим на взлет первых ИТ гигантов. Майкрософт, САП, Оракл... Все они - выходцы из ИТ монстра, IBM. Википедия нам травит байки о гениальных инженерах, которые "почувствовали" перспективы, уволились и основали свои компании. Вики даже не скрывает тот факт, что все они вышли с наработками, которые делали внутри IBM и за деньги IBM. Это что за лоховской монстр такой? ))) Который растерял столько "талантов". А теперь посмотрите на даты создания этих компаний? С 1972 по 1976. Это не было бегство "талантов". Это был целенаправленный вывод перспективных и доходных бизнесов в офшоры, из под крыла родительской компании, которая была под строгим надзором у налоговой США. Вот и вся суть )))

Теперь детали. Та же САП, разродилась софтом, который можно тиражировать, а не писать заново под каждую компанию. При этом, ей (не случайно) удалось сохранить стоимость внедрения такую же, как и в случае разработки. Случайно это? Ну, конечно нет. Если вы технарь, то смотрите на САП со стороны инженера, а если генеральный директор, то со стороны бизнеса. Почему бизнес готов платить за проект на САП 100 000 000 долларов, а на 1С не готов? Дело не в технических деталях. А в том, что САП получив оплату, тут же занесет обратно половину стоимости проекта. При этом, никакая госслужба не сможет доебаться до сделки. Воруй, но через покупку нашего софта. Поэтому, чем дороже стоит сап, тем охотнее его будут покупать богатые компании. А, раз такое дело, то зачем нам качественно внедрять то, что уже принесло доход? Тут нюанс ))) Запад же не дикий, а цивилизованный. На каждом этапе должен быть акт приема-передачи. Поэтому, владелец компании получает возможность спиздить из оборотных средств, но он должен поделиться с генеральным директором, который ставит свою подпись. Иначе, тот сдаст владельца. Так генеральный выбирает "подрядчика", в лице доверенной консалтинговой компании, тем тоже надо спиздить, иначе на откат генеральному не хватит. И они раздувают штат консультантов. Работают пятеро, а продаются все 100 человек. По бумагам - не доебешься. Все чисто. А по факту - миллиардные проекты торчащие в жопе. Зато, и консультантам на египет хватает - с каждым годом зарплаты растут! Ведь, за консультантов на рынке серьезная драка. И это понятно, когда я работал консультантом, моя ЗП была 3000$ в месяц, но мой рабочий день для клиента стоил 1720 евро в день! Не сложно выдать рабу дольку размером с пару % )))

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

Извините, за длинный комментарий )))

раскрыть ветку (20)
8
Автор поста оценил этот комментарий

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

Винстон Ройс - автор этой модели. В 1970 году он написал статью "Managing the development of large software systems". В этой статье подобный подход был представлен. И в этой же статье говорилось, что это очень рискованный и ненадежный подход. Сам Ройс между прочим продвигал итеративный подход.

В 1988 году американский военные внедрили этот подход в своем стандарте DOD-STD-2167.

Ну и там плюс-минус после этого все расползлось везде.

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

раскрыть ветку (1)
3
Автор поста оценил этот комментарий

Имхо, тут бесполезно объяснять - он либо теоретик, либо работал именно в той области которая подходит под водопад.

7
Автор поста оценил этот комментарий

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


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


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


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

раскрыть ветку (2)
12
Автор поста оценил этот комментарий

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

Давайте, я соглашусь с Вами, и на этом разойдемся? )

раскрыть ветку (1)
8
Автор поста оценил этот комментарий
Я никак Вам не смогу объяснить, это раз. Я не хочу портить Ваш инженерный взгляд, это два.

А вы и не пытались. Набросили стандартной конспирологии с видом знатока и свалили в закат.

10
Автор поста оценил этот комментарий

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

раскрыть ветку (5)
8
Автор поста оценил этот комментарий

Спасибо )) не менее удивительный комментарий )))) в реальный анализ сейчас мало кто умеет.

раскрыть ветку (4)
8
Автор поста оценил этот комментарий
чел, даже я понял…а я, как-бы, не должен был)
раскрыть ветку (3)
6
Автор поста оценил этот комментарий

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

раскрыть ветку (2)
1
Автор поста оценил этот комментарий
ахахах.., да не, просто вполне доступно написано))
Автор поста оценил этот комментарий

Очень похоже на стиль легендарных статей интегратора ultima erp ))

3
Автор поста оценил этот комментарий
хотя RS-232 давно сдох

RS-232 крайне активно используется в современном сельском хозяйстве. Частично в геодезии

раскрыть ветку (1)
Автор поста оценил этот комментарий

Спасибо за поправку! То есть, тоже в промышленности используется.

3
Автор поста оценил этот комментарий
Дело не в технических деталях.

Пруфы будут?

раскрыть ветку (4)
Автор поста оценил этот комментарий

О, да! Погодите, сейчас найду признание владельцев САП известному телеканалу )))

раскрыть ветку (3)
1
Автор поста оценил этот комментарий

То есть пруфов нет и это просто конспирологическая графомания.


ЗЫ. И да, покажите класс, скажите "ну вот буду я ещё что-то доказывать/мне лень тратить на вас время/вы всё равно не поймёте/умный сам обо всём догадается/...".

раскрыть ветку (2)
Автор поста оценил этот комментарий

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

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

раскрыть ветку (1)
Автор поста оценил этот комментарий
К тому же, у Вас истерика.

У меня, ага.


А вообще, спасибо за демонстрацию - вы отлично подтвердили мои тезисы.

1
Автор поста оценил этот комментарий

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

Автор поста оценил этот комментарий
Все чётко, по теме он даже не длинный.. норм..
4
Автор поста оценил этот комментарий

Крайне не согласен с тем, что программистов не останется. Они были, если, и будут, просто спектр задач изменится. На данный момент программисту какой инструмент не дай - найдёт миллион способов сделать плохо. И это не изменится, потому что дело не в инструментах, а в том, как их использовать, а для этого нужны навыки, внезапно, программирования (я сейчас не про циклы for / while, а более высокоуровнево).

раскрыть ветку (5)
2
Автор поста оценил этот комментарий
Дело не в плохо, и глобально- даже не в навыках.. дело в подходе бизнеса к оценке резработки... Бизнесу надо хуяк-хуяк и пошел поток денег, но хорошо с таким подходом получается почти никогда- всегда костыли, ходящие на костылях...
раскрыть ветку (4)
2
Автор поста оценил этот комментарий

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

раскрыть ветку (3)
Автор поста оценил этот комментарий

Программист ничего не решает. Какой смысл втыкать костыль, если, допустим, приложение решили на электроне писать.

раскрыть ветку (2)
Автор поста оценил этот комментарий

Ну кто-то же решил его на электроне писать :) уж точно не бизнес. Но да, принимающих решение людей сильно меньше, чем тех, кому потом с этим жить.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Ну у нас был менаджыр который сам особо не шарил, но вдохновлялся передовым опытом передовых компаний. Моя игруля на первом айпаде написанная за 2 месяца 60 фпс выдавала, но потом после аудита недоделанного проекта решили переписать на юнити (наверно их напугали мои таблицы взаимодействий объектов засунутые в огромные массивы) и оно тупило даже на 4м айпаде. Переписывали командой 4 человека в течение 6 месяцев. Хз зарелизили или нет, прилага текла :-)

4
Автор поста оценил этот комментарий
Да и не только с телефонами, на компе нынче пиксельная инди игра весит как кризис первый в свое время
раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Это между прочим 4K пиксель!

16
DELETED
Автор поста оценил этот комментарий
Аджаил: нужно делать быстро и меняться на ходу. Ты не можешь делать всё отлично, вылизывать приложение и выпускать идеально написанный продукт потому что пока ты будешь этим заниматься твои конкуренты выпустят пусть и сырой, но продукт, который будет продаваться, собирать фидбек и гибко развиваться в нужном направлении.
раскрыть ветку (2)
17
Автор поста оценил этот комментарий

Аджайл, хуеджайл, именно поэтому современный софт хуже старого?


Эверноут 10 лет назад работал на 4 айфоне, а сегодня тормозит на 12-м и урезали функции. Наверное, это пользователи просили урезать функции и АДЖАЙЛ-ДЕВЕЛОПЕРЫ послушали?


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


Видел, сколько весит Quake 3 и на каком старом железе его можно запустить? А это блять полноценная 3д игра с полигонами, освещением, сетевым режимом. Это поебаться надо, чтобы такую сделать, это тебе не сидеть по вайтборду маркером елозить. А сейчас сраные сайты с двумя картинками грузятся дольше и весят больше, чем эта великая игра.

раскрыть ветку (1)
14
DELETED
Автор поста оценил этот комментарий
Да, это именно аджайл. Не нравится? Не юзай. А если ты ругаешься, плюёшься, но юзаешь, то это и будет так продолжаться. Потому что аджайл подразумевает выпуск на рынок сырого продукта. Потому что он все равно приносит деньги. А вот если это работать перестанет, то так и делать не будут.
И не надо тут на меня слюной брызгать, я тебе говорю как оно работает, а не кого-то отмазываю. И сам я работаю в QA, уж поверь, я иным разрабам намного интереснее эпитеты придумаю чем ты.
38
Автор поста оценил этот комментарий

где-то читал, что компании предпочитают нанимать нескольких средних программистов, вместо одного гуру. Поскольку гуру со временем начинает все больше просить, и когда уходит, то проект практически встает.

раскрыть ветку (70)
55
Автор поста оценил этот комментарий

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

раскрыть ветку (63)
45
Автор поста оценил этот комментарий

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


У приложения А фреймворк на 50 метров, у приложения Б тот же фреймворк на 50 метров, и у приложения В тоже фреймворк на 50 метров.


Итого 150, хотя могло быть 50.

раскрыть ветку (61)
30
Автор поста оценил этот комментарий

Сама ОС умеет в переиспользование. И попытки были. Но всё ломается об версионирование: даже в процессе сборки разрулить версионирование транзитивных зависимостей бывает не просто, то если попробовать повторить это уже на устройстве пользователя - полное досвидания.

раскрыть ветку (33)
6
Автор поста оценил этот комментарий

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


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

раскрыть ветку (21)
7
Автор поста оценил этот комментарий

Это тупо не интересно бизнесу.

Мейнтейнеры всяких linux дистрибутивов тратят сотни человекочасов что бы поддержать пакеты в актуальном состоянии, и то иногда ломается. И версии не всегда очень то и актуальные. А теперь наложить это на миллион и одну либу всяких web, java, {что угодно}, которые обновляются регулярно...

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

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

3
DELETED
Автор поста оценил этот комментарий

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

И вся эта ебатьня чтобы 30мб сэкномить на устройстве.


Намного проще оптимизировать не либы а ресурсы/иконки/картинки.

2
Автор поста оценил этот комментарий

Вот маленький пример как это бывает, я про версионность и популярные пакеты:

Нужно было на джаве написать парсер для json, в рамках автотестов. Полез читать про jackson, потом про gson. Обратился к другу. Друг говорит: это все хуйня, смотри, вот я сам написал свой пакет, который парсит json.

Автор поста оценил этот комментарий

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


А самое главное тенденция уходить от общих библиотек далеко не только на андроиде - docker, snap, у MS виртуальные приложения (офис тот же), в MacOS вроде с самого начала так и т.д.

раскрыть ветку (17)
2
Автор поста оценил этот комментарий

snap и AppImage - раковая опухоль на теле линукса, docker мягко говоря не для десктопа делался и на серверах он действительно оправдан (как минимум из-за наличия публичных облаков типа GKE, да и непубличных тоже).


А есть ещё, например, nixos, который делает для каждого пакета свое "виртуальное окружение", но не тупым копипастом, как в AppImage, а более-менее нормально.

раскрыть ветку (16)
2
Автор поста оценил этот комментарий

Ох уж этот snap и flatpack туда же. Скачаешь аудиоплеер, но он не имеет доступа никуда: сетевые ресурсы - фигушки, монтируй их как локальные папки, глобальные горячие клавиши - фигушки, и хорошо если плеер имеет функцию их перехвата и настройки. Да и сами плееры это отдельный капец. Я, как избалованный AIMP на винде и ведроиде, офигел, покопавшись в некотором количестве популярных аудиоплееров для ubuntu и не найдя в них элементарных вещей вроде поиск по плейлисту, сортировка по дате изменения файла (есть лишь по дате в тэгах id3), отображения обложки альбома из тех же тэгов и т.д.

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

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

раскрыть ветку (7)
2
Автор поста оценил этот комментарий
А зачем вообще юзать снап? Apt-get пушка
раскрыть ветку (6)
Автор поста оценил этот комментарий

Потому, что не все есть в apt репозиториях, а как установить из tar я что-то не понял до сих пор, по инструкции из гугля установилось только единицы программ, остальные что-то не хотят.

раскрыть ветку (5)
Автор поста оценил этот комментарий
snap и AppImage - раковая опухоль на теле линукса

Почему?

А есть ещё, например, nixos, который делает для каждого пакета свое "виртуальное окружение", но не тупым копипастом, как в AppImage, а более-менее нормально.

И хоть я и слышу об этом в первый раз, на 100% уверен что там свои косяки.

раскрыть ветку (7)
1
Автор поста оценил этот комментарий

> Почему


Вам уже ниже написали, от себя добавлю про OpenGL и несовпадения в версиях библиотек образа и версии драйвера в хост-системе.


>И хоть я и слышу об этом в первый раз, на 100% уверен что там свои косяки


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

раскрыть ветку (6)
1
Автор поста оценил этот комментарий
Вам уже ниже написали
То что там написали большей частью сводится к косякам со сборкой пакетов. И это меркнет и бледнеет в сравнении с попыткой поставить каким-нибудь apt пакет из более свежего релиза линукса.
Все тупые и не лечатся, один вы умный в белом пальто стоите красивый. Куда уж там разработчикам системы до комментаторов на пикабе.

О, а давайте вы тогда будете последовательны и примете как данность snap и appimage? "Разработчики системы" делали же, куда им до какого-то комментатора с пикабу в белом пальто, да?

раскрыть ветку (5)
Автор поста оценил этот комментарий

Не безопасно, совсем.

DELETED
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
Автор поста оценил этот комментарий

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

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

В ондроедах? Всегда в рантайме, если зависимость транзиитивна:

- Ваш код зависит от библиотеки А и Б.

- Библиотека А зависит от библиотеки С версии 1

- Библиотека Б зависит от библиотеки С версии 2

Дальше в зависимости от способа резолва конфликтов версий в вашей билд-системе, или же в случае ручного разрешения конфлитка, вы получаете библиотеку С версии 2.

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

раскрыть ветку (6)
Автор поста оценил этот комментарий

можешь привести пример, когда А и Б библиотека зависит от внешней С, и эта зависимость не прописана уже в ИХ градлах/мавенах? Именно ондроед библиотеки. Ни разу не встречал такого, что для работы библиотеки А требует библиотека С. Почему не прописать эту зависимость сразу, при написании либы? Ну и ладно, вопрос  не в этом. Такие конфликты всплывут именно при сборке. В рантайме что-то может всплыть если используется рефлексия

раскрыть ветку (5)
Автор поста оценил этот комментарий

Так они прописаны в зависимостях, и? Конфликт версий никуда не делся. И в зависимости от настроек conflict-resolution того же грэдла, стратегия их разрешения либо зафейлиться (что хорошо), либо взять старшую версию (что как минимум долгое время было дефолтным поведением, сейчас не знаю).

И даже если оно зафейлится при билде, резолвить вы будете либо ручным выбором одной из версий (и удачи вам проверить все кейсы), либо запакуете обе версии jarjar'ом или shadowjar'ом.

раскрыть ветку (4)
Автор поста оценил этот комментарий

да, ты прав. К своему стыду не знал об этом. Думал, градл должен уметь в разные версии одной и той же зависимости

раскрыть ветку (3)
Автор поста оценил этот комментарий

Грэдл ничего чудесного не делает. Если специально не приседать, то он просто скачает вам jar'ки, а всё остальное работает стандартными механизмами, как если бы эти jar'ки ручками сложили.

раскрыть ветку (2)
6
Автор поста оценил этот комментарий

И зачем оно надо? Из-за экономии на спичках получаешь очередную инкарнацию dll-hell. НА-ХУ-Я?

раскрыть ветку (9)
1
Автор поста оценил этот комментарий

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


А про DLL hell - итерация номер два, для справки - во всех современных менеджерах зависимостей есть такое понятие, как "версия". А у разработчиков библиотек, как минимум, у самых основных и популярных, есть такое понятие, как прямая и обратная совместимость Уже 20 лет как не один вы знаете о такой проблеме.

раскрыть ветку (8)
1
Автор поста оценил этот комментарий
Про спички расскажите авторам таких постов и тем, кто отметился здесь в комментах, они вас наградят множеством ласковых и добрых слов. Один сбербанк, второй сбербанк - и минус гигабайт.

Ой какой ужас. Аж 300 мегабайт съели, вместо 250.

А про DLL hell - итерация номер два, для справки - во всех современных менеджерах зависимостей есть такое понятие, как "версия".

Ага, и как много "современных менеджеров зависимостей" способны работать с множественными установленными версиями библиотек (ну, кроме винды)? Потому что вроде любая попытка поставить что-то, не скомпилированное конкретно под этот релиз линукса всегда была болью. Пока не появились snap'ы.

раскрыть ветку (7)
Автор поста оценил этот комментарий
А что мешало сделать make compile?
раскрыть ветку (6)
1
Автор поста оценил этот комментарий

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

раскрыть ветку (5)
Автор поста оценил этот комментарий
Поставь в виртуал бокс клон боевой системы, скомпилируй там пакет.
Зависимости в любом случае ставить, но либо только лишь отсутствующие либо тащить всей кучей лишние либы.
Меня лично пиздец злит, что современный одностраничник весит как ебаный Мега-портал 10 лет назад. IPB весил 200мб весь, если мне память не изменяет. Сейчас лендинг может весить 500
раскрыть ветку (4)
Автор поста оценил этот комментарий
Поставь в виртуал бокс клон боевой системы, скомпилируй там пакет.

И на каждом сервере так. Зачем мне всё это счастье, если я могу просто один раз написать скрипт докера и потом всё устанавливать одной командой?

Меня лично пиздец злит, что современный одностраничник весит как ебаный Мега-портал 10 лет назад. IPB весил 200мб весь, если мне память не изменяет. Сейчас лендинг может весить 500

И что с того? Стремиться минимизировать размер - это какая-то борьба ради борьбы, никакой пользы сейчас от этого (в 99.9% случаев) нет.

раскрыть ветку (3)
3
Автор поста оценил этот комментарий

Вот ты сам и есть этот мемный программист. Старые прогеры знают про DLL-hell и зачем придумали COM.

раскрыть ветку (14)
1
Автор поста оценил этот комментарий

Я прекрасно знаю, что такое DLL hell, и потому мой комментарий ниже целиком посвящен вопросам версионирования.

раскрыть ветку (13)
3
Автор поста оценил этот комментарий

Ну и как ты узнаешь, есть ли на телефоне клиента нужная либа? И как ты будешь её подтягивать туда, если нет?

Включишь её в инсталлер? И вуаля, вот твои 350 метров установщика.

раскрыть ветку (12)
1
Автор поста оценил этот комментарий

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


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

раскрыть ветку (11)
2
Автор поста оценил этот комментарий

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

раскрыть ветку (4)
Автор поста оценил этот комментарий
Да, как в Линукс. Но даже в Линукс набирает популярность использование snap, flatpak, appimage - это когда все либы по зависимостям упаковывают в один пакет.
раскрыть ветку (3)
2
Автор поста оценил этот комментарий

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

Один метод изменили, второй объявили Deprecated, в третьем исправили баг, в результате чего тоже что-то сломалось.

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

раскрыть ветку (2)
1
Автор поста оценил этот комментарий

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

Во-первых, КОМУ он будет принадлежать?

Во-вторых, КТО согласится, чтобы в фоновом режиме что-то там к нему на телефон подтягивалось само?

раскрыть ветку (4)
3
DELETED
Автор поста оценил этот комментарий

Во-вторых, КТО согласится, чтобы в фоновом режиме что-то там к нему на телефон подтягивалось само?
КЕК

раскрыть ветку (3)
Автор поста оценил этот комментарий

На йух

раскрыть ветку (2)
Автор поста оценил этот комментарий
Андроид уже от APK отказывается, там теперь только нужные части будут ставится
Автор поста оценил этот комментарий
Лол, щас бы не уметь пользоваться градлом и ныть о том, что это невозможно
Автор поста оценил этот комментарий

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

Автор поста оценил этот комментарий

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

Автор поста оценил этот комментарий

Ну это компании, в которых денег на одного гуру.

ещё комментарии
7
Автор поста оценил этот комментарий

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

7
Автор поста оценил этот комментарий

бля, я думал фреймфорк это когда он в системе стоит и приложуха его пользует. т.е. сама приложуха его в себе не содержит. откуда блядь там 400Мб?

раскрыть ветку (13)
15
Автор поста оценил этот комментарий

Не, такой подход хейтить начали с самого начала ) И гемора огромное количество. Сча наоборот практически всегда его с собой тащат, так проще и надежнее

раскрыть ветку (9)
15
Автор поста оценил этот комментарий

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

раскрыть ветку (6)
Автор поста оценил этот комментарий
Так в линуксе пакетные менеджеры существуют плюс минус только сколько существует андроид, если не значительно больше.
Apt/apt-get довольно хорошо ставит любые приложения. Хорошие гуи пакетники так же работают через apt.
Snap я видел в Гайдах еще 10 лет назад, но все равно использовал апт вместо него.
Зависимости подтягиваются автоматически, в чем проблема то
раскрыть ветку (5)
Автор поста оценил этот комментарий

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

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

раскрыть ветку (4)
Автор поста оценил этот комментарий

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

Автор поста оценил этот комментарий
Ни раз не встречался с такой ситуацией, как ее смоделировать?
раскрыть ветку (2)
Автор поста оценил этот комментарий

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

Проблема с dwb например была - в рамках другого пакета обновлялся хромиум, после чего dwb стабильно падал с SEGFAULT при запуске.

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

раскрыть ветку (1)
Автор поста оценил этот комментарий
Хромиум фу бе.
А кад программы под иксы это весело конечно.
2
Автор поста оценил этот комментарий

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

А фреймворк типа тоже весь в приложение пихают, только нужные компоненты, не?

раскрыть ветку (1)
9
Автор поста оценил этот комментарий

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

7
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
Автор поста оценил этот комментарий

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

Автор поста оценил этот комментарий

Все именно так, комментатор выше спорол херню

2
Автор поста оценил этот комментарий
Смотри внимательно на скрин. Чувак показывает вес приложения в телефоне, а не в playmarket или appstore. А это означает, что он активно серфит ленту и кэширует данные.
раскрыть ветку (1)
Автор поста оценил этот комментарий

активно и бездумно )

2
Автор поста оценил этот комментарий

А вы готовы платить не условные 300 рублей за приложение на телефон, а, скажем, 3к?

Т.к. сложность разработки без готовых фреймворков и библиотек вырастает минимум на порядок. Скорость разработки напрямую влияет на итоговую стоимость продукта. Вот сейчас сделать приложение, допустим, того же сбербанка но весом в 10 метров - и кому оно надо будет при тех затратах на разработку, если чтоб отбить затраты за него ценник выставят в 500 рублей, а за 350 мегабайт - бесплатно?

раскрыть ветку (2)
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Сравнение некорректно.

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

2) многое зависит от железа. В современных телефонах до сих пор во многих стоит довольно медленная память, отсюда и долгие загрузки.

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

4) в процессе разработки НЕИЗБЕЖНЫ факапы и некоторый процент костылей. И не всегда их потом можно дёшево и быстро отрефакторить.


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

2
Автор поста оценил этот комментарий
И Пикабушечка туда же...
Иллюстрация к комментарию
раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Так там кэш всякий еще

Автор поста оценил этот комментарий

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

Автор поста оценил этот комментарий

Блять и тут всё из-за бабок

Автор поста оценил этот комментарий

потому что ебучее пространство на телефоне не стоит нихуя. Хотите оптимизированные приложения -- получите подписку на интернет-банк за 1000 рублей в месяц и обновления два раза в год.

Автор поста оценил этот комментарий
Чтобы собрать фронт, давайте-ка скачаем 1,5 гига сраных либ и на выходе получим 15мб... К сожалению без фреймворков никуда, но их нужно правильно готовить и не тянуть все что нужно лишь на этапе сборки.
раскрыть ветку (2)
DELETED
Автор поста оценил этот комментарий

кек, а вы видели дерево зависимостей гигового фронта? :) И это все пихают в докер образ

раскрыть ветку (1)
Автор поста оценил этот комментарий
Я со всей этой дичью работаю, много чего повидал)
Автор поста оценил этот комментарий
Точно. Ебучие. Хуй пойми как они работают, хуй пойми почему, хуй пойми как используют. А иногда он остаётся в приложении как историческая зависимость.
Автор поста оценил этот комментарий

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

Автор поста оценил этот комментарий

судя по звуку юайщик.

ещё комментарии
1
Автор поста оценил этот комментарий
Ну а в целом смысл заострять на этом внимание? Если бюджетники сегодня вполне годные с 64-128 памятью за 11-13к
1
Автор поста оценил этот комментарий
лучше бы бизнес экономил на з\п программистов
Автор поста оценил этот комментарий

переведите на непрограммерский язык, пожалуйста

Автор поста оценил этот комментарий

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

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку