Re[12]: dotnet vs java 2016-2020
От: · Великобритания  
Дата: 10.10.16 17:33
Оценка:
Здравствуйте, vdimas, Вы писали:

V>·>Как ни странно, но всё перечисленное не уступает, а чаще лучше в мире java, особенно если ещё всякие другие jvm-языки рассмотреть.

V>В сфере упомянутого тобою HFT джава уступает дотнету сильно, примерно вдвое-трое по latency.
Это в какой вселенной? Можно ссылки на какую-нибуь .net low latency систему? В реальной вселенной дотнет уступает java по latency примерно на один-два порядка. Могу назвать цифры из первых рук: Latency LMAX-биржи 300мкс @ 50% и 4мс @ 99.99%.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[19]: dotnet vs java 2016-2020
От: vdimas Россия  
Дата: 10.10.16 19:51
Оценка:
Здравствуйте, Cyberax, Вы писали:

V>>Почему? Есть задача, вот решение.

C>Потому, что это не решение.

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

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

Когда весь мир давно пришел к распространению бинарников через доверенные центры, в мире Linux можно брать бинари откуда угодно, из любой помойки. Любой линуховый репозиторий неспешно обслуживается тысячей левых людей, где кто угодно кидает туда что угодно, а исправлений нужно ждать месяцами. При таких масштабах бардака и такой скорости реакции обслуживающего "персонала" можно организовывать любые мыслимые атаки. Что, собсно, и происходит регулярно. ))

Не спроста же, если атакуют клиентские компы — атакуют винды, а если сервера — то линуха. Причем, с атаками на винды 8.1 и выше уже разобрались, а вот с серверами засада — бедная Клинтон ругает плохих русских, ы-ы-ы. Атаковать же виндовый Server 2012 с установленным в комплекте софтом на ReFS на сегодня абсолютно бесполезно. В этом смысле Линуха — это дуршлак, а не операционка.


C>>>Ага, суперудобно.

V>>Как и везде.
V>>Например, чтобы твой ssh-клиент подключился к ssh-серваку, на ём тоже должен быть установлен совместимый с версией клиента демон ssh. А как иначе?
C>Я вот не поленился и взял Putty образца 2005-го года. Оно работает с моим сервером, который на Ubuntu 15.10.

Набор протоколов у программ на двух сторонах совпал. Обязательного к исполнению списка таких протоколов на сегодня нет, кста.


C>Т.е. совместимость в 10 лет, как минимум, между разными ОС.


Набор протоколов у программ на двух сторонах совпал.
Блин.
"Совместимость между ОС"
Ты эта... надеюсь, что просто троллишь ))
Или, таки, всерьёз?


V>>И с этой совместимостью на сегодня тоже имеются заметные траблы, бо стандарты ssl резко расширялись еще буквально 5 лет назад, а системы на линухах зачастую "один раз настроили и они 10 лет работают". Вот такой линуховый маразм, однако.

C>Опять говоришь из попы. Последние существенные изменения в SSH были в 2006-м году, и даже до этого SSH был де-факто совместим между всеми.

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

В общем, все ВАЖНЫЕ в последнее время изменения в SSH происходили в плане смены популярности алгоритмов шифрования. В самом же "клее" менять ничего не надо.
Отредактировано 10.10.2016 20:10 vdimas . Предыдущая версия .
Re[13]: dotnet vs java 2016-2020
От: vdimas Россия  
Дата: 10.10.16 20:08
Оценка: 1 (1)
Здравствуйте, ·, Вы писали:

V>>·>Как ни странно, но всё перечисленное не уступает, а чаще лучше в мире java, особенно если ещё всякие другие jvm-языки рассмотреть.

V>>В сфере упомянутого тобою HFT джава уступает дотнету сильно, примерно вдвое-трое по latency.
·>Это в какой вселенной? Можно ссылки на какую-нибуь .net low latency систему?

Ну вот ссылки на #1 в мире Джава и .Net и #2 в мире нейтива:

http://www.onixs.biz/net-fix-engine.html
http://www.onixs.biz/java-fix-engine.html
http://www.onixs.biz/cpp-fix-engine.html


·>В реальной вселенной дотнет уступает java по latency примерно на один-два порядка. Могу назвать цифры из первых рук: Latency LMAX-биржи 300мкс @ 50% и 4мс @ 99.99%.


Ну ващет забеги устраиваются ежегодно и последние 3 года расклад стабилен. Т.е., если ты действительно в теме, то указанные ссылки должен знать хорошо.
По нейтиву там 4-6 микросекунд, по дотнету порядка 50-80, по джаве порядка 120-150.
Re[14]: dotnet vs java 2016-2020
От: · Великобритания  
Дата: 10.10.16 21:19
Оценка:
Здравствуйте, vdimas, Вы писали:

V>>>·>Как ни странно, но всё перечисленное не уступает, а чаще лучше в мире java, особенно если ещё всякие другие jvm-языки рассмотреть.

V>>>В сфере упомянутого тобою HFT джава уступает дотнету сильно, примерно вдвое-трое по latency.
V>·>Это в какой вселенной? Можно ссылки на какую-нибуь .net low latency систему?
V>Ну вот ссылки на #1 в мире Джава и .Net и #2 в мире нейтива:
V>http://www.onixs.biz/net-fix-engine.html
V>http://www.onixs.biz/java-fix-engine.html
V>http://www.onixs.biz/cpp-fix-engine.html
Так это реализация fix протокола, а не система. Давай что-то типа биржи или Order Management System, Smart Order Router и т.п.

V>·>В реальной вселенной дотнет уступает java по latency примерно на один-два порядка. Могу назвать цифры из первых рук: Latency LMAX-биржи 300мкс @ 50% и 4мс @ 99.99%.

