OberonCore
https://forum.oberoncore.ru/

Оберон как серебряная пуля
https://forum.oberoncore.ru/viewtopic.php?f=57&t=5782
Страница 1 из 1

Автор:  Info21 [ Суббота, 18 Июнь, 2016 09:28 ]
Заголовок сообщения:  Оберон как серебряная пуля

Просперо78 дважды за небольшой срок повторил мантру "нет серебряной пули".
Чем и спровоцировал эту тему.

На мой взгляд повторял он её в прямом противоречии с собственным опытом, о котором он рассказывает "в прямом эфире" (viewtopic.php?f=5&t=5677).
Так часто бывает: говорят одно, а реальность другая.

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

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

Но конкретные примеры всё-таки есть.

1
Есть "атомный" опыт (http://www.inr.ac.ru/~info21/oberonRostovAES.htm).

2
Есть мой собственный опыт: к 90-му году я бросил пытаться делать то, что хотелось сделать с контуперной алгеброй (полка книг по программизму, которую как-то упоминал Илья Ермаков, родом оттуда). Но пришел Оберон/Блэкбокс -- и дело завертелось.
Тут можно говорить не о порядке величины по производительности, а о факторе бесконечность.

3
Мы знаем, что единая система вводных курсов алгоритмики-информатики-программирования совершенно реалистична на Блэкбоксе (все куски опробованы) -- и нереальна на любом другом инструменте.

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

Чтобы обобщить этот опыт (и включить, например, опыт А.Ширяева, http://www.inr.ac.ru/~info21/oberonBPLA.htm), нужно немножко уточнить смысл метафоры "серебряная пуля" (изначально, напомню, это староанглийское средство убить вурдалака, которого простые пули не берут):

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

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

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

Неплохо бы обозначить/засвидетельствовать опыт такого рода.

Вот Иван Андреевич как-то бросил слова "любимый Блэкбокс". Хорошо бы чуток раскрыть их.

И т.д.

Автор:  prospero78 [ Воскресенье, 19 Июнь, 2016 16:50 ]
Заголовок сообщения:  Re: Оберон как серебряная пуля

Говоря про "серебряную пулю", всё-таки надо договориться о понятиях.
Конечно, в первую очередь, речь идёт о "убить оборотня". Оборотень, это иная форма существования. Не то, что бы запрещённая, но поддерживаемая за счёт доступных форм, и недоступная для исходных форм.
В программировании "оборотень" это некий уровень, которой находится ниже/глубже того уровня, который доступен повседневно. Например, прикладной уровень -- доступная форма. Драйвера/антивирусы -- сумеречная зона. Доступна, но вторжение в неё -- чревато. И зона тьмы: машинный код, ассемблер, прямой доступ, ядро.
В смысле программирования, "серебряной пули", которая свяжет различные уровни в программировании по горизонтали и вертикали нет. Такова греховная суть современного железа. Не представляю себе, как на питоне, Обероне или перле написать загрузчик, планировщик, менеджер, описать вещественную арифметику. Компонентный Паскаль, в составе БлекБокс предоставляет средства эмулирующую подобие операционной системы. Но приблизиться к железу -- значит потерять безопасную комфортную среду, что заведомо плохая идея.
В истории есть примеры, когда язык и был отображением команд на железо (Lilit, Кронос, JVMED (* поколение 2.0 *), процессор под Паскаль, частично этих же целей достиг "Эльбрус" -- по моей семантической классификации -- поколение 1++, Современные процессоры с защитой данных и стека -- поколение 1+). Своего рода "безгрешное" железо с "непрочным зачатием". В мейнстриме "серебряная пуля" невозможна. В случае безгрешного железа -- серебряная пуля не нужна. Так что я желаю грандиозного успеха Вирту с его ПЛМ RISC-процессором. Это будет мощный шаг вперёд к совершенной индустрии.
Что касается именно языковых средств, то Компонентный Паскаль весьма близок к идеалу. Недостатки его обязательно вылезут на новых аппаратных средствах, но пока, по сравнению с тем что есть -- пусть это будет не серебряная, то бронебойная пуля с вольфрамовым сердечником.
(* должен покаяться во грехе: по молодости пытался написать свою ОС, но когда понял какой меня ждёт ад драйверов решил, что не надо *)

Автор:  Info21 [ Воскресенье, 19 Июнь, 2016 21:25 ]
Заголовок сообщения:  Re: Оберон как серебряная пуля

Определение было дано.

Вы начинаете с того, что предлагаете договориться, но тут же подменяете свои же определения.

Автор:  prospero78 [ Понедельник, 20 Июнь, 2016 09:02 ]
Заголовок сообщения:  Re: Оберон как серебряная пуля

Вполне возможно я не прав. "Серебряная пуля" это возможность использовать инструмент в любой ситуации, как по горизонтальному масштабу, так и глубине.

Автор:  Kemet [ Вторник, 21 Июнь, 2016 08:31 ]
Заголовок сообщения:  Re: Оберон как серебряная пуля

prospero78 писал(а):
Вполне возможно я не прав. "Серебряная пуля" это возможность использовать инструмент в любой ситуации, как по горизонтальному масштабу, так и глубине.
например микроскоп для забивания гвоздей и колки льда. Глупо? Неудобно? Да. Но за молоком и ледорубом нужно куда-то идти, попу от стула оторвать в общем... А оно лень, да и количество ключевых слов опять-же, в мозг не вмещается, понимаешь... А вдруг молотком по пальцу или ледорубом по ноге? "как страшно жить"(с)...
В общем, Оберон - серебряная пуля, звучит как-то глупо, в свете практически нулевой применимости в реальных проектах, а не хелловордах.
И таки да, компилятор Оберона - это хелловорд в сфере компиляторов, ось Оберон - это хелловорд в сфере осестроения.
И, в общем-то, они именно этим и ценны.

Автор:  Пётр Кушнир [ Вторник, 21 Июнь, 2016 10:47 ]
Заголовок сообщения:  Re: Оберон как серебряная пуля

Kemet писал(а):
И таки да, компилятор Оберона - это хелловорд в сфере компиляторов, ось Оберон - это хелловорд в сфере осестроения.
Вы не практик, видимо. А то ведь понятно, что плохо и сложно само получается, и видимо, людишки-айтишки так и привыкли думать - что сложно и плохо - то нормально, а что просто и продуманно - то хеллоуворлд и окодемичность.
Это же в нормальных компиляторах многопроходность нужна только чтобы все хидеры наконец собрать воедино с сырцом? :D Дебильная идея - дебильная реализация. А у Вирта даже хидеров нет, значит он так ничего и не понял в нашем крутом и сложном ОйТи.

Автор:  Иван Кузьмицкий [ Вторник, 21 Июнь, 2016 11:15 ]
Заголовок сообщения:  Re: Оберон как серебряная пуля

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

Автор:  Info21 [ Вторник, 21 Июнь, 2016 11:25 ]
Заголовок сообщения:  Re: Оберон как серебряная пуля

prospero78 писал(а):
Вполне возможно я не прав. "Серебряная пуля" это возможность использовать инструмент в любой ситуации, как по горизонтальному масштабу, так и глубине.
Если на ходу придумывать значения слов от балды, этак никогда не договоришься.

Автор:  Пётр Кушнир [ Вторник, 21 Июнь, 2016 11:48 ]
Заголовок сообщения:  Re: Оберон как серебряная пуля

Иван Кузьмицкий писал(а):
Пётр Кушнир писал(а):
Это же в нормальных компиляторах...
Могут возразить, что нормальный компилятор умеет супер-пупер оптимизировать то, что в исходниках кое-как накарябал человек.

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

Вложения:
pole_3.jpg
pole_3.jpg [ 93.57 КБ | Просмотров: 10134 ]

Автор:  Kemet [ Вторник, 21 Июнь, 2016 13:05 ]
Заголовок сообщения:  Re: Оберон как серебряная пуля

Пётр Кушнир писал(а):
А у Вирта даже хидеров нет, значит он так ничего и не понял в нашем крутом и сложном ОйТи.

Хе, дак хидеры у Вирта были - в Модулах всяких. И Обероны с хидерами есть, от Линца, например.
В общем хидеры это вообще не про то.
Я ж говорю - хелловордость компиля и ос оберон это плюс, причем бесценный плюс. И хелловордность их возможно, в том числе и по причине хелловордности самого языка. И это тоже плюс, особенно для поиграться в компиляторщика и осестроителя.
Но даже в хеллвоврдах присутсвуют ошибки, кудаж без них. Это человеческий фактор. И никакой яп это не исправит.

Автор:  Info21 [ Вторник, 21 Июнь, 2016 13:33 ]
Заголовок сообщения:  Re: Оберон как серебряная пуля

Пётр Кушнир писал(а):
Это мне напоминает медицинские методические материалы, когда ножки маленькие, пальцы кривенькие, зато во-о-от такое ухо.
Спасибо за картинку. Давеча понадобилась, но не смог быстро найти.

Автор:  Дмитрий Дагаев [ Суббота, 25 Ноябрь, 2017 18:46 ]
Заголовок сообщения:  Re: Оберон как серебряная пуля

Надо бы дать слово автору, Фредерик Брукс, «Серебряной пули нет» СПН
Глава 16. Серебряной пули нет - сущность и акциденция в программной инженерии
Глава 17. Новый выстрел "Серебряной пули нет"

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


А вот через 10 лет, гл.17
Цитата:
"СПН" с несомненностью доказывает, что если доля неосновной части работы меньше 9/10, то даже сведя ее к нулю (что было бы чудом), нельзя получить рост продуктивности на порядок. Атаку необходимо нацелить на существенную часть.

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


Доказательства решения масштабных задач имеются: 2 человека (5чел-лет) делают Проект Оберон с нуля, включая ОС, компилятор и графическую систему. Куда еще увеличивать производительность, чтобы это же сделать за 3 месяца? Или у вас есть задачи, в своей существенной части более сложные?

Автор:  Comdiv [ Суббота, 25 Ноябрь, 2017 20:08 ]
Заголовок сообщения:  Re: Оберон как серебряная пуля

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

Верно ли я понимаю, что Брукс считал проверку точности представления связанной с устранением синтаксических ошибок? Серьёзно? Или это перевод такой точный?

Автор:  Дмитрий Дагаев [ Суббота, 25 Ноябрь, 2017 20:24 ]
Заголовок сообщения:  Re: Оберон как серебряная пуля

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

Автор:  Евгений Темиргалеев [ Воскресенье, 26 Ноябрь, 2017 16:48 ]
Заголовок сообщения:  Re: Оберон как серебряная пуля

Info21 писал(а):
Вот Иван Андреевич как-то бросил слова "любимый Блэкбокс". Хорошо бы чуток раскрыть их.

И т.д.
Можно почитать повести Алекандра Бека о доменщиках -- как они любят домны, или "Жизнь Бережкова", как конструкторы любят моторы. Думаю, что это аналогичный случай. :)

Автор:  Евгений Темиргалеев [ Воскресенье, 26 Ноябрь, 2017 16:52 ]
Заголовок сообщения:  Re: Оберон как серебряная пуля

Илья Евгеньевич обнаружил народное творчество, хорошо иллюстрирующее существо мейнстримого подхода к программированию.
В том числе, это хорошая иллюстрация причины, по которой у Вирта появилась Модула-2 и Оберон, а не Паскаль-80 и Паскаль-86.

Вложения:
photo_2017-11-26_12-23-11.jpg
photo_2017-11-26_12-23-11.jpg [ 69.7 КБ | Просмотров: 8713 ]

Автор:  Info21 [ Воскресенье, 26 Ноябрь, 2017 19:23 ]
Заголовок сообщения:  Re: Оберон как серебряная пуля

Евгений Темиргалеев писал(а):
Думаю, что это аналогичный случай. :)

Интересна не аналогия, а специфика.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/