Минимизировать shared компоненты
От: Kingofastellarwar Украина  
Дата: 17.11.15 20:45
Оценка: 1 (1) +2 -1 :)
по сути от DLL и подобных шутк толку не так ух и много, а проблем много
ибо даже в пределах компании базовые библиотеки всё равно должны быть намертво прилинкованы/зареференсены к конкретному продукту и обновлять шаред либы без продукта всегда опасно,
поэтому смысл во всех этих Common Files по моему никакой
а что если перейти на модель чтобы АПИ операционки был минимальный, а проги таскали с собой все компоненты которые им нужны
все равно 4 мб или 40 не большая проблема уже, я так понимаю, даже чтото типа .net фреймвока наверно не беда с собой таскать
в этом плане наверно можно даже много прикладной логики из ОС АПИ отдать юзеру, пусть сам реализует как хочет
Я изъездил эту страну вдоль и поперек, общался с умнейшими людьми и я могу вам ручаться в том, что обработка данных является лишь причудой, мода на которую продержится не более года. (с) Эксперт, авторитет и профессионал из 1957 г.
Re: Минимизировать shared компоненты
От: Vladek Россия Github
Дата: 17.11.15 21:00
Оценка: +2
Здравствуйте, Kingofastellarwar, Вы писали:

K>а что если перейти на модель чтобы АПИ операционки был минимальный, а проги таскали с собой все компоненты которые им нужны

K>все равно 4 мб или 40 не большая проблема уже, я так понимаю, даже чтото типа .net фреймвока наверно не беда с собой таскать
K>в этом плане наверно можно даже много прикладной логики из ОС АПИ отдать юзеру, пусть сам реализует как хочет

Именно эту идею я наблюдаю в мире .NET прямо сейчас. Проекты для UWP и для .NET Core таскают зависимости вместе с собой.
Re: Минимизировать shared компоненты
От: AlexRK  
Дата: 17.11.15 21:45
Оценка:
Здравствуйте, Kingofastellarwar, Вы писали:

K>по сути от DLL и подобных шутк толку не так ух и много, а проблем много

K>ибо даже в пределах компании базовые библиотеки всё равно должны быть намертво прилинкованы/зареференсены к конкретному продукту и обновлять шаред либы без продукта всегда опасно,
K>поэтому смысл во всех этих Common Files по моему никакой
K>а что если перейти на модель чтобы АПИ операционки был минимальный, а проги таскали с собой все компоненты которые им нужны
K>все равно 4 мб или 40 не большая проблема уже, я так понимаю, даже чтото типа .net фреймвока наверно не беда с собой таскать
K>в этом плане наверно можно даже много прикладной логики из ОС АПИ отдать юзеру, пусть сам реализует как хочет

В принципе, я тоже считаю, что это гораздо более лучший вариант по сравнению с DLL/SO и всякими долбаными "фреймворками".
Но на стороне DLL — возможность автоматического обновления сразу всех программ, даже заброшенных авторами. Правда, не факт, что такое обновление их не сломает (собственно, зачастую и ломает).
Как бы придумать такой вариант, чтобы только дырки залатывать в существующем коде...
Re: Минимизировать shared компоненты
От: Mamut Швеция http://dmitriid.com
Дата: 18.11.15 05:42
Оценка: +1
K>а что если перейти на модель чтобы АПИ операционки был минимальный, а проги таскали с собой все компоненты которые им нужны

Так в принципе сделано в МакОСи (см. Bundles): каждое приложение — это на самом деле директория, содержащая все, что нужно этому приложению для работы. При желании туда можно упаковать все (например, последние версии IDEA упаковывают свои версии JVM)


dmitriid.comGitHubLinkedIn
Re: Минимизировать shared компоненты
От: Sinix  
Дата: 18.11.15 06:58
Оценка:
Здравствуйте, Kingofastellarwar, Вы писали:

K>а что если перейти на модель чтобы АПИ операционки был минимальный, а проги таскали с собой все компоненты которые им нужны


Уже. Для .net core apps всё, включая рантайм подтягивается через nuget. У пользователей каждое приложение ставится в свою песочницу и соседям не мешает, всё общение — только через регистрируемые протоколы.
Re: Минимизировать shared компоненты
От: Философ Ад http://vk.com/id10256428
Дата: 18.11.15 21:54
Оценка: +1 -1
Здравствуйте, Kingofastellarwar, Вы писали:

K>ибо даже в пределах компании базовые библиотеки всё равно должны быть намертво прилинкованы/зареференсены к конкретному продукту...


кому должны, почему должны?