V>Ну ващет забеги устраиваются ежегодно и последние 3 года расклад стабилен. Т.е., если ты действительно в теме, то указанные ссылки должен знать хорошо.
V>По нейтиву там 4-6 микросекунд, по дотнету порядка 50-80, по джаве порядка 120-150.
Это надеюсь 99.99%? А вообще мало о чём говорит... 300мкс это mean time обработки MassOrder — от получения в fix gateway, проход через Execution Venue (с репликацией для failover) и ответ обратно через Fix Gateway, а не одного единственного fix message.
Как дела в .net с gc? Судя по этому http://mattwarren.org/2014/06/18/measuring-the-impact-of-the-net-garbage-collector/ они измеряют в время stop-the-world миллисекудах!!!
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[23]: dotnet vs java 2016-2020
От: Cyberax Марс  
Дата: 10.10.16 21:31
Оценка:
Здравствуйте, vdimas, Вы писали:

C>>Опять двойка. Для SSH не нужно корневых сертификатов.

V>Я же тебе уже показывал твоё нубство в вопросах сертификации. ))
Русский язык тоже не знаем?

НУЖНЫЙ, -ая, -ое; -жен, -жна, -жно, нужны и нужны. 1. Такой, без которого трудно, невозможно обойтись; необходимый. Н-ая книга. Н-ые вещи. Нужной суммы у меня не было. Дать н-ые указания.

Для SSH совершенно не нужно иметь PKI. Его можно использовать в качестве альтернативы для key pinning.

V>RTFM @cert-authority в ~/.ssh/known_hosts.

V>Хотя, тебе лучше начать с начала начал — стандарта X509, потому что все твои залёты выглядят одинаково и являются следствием непонимания базовой инфраструктуры этого стандарта.
Вот если бы ты имел реальный опыт, а не трёхминутный результат гуглинга, то знал бы, что SSH не использует X509 для PKI.

(да, я писал реализацию парсера для X509 с нуля)

V>>>JMX — это просто набор явовских библиотек диагностической направленности (ну и как всегда в джаве — с сугубо вербальным описанием требований к интерфейсам объектов MBeans, ы-ы-ы).

C>>Опять двойка.
C>>JMX — это способ подключиться к работающей JVM (включенный по умолчанию, кстати).
V>Это тебе опять двойка. Курить что есть JMX до просветления как грится...
Хватит бредить.

C>>В Винде аналогом является WMI, но он настолько убог, что даже не смешно.

V>Ни разу не аналог. Да и вообще, сравнивать сервис системного уровня, типа WMI с сугубо прикладной хренью, типа JMX... Пффф, где тут смайлик пистолета у виска?
То что WMI действует на уровне системы — это просто кретинизм дизайнеров. Оно могло бы быть простым сервисом уровня приложений. И предназначены они именно для одного и того же — управления и снятия метрик с работающего приложения.
Sapienti sat!
Re[20]: dotnet vs java 2016-2020
От: Cyberax Марс  
Дата: 10.10.16 22:03
Оценка:
Здравствуйте, vdimas, Вы писали:

V>>>Почему? Есть задача, вот решение.

C>>Потому, что это не решение.
V>Такое же точно.
V>Просто менее популярно, бо это идиотизм сам по себе — вот такое распространение кода.
Ну да. Код должен распространятся раз в месяц, в четверг. Если что-то сломалось — пишется заявление в отдел QA и через год фиксится.

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

Речь идёт о внутреннем распространении.

V>Не спроста же, если атакуют клиентские компы — атакуют винды, а если сервера — то линуха. Причем, с атаками на винды 8.1 и выше уже разобрались, а вот с серверами засада — бедная Клинтон ругает плохих русских, ы-ы-ы. Атаковать же виндовый Server 2012 с установленным в комплекте софтом на ReFS на сегодня абсолютно бесполезно. В этом смысле Линуха — это дуршлак, а не операционка.

LOL. У Клинтон как раз был Exchange на Винде.

ReFS — это та штука, которая является бледным подобием BTRFS и которая выбросила на помойку такие фичи NTFS как транзакции?

V>>>Например, чтобы твой ssh-клиент подключился к ssh-серваку, на ём тоже должен быть установлен совместимый с версией клиента демон ssh. А как иначе?

C>>Я вот не поленился и взял Putty образца 2005-го года. Оно работает с моим сервером, который на Ubuntu 15.10.
V>Набор протоколов у программ на двух сторонах совпал. Обязательного к исполнению списка таких протоколов на сегодня нет, кста.
Ну то есть, проблемы нет. Совместимость минимум на 15 лет. В отличие от.

C>>Т.е. совместимость в 10 лет, как минимум, между разными ОС.

V>Набор протоколов у программ на двух сторонах совпал.
Да. И больше ничего не надо для нормальной работы.

C>>Опять говоришь из попы. Последние существенные изменения в SSH были в 2006-м году, и даже до этого SSH был де-факто совместим между всеми.

V>Я уже возвращал тебя на грешную землю тем, что SSH — это тривиальнейший "клей" для алгоритмов и даже целых инфраструктур шифрования. Вся работа происходит в низлежащем слое, а вовсе не в SSH. Сами артефакты алгоритмов шифрования SSH даже не понимает, для него ключи — это просто набор непонятных ему байт некоей длины, эдакий черный ящик.
Давай поспорим? На $1k? Раз уж не понимаешь очевиднейших вещей и не можешь даже на RFC посмотреть.

Моё утверждение: SSH — это полностью автономный протокол, который не использует слой TLS/SSL и реализует все необходимые примитивы шифрования как непосредственно деталь протокола. SSH так же не требует инфраструктуры PKI, но даже если её включить, то SSH не использует X509. Ключи и сертификаты SSH тоже не в формате X509.
Sapienti sat!
Re[20]: dotnet vs java 2016-2020
От: Cyberax Марс  
Дата: 11.10.16 04:21
Оценка: +1 :)
Здравствуйте, Философ, Вы писали:

