ailev.ru

Обсуждение

В архиве: 12 комментариев.

Читать и комментировать в ЖЖ ↗

Имя не сохранено · 17 ноября 2015

Комментарий

Это сугубо психологическое любопытство: вот уже сколько лет ваш восторженный интерес к различным темам/направлениям сменяется на не менее бурные заметки, посвященные новым мейнстримам. И это нормально. Это понятно. Это хорошо. Но у вас не возникает подспудной мысли: а может и очередной восторг закончится лишь переходом к новому/очередному увлечению? Вот, казалось, интернет откроет... но нет без семантики тут... да к черту семантику - глубокое обучение форева!... Как вы сами относитесь к этим перескокам, не заканчивающимся прорывным результатом? Мне импонирует ваш энтузиазм (и эрудиция, работоспособность), но настораживает легкость перехода к новому с обрыванием старых связей. Давайте посмотрим на Вольфрам - 25 лет битья в оду точку - и какую глубокую дырку продолбил ))) Повторю - это сугубо психологический интерес. Даже не для ответа.

vvagr · 17 ноября 2015

Комментарий

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

vvagr · 17 ноября 2015

Комментарий

И я продолжаю не понимать отождествление уровней стека протоколов с модулями. Вот на примере SW: Насколько я знаю, OWL практически не реализуется над иными форматами представления, кроме RDF. Правда, у RDF таки есть несколько сериализаций. Но переход от RDF-XML или Turtle к RDF не описывается в терминах интерфейса, вроде бы. Или для интернета, разве описываются взаимодействия уровней протоколов как интерфейсы?

Анатолий Левенчук · 17 ноября 2015

Комментарий

Протоколы -- это именно интерфейсы между наборами модулей. Модули (программные, а не данных), реализующие парсинг или синтез данных в формате семантик веба; модули реализующие набор протоколов каждого из уровней интернет-стека. В учебниках каждый уровень видит только соседний и общается только через протокол. В жизни, конечно, всё кубарем -- каждый оптимизирует, как может (ибо чем универсальней протокол, тем он менее эффективен, и хочется просто залезть и сделать всё "руками", безо всяких "модулей". Так и делают, иногда документируя, а иногда и нет). В программировании всё ещё сложней: в языках там различают гранулярность и модульность, плюс есть не столько модульность, сколько определение одних данных над другими (типа XML-RDF). Гранулярность синтаксическая, а модульность интерфейсная -- но хрен редьки не слаще. А про данные -- всё одно волнует набор модулей, реализующих синтаксис всех этих вложенных языков, парсеры да билдеры. Так что стек протоколов это стек интерфейсов, а стек модулей реализует стек протоколов -- они никак не отождествляются. Это две стороны одной медали.

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

Анатолий Левенчук · 17 ноября 2015

Комментарий

Какой "восторженный интерес"? Я просто каждые 5-7 лет меняю предметную область, абсолютно сознательно. Остаются после этого сделанные проекты, а не пропаханные дыры в предметных областях. Я по своему складу совсем не Вольфрам, мне неинтересно 25 лет заниматься одним и тем же. Но опыт разных предметных областей помогает мне решать такие проблемы клиентов, которые требовали бы иначе наличия нескольких самых разных консультантов, собрать которых в жизни вряд ли получилось бы. Но некоторые интересы у меня тянутся десятилетиями. Я, например, машинным обучением занимался и в 1978 году, и в 2015, инженерией знаний в 1986 году и 2013, почему бы и нет. Но непонятно, почему этим нужно заниматься всю жизнь: интерес ведь в том, чтобы в каждую новую область принести с собой всю накопленную в других областях экспертизу, и именно этим продвинуть её!

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

Анатолий Левенчук · 18 ноября 2015

Комментарий

Вы бы ещё Modula-3 какую-нибудь вспомнили, там модульность даже в название языка попало -- но Modula ни разу не была объект-ориентированной. И закон Конвея в связи с ней не обсуждался. Нет, мне написанное совсем не напоминает ООП, никаким боком.

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

Имя не сохранено · 19 ноября 2015

Комментарий

ООП другое - целью ООП было не вертикальная интеграция а управление сложностью отдельного проекта - ООП появилось, когда уже были такие большие системы как OS/360, на которых уже стало видно недостаточность только деления на отдельные модули. Причем вообще инженерные проекты были большими еще в 1960-х - например где-то встречал, что ЕМНИП общий вес техдокументации по проекту "Аполлон" был порядка 100 тонн бумаги - ПО даже и близко к этому тогда не подбиралось (что впрочем и неудивительно - "Аполлон" один из самых больших инженерных проектов цивилизации вообще - в одном с ним ряду например БАК, а также ПРО Москвы). Нынешние проекты формально можно считать большими, но по факту, например Убунту однозначно большой проект, но там даже ядро и стандартная поставка не 100% совместимы.

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