K>а что если перейти на модель чтобы АПИ операционки был минимальный, а проги таскали с собой все компоненты которые им нужны

Оно и так достаточно маленькое. Далеко ты уедешь без CreateFile() LoadLibrary() CreateWindow() (и т.п.)? А многие продукты только ими (примитивными API) и обходятся. Я в этом смог лично убедиться, когда поковырялся с Windows AIK.

K>все равно 4 мб или 40 не большая проблема уже, я так понимаю, даже чтото типа .net фреймвока наверно не беда с собой таскать

Если каждая софтина, даже такого плана как Notepad++ растолстеет в 10 (и более раз), то никаких SSD на них не напасёшься.

K>в этом плане наверно можно даже много прикладной логики из ОС АПИ отдать юзеру, пусть сам реализует как хочет

Что например? Какая прикладная логика?
Уж не понимаешь ли ты под прикладной логикой парсинг и валидацию XML/JSON/INI/RTF/ZIP, а так же отображение битмапов, курсоров, рисование шрифтов...?

Может быть ты имеешь ввиду такую прикладную логику как, например, диалог открытия файла/выбора шрифта/сообщения об ошибке?
Всё сказанное выше — личное мнение, если не указано обратное.
Отредактировано 18.11.2015 21:57 Философ . Предыдущая версия .
Re[2]: Минимизировать shared компоненты
От: Ops Россия  
Дата: 18.11.15 23:24
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Если каждая софтина, даже такого плана как Notepad++ растолстеет в 10 (и более раз), то никаких SSD на них не напасёшься.

В 10 не растолстеет, при статической линковке неиспользуемые части библиотек выкидываются. С динамической библиотекой так не сделаешь.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re: Минимизировать shared компоненты
От: Ops Россия  
Дата: 18.11.15 23:46
Оценка:
Здравствуйте, Kingofastellarwar, Вы писали:

K>по сути от DLL и подобных шутк толку не так ух и много, а проблем много

K>ибо даже в пределах компании базовые библиотеки всё равно должны быть намертво прилинкованы/зареференсены к конкретному продукту и обновлять шаред либы без продукта всегда опасно,
K>поэтому смысл во всех этих Common Files по моему никакой

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

K>а что если перейти на модель чтобы АПИ операционки был минимальный, а проги таскали с собой все компоненты которые им нужны

K>все равно 4 мб или 40 не большая проблема уже, я так понимаю, даже чтото типа .net фреймвока наверно не беда с собой таскать
K>в этом плане наверно можно даже много прикладной логики из ОС АПИ отдать юзеру, пусть сам реализует как хочет

Зачем ОС-то кастрировать? Уж лучше стандартный для ОС АПИ, чем зоопарк "хороших и разных", которые для каждого случая придется изучать.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[2]: Минимизировать shared компоненты
От: MTD https://github.com/mtrempoltsev
Дата: 19.11.15 05:37
Оценка: +1
Здравствуйте, Mamut, Вы писали:

M>Так в принципе сделано в МакОСи


Идея хорошая, но на практике в МакОС все не так гладко, софт так же растекается по системе за границы бандла.
Re: Минимизировать shared компоненты
От: Sheridan Россия  
Дата: 19.11.15 05:39
Оценка: :)
Здравствуйте, Kingofastellarwar, Вы писали:

K>по сути от DLL и подобных шутк толку не так ух и много, а проблем много

В генту таких проблем нет
Matrix has you...
Re[2]: Минимизировать shared компоненты
От: Философ Ад http://vk.com/id10256428
Дата: 19.11.15 17:08
Оценка:
Здравствуйте, Sheridan, Вы писали:

K>>по сути от DLL и подобных шутк толку не так ух и много, а проблем много

S>В генту таких проблем нет

Каких проблем?
Всё сказанное выше — личное мнение, если не указано обратное.
Re[2]: Минимизировать shared компоненты
От: Kingofastellarwar Украина  
Дата: 19.11.15 17:15
Оценка:
Здравствуйте, Sinix, Вы писали:

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


кумекая над одним проектом я к той же идее пришел что взаимодействие через шаред код это очевидное но на практике хреновое решение, лучше организовать простой обмен данными, это сложнее но зато устойчивость выше и ниже взаимозавимости
и наверно в какомто смолтоке это уже сделано
Я изъездил эту страну вдоль и поперек, общался с умнейшими людьми и я могу вам ручаться в том, что обработка данных является лишь причудой, мода на которую продержится не более года. (с) Эксперт, авторитет и профессионал из 1957 г.
Re[3]: Минимизировать shared компоненты
От: Sheridan Россия  
Дата: 19.11.15 17:57
Оценка:
Здравствуйте, Философ, Вы писали:

K>>>по сути от DLL и подобных шутк толку не так ух и много, а проблем много

S>>В генту таких проблем нет
Ф>Каких проблем?
dll hell
Matrix has you...
Re[4]: Минимизировать shared компоненты
От: Философ Ад http://vk.com/id10256428
Дата: 19.11.15 18:31
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Здравствуйте, Философ, Вы писали:


K>>>>по сути от DLL и подобных шутк толку не так ух и много, а проблем много

S>>>В генту таких проблем нет
Ф>>Каких проблем?
S>dll hell

Даже если предположить, что ты все бинарники собираешь сам, то проблема зависимостей не должна исчезать — она должна перейти на уровень исходников, но в случае исходников такие проблемы решить ещё сложнее.
Такой проблемы не может возникнуть только в том случае, когда все бинари собираются только из одного репозитория, но это из мира эльфов.
Всё сказанное выше — личное мнение, если не указано обратное.
Re[5]: Минимизировать shared компоненты
От: Sheridan Россия  
Дата: 19.11.15 19:06
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Даже если предположить, что ты все бинарники собираешь сам, то проблема зависимостей не должна исчезать — она должна перейти на уровень исходников, но в случае исходников такие проблемы решить ещё сложнее.

Ф>Такой проблемы не может возникнуть только в том случае, когда все бинари собираются только из одного репозитория, но это из мира эльфов.
Ты не поверишь...
Matrix has you...
Re: Минимизировать shared компоненты
От: Skorodum Россия  
Дата: 23.11.15 14:05
Оценка:
Здравствуйте, Kingofastellarwar, Вы писали:

K>по сути от DLL и подобных шутк толку не так ух и много, а проблем много

В линуксовых дистрибутивах с репозиториями это работает для основных программ.
Re: Минимизировать shared компоненты
От: B0FEE664  
Дата: 23.11.15 18:31
Оценка:
Здравствуйте, Kingofastellarwar, Вы писали:

K>по сути от DLL и подобных шутк толку не так ух и много, а проблем много

K>ибо даже в пределах компании базовые библиотеки всё равно должны быть намертво прилинкованы/зареференсены к конкретному продукту и обновлять шаред либы без продукта всегда опасно,

Всё это конечно — да, но некоторые лецензии так позволяют только за деньги. Qt, например.
И каждый день — без права на ошибку...
Re: Минимизировать shared компоненты
От: TK Лес кывт.рф
Дата: 23.11.15 18:45
Оценка:
Здравствуйте, Kingofastellarwar, Вы писали:

K>а что если перейти на модель чтобы АПИ операционки был минимальный, а проги таскали с собой все компоненты которые им нужны

K>все равно 4 мб или 40 не большая проблема уже, я так понимаю, даже чтото типа .net фреймвока наверно не беда с собой таскать
K>в этом плане наверно можно даже много прикладной логики из ОС АПИ отдать юзеру, пусть сам реализует как хочет

https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/manage_docker
https://hub.docker.com/explore/
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re: Минимизировать shared компоненты
От: cosimo http://sapozhnikov.pro
Дата: 23.11.15 23:17
Оценка:
Здравствуйте, Kingofastellarwar, Вы писали:

K>а что если перейти на модель чтобы АПИ операционки был минимальный, а проги таскали с собой все компоненты которые им нужны

О, Adobe Illustrator CC 2015 сейчас собой тянет например:
Microsoft VC 2008 Redist (x86)
Microsoft VC 2010 Redist (x64)
Microsoft VC 2010 Redist (x86)
Microsoft VC 2012 Redist (x64)
Microsoft VC 2012 Redist (x86)
Microsoft VC 2013 Redist (x64)
Microsoft VC 2013 Redist (x86)
Re[2]: Минимизировать shared компоненты
От: Kingofastellarwar Украина  
Дата: 23.11.15 23:33
Оценка:
Здравствуйте, cosimo, Вы писали:

C>Здравствуйте, Kingofastellarwar, Вы писали:


K>>а что если перейти на модель чтобы АПИ операционки был минимальный, а проги таскали с собой все компоненты которые им нужны

C>О, Adobe Illustrator CC 2015 сейчас собой тянет например:
C>Microsoft VC 2008 Redist (x86)
C>Microsoft VC 2010 Redist (x64)
C>Microsoft VC 2010 Redist (x86)
C>Microsoft VC 2012 Redist (x64)
C>Microsoft VC 2012 Redist (x86)
C>Microsoft VC 2013 Redist (x64)
C>Microsoft VC 2013 Redist (x86)

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