Ф>>>Обновлять потом как будешь? Лет 8 назад я тоже только файлики копировал.

C>>Снова файлы скопировать.
Ф>Все файлы? У меня тут стоит одна софтина, которая 17 гигов весит. Ты каждый раз собираешься по 17 гигов копировать?
Да, а какие проблемы?

Ф>Ты понимаешь, что если ты меня будешь каждые 2 недели заставлять скачивать по 17 гигов, то я потребую деньги назад? Вопрос номер 2: как ты эти апдэйты будешь распространять?

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

Ф>Ещё вопрос: сносить будешь все файлы?

Да.

Так как на практике таких софтин нет. Самая большая у меня в каталоге Applications — Xcode, на 10Гб. Вот только что проверил — снос и установка заново занимают 3 минуты. Это меньше, чем требуется типичному MSI на то, чтобы прочитать все эти таблицы обновлений. Я уж не говорю про тот Мордор, которым является установщик MSVS.

C>>Только это работает на практике лучше, чем угрёбищный MSI. А для end-user приложений популярны разные магазины, которые автоматизируют обновление и установку.

Ф>Судя по всему ты макосью либо совсем не пользуешься, либо ничего сложнее TextEdit на ней не используешь, потому что после пары лет использования макось превращается в глючную помойку.
Вот на этом ноуте я уже 4 года работаю (это самый первый Retina MacBook Pro). Он пережил подключение/отключение в домены двух компаний и установку их рабочего софта, ну и апгрейд версии операционки 3 раза.

Никаких проблем с пакетами не замечено.
Sapienti sat!
Re[15]: dotnet vs java 2016-2020
От: vdimas Россия  
Дата: 11.10.16 08:18
Оценка:
Здравствуйте, ·, Вы писали:

·>Так это реализация fix протокола, а не система.


А система на чём построена?
Как раз на серверной реализации FIX-протокола, зачастую.

И ты пройдись рядом по ссылкам есть directСonnect (для бирж без FIX, многие тупо на FAST или еще каких стандартах кодирования).


·>Давай что-то типа биржи или Order Management System, Smart Order Router и т.п.


Я тебе приведу только несколько названий бирж:
— NASDAQ
— SGX
— HKFE
— и еще десяток, работающих исключительно на нейтивном OMnet и являющихся исключительно нейтивными.


V>>·>В реальной вселенной дотнет уступает java по latency примерно на один-два порядка. Могу назвать цифры из первых рук: Latency LMAX-биржи 300мкс @ 50% и 4мс @ 99.99%.

V>>Ну ващет забеги устраиваются ежегодно и последние 3 года расклад стабилен. Т.е., если ты действительно в теме, то указанные ссылки должен знать хорошо.
V>>По нейтиву там 4-6 микросекунд, по дотнету порядка 50-80, по джаве порядка 120-150.
·>Это надеюсь 99.99%? А вообще мало о чём говорит.

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

А что тут может дать Джава, если именно в Джава отобрали интсрумент управления потоковой моделью, оно там всё декларативно через synchronized?


·>300мкс это mean time обработки MassOrder — от получения в fix gateway, проход через Execution Venue (с репликацией для failover) и ответ обратно через Fix Gateway, а не одного единственного fix message.


Ну, т.е. ты не в теме, про эти забеги и что именно там замеряется?

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


·>Как дела в .net с gc? Судя по этому http://mattwarren.org/2014/06/18/measuring-the-impact-of-the-net-garbage-collector/ они измеряют в время stop-the-world миллисекудах!!!


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

Т.е., грамотный софт пишут так, чтобы не создавать объекты первого поколения, т.е. все данные делятся на ровно две группы — которые один раз выделили в начале работы программы (они сидят "навечно" с максимально низкой косвенностью), или которые живут буквально в один колбэк. Получаем только 0-е и 2-е поколение и наше вам с кисточкой.

(Для очень редких сценариев используются еще пулы объектов, тоже кое-где даёт профит, пока не доходят руки и не исправляется принципиальная кривизна в этом месте, т.е. не отделяются маложивущее от долгоживущего)
Re[24]: dotnet vs java 2016-2020
От: vdimas Россия  
Дата: 11.10.16 08:40
Оценка:
Здравствуйте, Cyberax, Вы писали:
C>>>Опять двойка. Для SSH не нужно корневых сертификатов.
V>>Я же тебе уже показывал твоё нубство в вопросах сертификации. ))
C>Русский язык тоже не знаем?
C>

C>НУЖНЫЙ, -ая, -ое; -жен, -жна, -жно, нужны и нужны. 1. Такой, без которого трудно, невозможно обойтись; необходимый. Н-ая книга. Н-ые вещи. Нужной суммы у меня не было. Дать н-ые указания.

C>Для SSH совершенно не нужно иметь PKI.


Для SSL тоже НЕ НУЖНО, но МОЖНО, потому что всего одна галочка определяет — будет ли производиться верификация подписи ключа или нет.

Кароч, SSL и SSH используют абсолютно идентичную инфраструктуру X.509, поэтому глупо говорить, что вот там нужно, а вот там нет. Это только от непонимания можно заявлять. ))

Просто для SSL в браузерах по-умолчанию всё настроено так, что на самоподписанные ключи оно ругается и требует (в зависимости от настроек безопасности всей системы) либо разрешить добавить такой левый сертификат в хранилище сертификатов, либо тупо не подключается к такому серваку. И правильно делает, заметь! Потому что в этом смысле абракадабра в виде отпечатка пальцев ключа SSH — это дуршлаг дуршлагом, бо обычный пользователь НЕ БУДЕТ усердно сравнивать длинную цепочку шестнадцатеричных цифр. Профанация это, а не безопасность.


C>Его можно использовать в качестве альтернативы для key pinning.


Еще раз для тех, кто в танке. Инфраструктура ключей ИДЕНТИЧНА происходящему в SSL.
Медитировать над этим до просветления.


C>Вот если бы ты имел реальный опыт, а не трёхминутный результат гуглинга, то знал бы, что SSH не использует X509 для PKI.


))
Чиста хороший совет — ознакомься.
Просто ознакомься.
Ты не выглядишь глупым, хотя местами показываешь некоторую упоротость.


C>(да, я писал реализацию парсера для X509 с нуля)


Парсер ЧЕГО?
Ну вот ты и спалился, собсно. Получается, что ты тупо портировал на другой язык некий ГОТОВЫЙ код, не до конца понимая, что там происходит.

Там парсер ASN.1, а не "парсер X.509".
Мне вообще было бы любопытно взглянуть на ход работы над "парсером X.509", ы-ы-ы, когда структура сертификата задана в виде ASN.1-полей.
Это ты вручную в голове переводил поля в поток бит? А по какому профилю ASN.1 ты так умеешь в голове, не подскажешь? Не, ну реально, я работал с тремя самыми популярными и просто снимаю шляпу! )) Это всё-равно, что взять сниппет кода на С++, провести в голове все оптимизации и написать сразу машинный код. Ты гигант!

Кароч, рассказываю тебе то, что ты упустил в своей работе над "парсером X.509 с нуля". Сценарий работы с ASN.1 всегда одинаков — берется готовое описание ASN.1, берется кодогенератор для некоего языка и генерится кодер + декодер под это описание. Иногда такой автогенерённый код и причесывают и даже рефакторят, бывает, угу.

Я так предполагаю, что для языка Rust (или на чём ты там писал?) таких кодогенераторов пока не существует, верно? Получается, что ты портировал некий готовый парсер, сгенеренный для другого языка и от непонимания истории происхождения того кода только что прилюдно спалился.

Ну ты ваще, кароч...
Поздравляю соврамши. ))


C>То что WMI действует на уровне системы — это просто кретинизм дизайнеров. Оно могло бы быть простым сервисом уровня приложений. И предназначены они именно для одного и того же — управления и снятия метрик с работающего приложения.


Дык, никто не запрещает "простым приложениям" вывешивать во внешний мир сколько угодно своих метрик по какому угодно протоколу.
Я же тебе уже сказал, что есть JMX — это просто набор объектов, которые удовлетворяют некоторым вербальным соглашениям о своём интерфейсе. Ну например, как ЛЮБЫЕ грамотно спроектированные объекты-исключения дотнета должны уметь передаваться по сети, примерно вот так.

И строй себе на основе remoting хоть какую-угодно инфраструктуру диагностики, помимо той, что идёт изкаробки. Ведь, действительно, НИКАКИХ ограничений на СОБСТВЕННЫЕ объекты JMX, кроме вот подобных внешний ограничений (сугубо для "подхватывания" их инфраструктурой) НЕТ. В этом суть, но она от тебя ускользает, насколько я вижу, коль ты споришь с очевидным.
Re[21]: dotnet vs java 2016-2020
От: Слава  
Дата: 11.10.16 08:53
Оценка:
Здравствуйте, Cyberax, Вы писали:

C> Я уж не говорю про тот Мордор, которым является установщик MSVS.


Про Мордор понравилось.

Я бы хотел увидеть исходники MSI. Такое ощущение, что он чуть ли не намеренно сделан тормозным.
Re[21]: dotnet vs java 2016-2020
От: vdimas Россия  
Дата: 11.10.16 09:04
Оценка:
Здравствуйте, Cyberax, Вы писали:

V>>>>Почему? Есть задача, вот решение.

C>>>Потому, что это не решение.
V>>Такое же точно.
V>>Просто менее популярно, бо это идиотизм сам по себе — вот такое распространение кода.
C>Ну да. Код должен распространятся раз в месяц, в четверг. Если что-то сломалось — пишется заявление в отдел QA и через год фиксится.

В мире Windows фиксится намного быстрее. И мне уже надоело напоминать, почему именно так — потому что всего одна "сборка".
А под Линухами где-то фикс прокатил, а где-то ГОДАМИ под некую сборку нет нужных фиксов, потому что под эту сборку имеющийся фикс не прокатывает, а "сообществу" некогда.


V>>Не спроста же, если атакуют клиентские компы — атакуют винды, а если сервера — то линуха. Причем, с атаками на винды 8.1 и выше уже разобрались, а вот с серверами засада — бедная Клинтон ругает плохих русских, ы-ы-ы. Атаковать же виндовый Server 2012 с установленным в комплекте софтом на ReFS на сегодня абсолютно бесполезно. В этом смысле Линуха — это дуршлак, а не операционка.

C>LOL. У Клинтон как раз был Exchange на Винде.

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

И было это в те времена, когда модель распространения софта в Windows была как до сих пор в Linux — т.е. можно было брать код с любой помойки.
Уже в Висте достаточно было не сидеть под админским профилем, чтобы стало невозможно заразить комп через письмо с вложением.


C>ReFS — это та штука, которая является бледным подобием BTRFS и которая выбросила на помойку такие фичи NTFS как транзакции?


Это такая штука, потребность в транзакционности внутреннего механизма которой сильно уменьшена.
И да, транзакции там можно включить по желанию и аж более одного уровня. Но почти никогда не надо из-за банального copy-on-write, доведённого до совершенства. Там всё является транзакцией (грубо), т.е. используются те же технологии, что и для транзакций.

Я не знаю, откуда ты взял про "бледное подобие", если на сегодня никто не умеет "copy-on-write" более эффективно, чем ReFS.
Кароч, я не готов обсуждать, какая файловая система была раньше-позже по этому принципу, хотя бы потому, что этот принцип родился еще намного ранее в файловых БД, а не в файловых системах. ))

Я и помню, как MS нам когда-то давно обещала файловую систему по принципу БД. Вот, разродилось, наконец. Принципы те же.


V>>Набор протоколов у программ на двух сторонах совпал. Обязательного к исполнению списка таких протоколов на сегодня нет, кста.

C>Ну то есть, проблемы нет. Совместимость минимум на 15 лет. В отличие от.

В отличие от чего?


C>>>Т.е. совместимость в 10 лет, как минимум, между разными ОС.

V>>Набор протоколов у программ на двух сторонах совпал.
C>Да. И больше ничего не надо для нормальной работы.

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


C>>>Опять говоришь из попы. Последние существенные изменения в SSH были в 2006-м году, и даже до этого SSH был де-факто совместим между всеми.

V>>Я уже возвращал тебя на грешную землю тем, что SSH — это тривиальнейший "клей" для алгоритмов и даже целых инфраструктур шифрования. Вся работа происходит в низлежащем слое, а вовсе не в SSH. Сами артефакты алгоритмов шифрования SSH даже не понимает, для него ключи — это просто набор непонятных ему байт некоей длины, эдакий черный ящик.
C>Давай поспорим? На $1k? Раз уж не понимаешь очевиднейших вещей и не можешь даже на RFC посмотреть.

Я тебе уже предлагал СФОРМУЛИРОВАТЬ свои утверждения для спора.
Пока что я не вижу достаточной для спора формулировки.


C>Моё утверждение: SSH — это полностью автономный протокол, который не использует слой TLS/SSL и реализует все необходимые примитивы шифрования как непосредственно деталь протокола. SSH так же не требует инфраструктуры PKI, но даже если её включить, то SSH не использует X509. Ключи и сертификаты SSH тоже не в формате X509.


Это НЕ является возражением на моё утверждение о том, что для SSH происходящее в слое шифрования — "черный ящик". Возражение должно было быть примерно таким:
— SSH понимает как формат ключей шифрования конкретного алгоритма, так и структуру шифрованного потока, т.е. под поля шифрованных потоков конкретных алгоритмов отводит в своём протоколе высокоуровневое описание.

Дерзай! ))

Далее, насчет возражений мне про инфраструктуру X.509. Верификация SSL и SSH построена абсолютно идентично, а именно — отдана на откуп отдельному блоку в стандарте, где сама реализация верификации может быть произвольной. Для текущих реализация SSH и SSL подобная верификация — это всегда некий колбэк, где в некоторой конкретной реализации есть некая дефолтная реализация. В упомянутой тобой реализации open SSH поверх open SSL (ты даже назвал эту связку частью ОС, помнится, ы-ы-ы) есть ровно две дефолтных реализации такого колбэка — с проверкой ключа+подписи и с проверкой только лишь ключа.

Для демона open SSH способ верификации и его параметры прописываются в файле конфигурации. Так вот, самое смешное в этом споре то, что ты выдаёшь дефолтные настройки open SSH за характеристики целого стандарта. Ы-Ы-Ы много раз.
Отредактировано 11.10.2016 9:06 vdimas . Предыдущая версия .
Re[16]: dotnet vs java 2016-2020
От: · Великобритания  
Дата: 11.10.16 11:24
Оценка:
Здравствуйте, vdimas, Вы писали:


V>·>Так это реализация fix протокола, а не система.

V>А система на чём построена?
V>Как раз на серверной реализации FIX-протокола, зачастую.
FIX-протокол составляет малую долю от кода всей биржи, да и по кластеру размазывается неплохо.

V>И ты пройдись рядом по ссылкам есть directСonnect (для бирж без FIX, многие тупо на FAST или еще каких стандартах кодирования).

Это только connectivity, шлюзы с другими системами, а внутри всё самое интересное.
Кстати, эти Ява и Шарп библиотеки это случайно не обёртки над нативной реализацией?

V>·>Давай что-то типа биржи или Order Management System, Smart Order Router и т.п.

V>- и еще десяток, работающих исключительно на нейтивном OMnet и являющихся исключительно нейтивными.
Что за нейтив? Я спрашиваю о системах написанных на .net.

V>>>По нейтиву там 4-6 микросекунд, по дотнету порядка 50-80, по джаве порядка 120-150.

V>·>Это надеюсь 99.99%? А вообще мало о чём говорит.
V>Давай вот только без этого. Это официальные ежегодные забеги, где правила одинаковы для всех, а сами забеги устраиваются не производителями, а третьесторонней лабораторией под эгидой объединения крупнейших бирж. Производители просто предоставляют свой софт для независимого тестирования. Результаты даются как по медиане, так и по средним и по дисперсии и т.д. Обычно лидер по медиане лидер везде, такова се ля ви, потому что, по-сути, задержки вносит сама природа низлежащей многопоточной ОС и от правильно выбранной стратегии синхронизации и потоковой модели зависит чуть более чем всё.
V>А что тут может дать Джава, если именно в Джава отобрали интсрумент управления потоковой моделью, оно там всё декларативно через synchronized?
Какой ещё synchronized? Он же медленный и латенси жуть. дизраптор же.

V>·>300мкс это mean time обработки MassOrder — от получения в fix gateway, проход через Execution Venue (с репликацией для failover) и ответ обратно через Fix Gateway, а не одного единственного fix message.

V>Ну, т.е. ты не в теме, про эти забеги и что именно там замеряется?
V>Кароч, там полный круг — запрос/ответ + сохранение сообщения в логе с возможностью восстановления по запросу противоположной стороны. Измерения происходят на специальном оборудовании, которое прослушивает сетку, но не вмешивается в её работу. Т.е. ничего внутри участвующих компов не измеряется — те просто обмениваются пакетами в некотором заданном сценарии, а третий "шпион" тупо пишет трафик сетки и потом строит свои результаты по матчингу пакетов в пары запрос-ответ.
Понятно, так и замеряют. Призмочка в оптическом кабеле делит трафик...

V>·>Как дела в .net с gc? Судя по этому http://mattwarren.org/2014/06/18/measuring-the-impact-of-the-net-garbage-collector/ они измеряют в время stop-the-world миллисекудах!!!

V>Для нулевого поколения сборка в дотнете получше, чем в джаве, а второе собирается только при нехватке памяти или явной инициализации сборки через методы объекта GC.
V>Т.е., грамотный софт пишут так, чтобы не создавать объекты первого поколения, т.е. все данные делятся на ровно две группы — которые один раз выделили в начале работы программы (они сидят "навечно" с максимально низкой косвенностью), или которые живут буквально в один колбэк. Получаем только 0-е и 2-е поколение и наше вам с кисточкой.
Т.е. гц гарантированно (чем?) не происходит вообще или не происходит во время "забега"?

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

Т.е. не дай бог случайно ГЦ запустится — и упс. Вот с zing такой проблемы нет. Конечно, количество мусора минимизируется, но даже если он и случается несколько раз в день — ничего страшного.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[19]: dotnet vs java 2016-2020
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 11.10.16 12:24
Оценка:
Здравствуйте, Cyberax, Вы писали:

Ф>>Обновлять потом как будешь? Лет 8 назад я тоже только файлики копировал.

C>Снова файлы скопировать.

Вспотеешь

Ф>>Для меня было загадкой, как они софт обновляют и как потом этот софт взаимодействует друг с другом. Потом узнал... Т.е. примерно так, как это было в windows 3.11. Активно использующийся комп с макосью — наглядная демонстрация того, зачем всё это было придумано.

C>Только это работает на практике лучше, чем угрёбищный MSI. А для end-user приложений популярны разные магазины, которые автоматизируют обновление и установку.

На практике под макось отсутствует внятный софт. Не дай бог поставить что нибудь нестандартное, вспотеешь вычищать. Потому пилятся потиху вещи навроде Homebrew
Re[17]: dotnet vs java 2016-2020
От: vdimas Россия  
Дата: 11.10.16 12:28
Оценка:
Здравствуйте, ·, Вы писали:

V>>·>Давай что-то типа биржи или Order Management System, Smart Order Router и т.п.

V>>- и еще десяток, работающих исключительно на нейтивном OMnet и являющихся исключительно нейтивными.
·>Что за нейтив? Я спрашиваю о системах написанных на .net.

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

Кароч, у нас полно клиентов, у которых вся их логика нейтивная поверх наших либ.
Хотя есть и такие, которые дёргают скрипты в колбэках.
Ну это кто на что учился.
Если грамотно сделать инфраструктуру и юзать надежные либы С++, то поддерживать "живой" плюсовый код, т.е. постоянно изменяющийся наподобие скриптового, — можно и нужно. Т.е. захардкодили некую стратегию — компильнули, подключили либу в систему. Надо что-то изменить — опять подправили, компильнули и зарегали вместо предыдущей.

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

И да, в дотнетной версии слой сетки/потоков и синхронизации нейтивный, верно!
Все так делают, мы что, должны сливать всем? ))


V>>А что тут может дать Джава, если именно в Джава отобрали интсрумент управления потоковой моделью, оно там всё декларативно через synchronized?

·>Какой ещё synchronized? Он же медленный и латенси жуть. дизраптор же.

Ну я не сильный спец в жабке, но верю нашим ребятам, сделавшим намбер ван джавовский FIX-движок в мире, что они выжали максимум.
Были бы пятые какие-нить, тоже верил бы, кста, бо это всё еще топ. ))


V>>Т.е., грамотный софт пишут так, чтобы не создавать объекты первого поколения, т.е. все данные делятся на ровно две группы — которые один раз выделили в начале работы программы (они сидят "навечно" с максимально низкой косвенностью), или которые живут буквально в один колбэк. Получаем только 0-е и 2-е поколение и наше вам с кисточкой.

·>Т.е. гц гарантированно (чем?) не происходит вообще или не происходит во время "забега"?

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

Для дотнета самая ж-па — это развесистый граф первого поколения. Просто надо помнить об этом.


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

·>Т.е. не дай бог случайно ГЦ запустится — и упс.

ГЦ и так постоянно работает, о чём ты?


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


Ну вот аналогично, если не плодить объекты первого поколения, то дотнетный сервак может несколько дней жить без полной пересборки мусора.
Но это не относится к ASP.Net, кста, там всё грустно с их индусокодом. ))

Но самописные серваки таким макаром писать можно. Только нужно держать в памяти особенности дотнета.
Но это для любой технологии верно.
Отредактировано 11.10.2016 12:31 vdimas . Предыдущая версия .
Re[13]: dotnet vs java 2016-2020
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 11.10.16 12:31
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>>>WPF — не нужен, как и десктопный GUI.

Ф>>За десктопный GUI платят. Хочется людям, понимаешь, открывать несколько инстансов приложения и многооконный интерфейс хочется, и с локальными файлами работать тоже хочется.
C>Зачем? Достаточно нормально сделанной странички. Несколько окон == несколько табов, а файлы не нужны.

Теоретически — всё к этому идет. Практически — нормально сделаных страничек в природе вообще раз два и обчелся. А если начнем думать про время отклика на мышь, тач, клавиатуру, так и вовсе весело. Еще веселее это кастомный user-input на каком нибудь Сафари. У этих затейников всё не как в хроме. Сафари на iOs так вообще как с другой планеты.
Re[21]: dotnet vs java 2016-2020
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 11.10.16 12:46
Оценка: +1
Здравствуйте, Cyberax, Вы писали:

Ф>>Все файлы? У меня тут стоит одна софтина, которая 17 гигов весит. Ты каждый раз собираешься по 17 гигов копировать?

C>Да, а какие проблемы?

Юзеры плюются, ругаются матом, грозят исками. А так никаких проблем нет.

Ф>>Ещё вопрос: сносить будешь все файлы?

C>Да.

Бедные юзеры.

C>Так как на практике таких софтин нет. Самая большая у меня в каталоге Applications — Xcode, на 10Гб. Вот только что проверил — снос и установка заново занимают 3 минуты. Это меньше, чем требуется типичному MSI на то, чтобы прочитать все эти таблицы обновлений. Я уж не говорю про тот Мордор, которым является установщик MSVS.


Я на прошлой неделе обновлял XCode. Ушел целый вечер при том, что все само, без моего вмешательства и это на топовом железе.

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

C>Вот на этом ноуте я уже 4 года работаю (это самый первый Retina MacBook Pro). Он пережил подключение/отключение в домены двух компаний и установку их рабочего софта, ну и апгрейд версии операционки 3 раза.
C>Никаких проблем с пакетами не замечено.

Давай проверим:
Коннектишься в свой ноут удаленно,
инсталируешь на него Node безо всякого стороннего менеджера пакетов,
запускаешь парочку нодовских проектов,
обновляешь нод,
запускаешь еще парочку нодовских проектов
убираешь нод

После этого начинаешь понимать, что Homebrew появился неспроста.
Re[18]: dotnet vs java 2016-2020
От: · Великобритания  
Дата: 11.10.16 18:34
Оценка:
Здравствуйте, vdimas, Вы писали:

V>>>- и еще десяток, работающих исключительно на нейтивном OMnet и являющихся исключительно нейтивными.

V>·>Что за нейтив? Я спрашиваю о системах написанных на .net.
V>Ты только что сказал о системах, написанных на джаве. А я тебе возразил, что крупнейшие биржи исключительно нейтивные.
Погоди. Ты начал с того, что "В сфере упомянутого тобою HFT джава уступает дотнету сильно, примерно вдвое-трое по latency". Т.е. на самом деле ты хотел сказать джава уступает не дотнету, а нейтиву? Ну с этим-то я не спорю. Сабж-то читал? Причём тут нейтив?

V>А если кто-то на жабке пишет себе клиента к этим биржам, то что ж... примите мои соболезнования...

V>Дышать выхлопом от конкурентов — дело сугубо добровольное.
Ява даёт другие конкурентные преимущества.

V>Кароч, у нас полно клиентов, у которых вся их логика нейтивная поверх наших либ.

V>Хотя есть и такие, которые дёргают скрипты в колбэках.
V>Ну это кто на что учился.
V>Если грамотно сделать инфраструктуру и юзать надежные либы С++, то поддерживать "живой" плюсовый код, т.е. постоянно изменяющийся наподобие скриптового, — можно и нужно. Т.е. захардкодили некую стратегию — компильнули, подключили либу в систему. Надо что-то изменить — опять подправили, компильнули и зарегали вместо предыдущей.
V>Я не спорю, что приседаний может быть чуть больше, особенно на эта отладки такой инфраструктуры. Но это же, во-первых, одноразовая работа, а во-вторых, оно является тем самым ноу-хау, которое даёт преимущество перед конкурентами, сидящими на скриптах и джаве.
V>И да, в дотнетной версии слой сетки/потоков и синхронизации нейтивный, верно!
Кстати, Rapid Addition FIX engine — тоже афаир pure-java. Сравнивали? Насколько медленнее нативного?

V>Все так делают, мы что, должны сливать всем? ))

Клёво, конечно. Но причём тут сабж?

Суть в том что на чистой java пишут реализации LL-систем (больших! а не просто тонкая обёртка над нативной либой). В .net такого никогда не было и вряд ли будет.

V>>>А что тут может дать Джава, если именно в Джава отобрали интсрумент управления потоковой моделью, оно там всё декларативно через synchronized?

V>·>Какой ещё synchronized? Он же медленный и латенси жуть. дизраптор же.
V>Ну я не сильный спец в жабке, но верю нашим ребятам, сделавшим намбер ван джавовский FIX-движок в мире, что они выжали максимум.
V>Были бы пятые какие-нить, тоже верил бы, кста, бо это всё еще топ. ))
synchronized в принципе плохо работает в случае жестких требований LL. Т.к. треды засыпают и могут долго просыпаться. Тут не важно нейтив или нет.

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

V>·>Т.е. не дай бог случайно ГЦ запустится — и упс.
V>ГЦ и так постоянно работает, о чём ты?
ГЦ-цикл сборки я имею в виду, stop-the-world событие конкретно.

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

V>Ну вот аналогично, если не плодить объекты первого поколения, то дотнетный сервак может несколько дней жить без полной пересборки мусора.
Но если она таки происходит — latency spike — и звонок от клиента...
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[21]: dotnet vs java 2016-2020
От: Философ Ад http://vk.com/id10256428
Дата: 11.10.16 18:56
Оценка:
Здравствуйте, Cyberax, Вы писали:

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


Ф>>>>Обновлять потом как будешь? Лет 8 назад я тоже только файлики копировал.

C>>>Снова файлы скопировать.
Ф>>Все файлы? У меня тут стоит одна софтина, которая 17 гигов весит. Ты каждый раз собираешься по 17 гигов копировать?
C>Да, а какие проблемы?

Проблема у тебя будет в том, что я после 4-го апдейта на 17 Gb потребую refund. Думаю, не только я.

C>Никто не мешает софтине иметь дельта-обновления. Централизованные обновления были бы более приятными, но не являются так уж необходимыми.

Дельта-обновления — это компонентные обновления? Что ты под этим понимаешь?

Ф>>Ещё вопрос: сносить будешь все файлы?

C>Да.

C>Самая большая у меня в каталоге Applications — Xcode, на 10Гб. Вот только что проверил — снос и установка заново занимают 3 минуты. Это меньше, чем требуется типичному MSI на то, чтобы прочитать все эти таблицы обновлений. Я уж не говорю про тот Мордор, которым является установщик MSVS.


Во-первых, Мордор обновляется чуть ли не раз в неделю, и состоит из огромной тучи компонентов, таких как "Visual Studio Tools for Office", "ReportViewer", "Web\Snippets" и т.д, которые могут быть установлены или не установлены, а так же установлены только частично. Так же они могут быть установлены по отдельности и целиком. И всё это потому, что Мордор, это огромный монстр-всемогутор. И Web-разработчика вряд-ли заинтересует какой-нибудь MFC, или "Microsoft Blend for Visual Studio", и наоборот: MFC'шника скорее всего не заинтересует какой-нибудь ASP.NET MVC. С таким же успехом можно было сделать десяток отдельных продуктов вместо одной "студии". И сколько будет студия переустанавливаться будет целиком зависеть от набора установленных компонентов, а у тебя Xcode всегда будет ставиться целиком.

Во-вторых, ты его не обновлял, а всего лишь удалил и скопировал заново. Если бы ты его обновлял, то тебе пришлось бы скачивать новый XCode. И я сильно сомневаюсь, что это бы заняло 3 минуты.

В третьих, MV VS сильно интегрируется в систему: в системные каталоги копируются новые библиотеки (VC++ Redistributable, например), ставится MS Build, регистрируются COM-компоненты. Твой XCode и рядом не стоял по этому параметру.

В четвёртых, если что-то пойдёт не так во время установки на макоси (отсутствует какая-нибудь либа, например), то уже ничего не исправить. Наверное, поэтому он в систему и не интегрируется. Под Windows всё иначе: во время установки создаётся VSS Snapshot, и ты в любой момент можешь вернуться к состоянию до установки. В мире *nix вообще со снэпшотами очень грустно: хочешь БД забэкапить в консистентном состоянии — останавливай, а потом бэкапь. Нехорошо.

И последнее: 3 минуты — это только запись файлов на неплохой SSD, а бывает что на машине не SSD. У нас тут до сих пор многие без SSD живут.

C>Никаких проблем с пакетами не замечено.


Странно... А, я вот неоднократно сталкивался с тем, что свежеустановленная софтина не работает, или перестаёт работать после того как что-нибудь обновилась. Слава богу к Маку уже больше года не прикасался.

C>Так как на практике таких софтин нет. Самая большая у меня в каталоге Applications — Xcode, на 10Гб.


17 Gb — это какой-нибудь Starcraft2. Игрушки бывают и больше.
Что любопытно, Blizzard не заставляет меня выкачитвать по 17 Gb каждую неделю — в абсолютном большинстве апдэйты незаметные, которые выкачиваются почти мгновенно. Ставятся столь же быстро как и выкачиваются.
Всё сказанное выше — личное мнение, если не указано обратное.
Re[25]: dotnet vs java 2016-2020
От: Cyberax Марс  
Дата: 11.10.16 21:36
Оценка: :)
Здравствуйте, vdimas, Вы писали:

C>>Для SSH совершенно не нужно иметь PKI.

V>Для SSL тоже НЕ НУЖНО, но МОЖНО, потому что всего одна галочка определяет — будет ли производиться верификация подписи ключа или нет.
Мимо. Для SSL обязательна проверка сертификатов. Её результат можно игнорировать, но она зашита в протокол. Даже при использовании TLS-PSK всё равно происходит проверка сертификатов.

Для SSH проверка сертификатов не нужна. Собственно, сертификатов в большинстве случаев нет и клиенты просто хранят отпечаток публичного ключа.

V>Кароч, SSL и SSH используют абсолютно идентичную инфраструктуру X.509, поэтому глупо говорить, что вот там нужно, а вот там нет. Это только от непонимания можно заявлять. ))

V>Еще раз для тех, кто в танке. Инфраструктура ключей ИДЕНТИЧНА происходящему в SSL.
V>Медитировать над этим до просветления.
Я уже предложил. $1k на бочку и нейтральный арбитр.

V>Чиста хороший совет — ознакомься.

V>Просто ознакомься.
V>Ты не выглядишь глупым, хотя местами показываешь некоторую упоротость.
Я уже предложил. $1k на бочку и нейтральный арбитр.

C>>(да, я писал реализацию парсера для X509 с нуля)

V>Парсер ЧЕГО?
X509-сертификатов, включая разбор ASN.

V>Я так предполагаю, что для языка Rust (или на чём ты там писал?) таких кодогенераторов пока не существует, верно? Получается, что ты портировал некий готовый парсер, сгенеренный для другого языка и от непонимания истории происхождения того кода только что прилюдно спалился.

Нет. Я руками писал его с нуля, с разбором и валидацией всего.

V>Я же тебе уже сказал, что есть JMX — это просто набор объектов, которые удовлетворяют некоторым вербальным соглашениям о своём интерфейсе. Ну например, как ЛЮБЫЕ грамотно спроектированные объекты-исключения дотнета должны уметь передаваться по сети, примерно вот так.

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

Открой JConsole и присоединись к рабочей JVM.
Sapienti sat!
Re[20]: dotnet vs java 2016-2020
От: Cyberax Марс  
Дата: 11.10.16 21:39
Оценка:
Здравствуйте, Ikemefula, Вы писали:

C>>Только это работает на практике лучше, чем угрёбищный MSI. А для end-user приложений популярны разные магазины, которые автоматизируют обновление и установку.

I>На практике под макось отсутствует внятный софт.
Типа MS Office?

I>Не дай бог поставить что нибудь нестандартное, вспотеешь вычищать. Потому пилятся потиху вещи навроде Homebrew

Homebrew — это вполне классический юниксовый пакетный менеджер. И используется практически эксклюзивно для утилит командной строки (из графического там встречал только WireShark да gitk). Я говорю про установщики конечных приложений.
Sapienti sat!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.