Re[11]: Как запустить Блэкбокс и выполнить первую программу
От: Mamut Швеция http://dmitriid.com
Дата: 01.11.04 19:12
Оценка:
Здравствуйте, achp, Вы писали:

A>Здравствуйте, Кодт, Вы писали:


К>>Jesus Christ incorporated — звучит! Надо Ватикану за деньги продать


A>Они давно уже это сами продают по всему миру. Каждого 25 декабря.


Напомнило мне. В 97-м в Штатах христианская общественность была всколыхнута. Некий художник нарисовал — на полном серьезе — распятого Санта Клауса и вывесил на всеобщее обозрение. Кстати, здесь:

1997: Artist Robert Cenedella drew a painting of a crucified Santa Claus. It was displayed in the window of the New York's Art Students League and received intense criticism from some religious groups. His drawing was a protest. He attempted to show how Santa Claus had replaced Jesus Christ as the most important personality at Christmas time.


А вот и сам Санта.

И что бы вы подумали? "Православные" (в смысле правильные) христиане в Штатах обозвали это ересью и мракобесием. И продолжили праздновать Рождество как обычно.

ЗЫ. В Штатах два главных shopping days с наибольшими обьемами продаж — это за день до Рождества и день сразу за Рождеством (когда все подарки обменивают).
... << RSDN@Home 1.1.4 beta 3 rev. 185>>


dmitriid.comGitHubLinkedIn
Re[10]: Как запустить Блэкбокс и выполнить первую программу
От: Павел Кузнецов  
Дата: 01.11.04 21:33
Оценка:
Кодт:

> Jesus Christ incorporated — звучит! Надо Ватикану за деньги продать


Где-то уже что-то очень похожее было... У Хайнлайна, что ли?..
Posted via RSDN NNTP Server 1.9 gamma
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[7]: Как запустить Блэкбокс и выполнить первую программу
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.11.04 23:16
Оценка:
Здравствуйте, Кодт, Вы писали:

К>У Паскаля операторная грамматика (про Оберон не скажу, но видимо, тоже), что позволяет делать очень простой парсер. К сожалению, простой парсер научить телепатии трудно...


Что такое "операторная грамматика" науке не извесно. А простота парсинга Паскаля определяется тем, что этот язык полностью удовлетворяет требованиям LL(1)-парсеров и его можно парсить банальным рекурсивным спуском без откатов или других вывертов. Понятно что это позволяет обходиться без использования генераторов парсеров. Но это же не значит, что именно так и нужно поступать? В общем, кроме как халтурой — это объяснить больше ничем нельзя.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Ответ на вопросы
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.11.04 23:16
Оценка: :))
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Подробнее об этом на сайте info21


Я теперь как эту фразу слышу, так сразу вспоминаю монолог Петросяна: "А шпингалеты вызвоизть сомовывозом...".
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Дебагер
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.11.04 23:16
Оценка: 1 (1) +2 :)
Здравствуйте, Зверёк Харьковский, Вы писали:

ЗХ>Мой вопрос был к тому, что аргументация в стиле "автомобиль может сбить человека, поэтому надо запретить автомобили" — порочно. А отсутствие дебуггера в BlackBox'е аргументируется именно так.


А это такая политика в стиле МС. Пока у нас нет чего-то, то мы во всю глотку орем, что это вредное излишество. Когда это что-то появляется, то орем что без этой вещи жить нельзя.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Ответ на вопросы
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.11.04 23:16
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Это называется повторное использование компонента. В этом состоит смысл компонентно ориентированного программирования — один модуль используется несколькими "проектами".


А можно услышать твое определение компонента и компонентного подхода в производистве ПО?
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Конкурс по Оберону!
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.11.04 23:16
Оценка:
Здравствуйте, bkat, Вы писали:

B>С сервиспаком ничего делать не надо. Его нужно просто стереть.

B>BB ведь на Обероне написан?
B>Тогда багов там быть не может в принципе и сервиспаки не нужны по определению.

Боюсь 99% народов так и сделают. Я тоже тупо смотрел на этот файл думая куда ж его...
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Как запустить Блэкбокс и выполнить первую программу
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.11.04 23:16
Оценка: :))
Здравствуйте, Сергей Губанов, Вы писали:

СГ>А что интересная идея — повесить компиляцию на событие любого редактирования текста...


Ага. Так и вижу серые квадраты Малевича вспыхивающие и тухнущие пачками при наборе символв.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Как запустить Блэкбокс и выполнить первую программу
От: Павел Кузнецов  
Дата: 01.11.04 23:51
Оценка: +1
VladD2:

> К>У Паскаля операторная грамматика <...>


> Что такое "операторная грамматика" науке не извесно.


Науке-то как раз очень даже известно
Карпов В.Э. Классическая теория компиляторов

ОПЕРАТОРНЫЕ ГРАММАТИКИ (ГРАММАТИКИ ПРОСТОГО ПРЕДШЕСТВИЯ)

Posted via RSDN NNTP Server 1.9 gamma
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[9]: Как запустить Блэкбокс и выполнить первую программу
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.11.04 02:10
Оценка:
Здравствуйте, Павел Кузнецов, Вы писали:

ПК>Науке-то как раз очень даже известно

ПК>Карпов В.Э. Классическая теория компиляторов
ПК>

ОПЕРАТОРНЫЕ ГРАММАТИКИ (ГРАММАТИКИ ПРОСТОГО ПРЕДШЕСТВИЯ)


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

Судя по описанию из этого документа данная техника пригодна только для рабзобра выражений. Для парсинга же нужен хотя бы LL(1)-парсер.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Как запустить Блэкбокс и выполнить первую программу
От: Павел Кузнецов  
Дата: 02.11.04 04:03
Оценка:
VladD2,

> ПК>Науке-то как раз очень даже известно

> ПК>Карпов В.Э. Классическая теория компиляторов
> ПК>

ОПЕРАТОРНЫЕ ГРАММАТИКИ (ГРАММАТИКИ ПРОСТОГО ПРЕДШЕСТВИЯ)


> Судя по тому, что данный термин встречается в гугле ровно 2 раза <...>


Ищи Яндексом, он учитывает морфологию русского языка, чего Google делать не умеет.
Posted via RSDN NNTP Server 1.9 gamma
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[5]: Ответ на вопросы
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 02.11.04 07:21
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>А можно услышать твое определение компонента и компонентного подхода в производистве ПО?


Зачем мое? Оно, как бы, официально десяток лет назад было дано в статье Клеменса Шиперского. И реализовано в языке Component Pascal. Жаль что ссылку на статью не могу дать (битая ссылка, куда-то переместили ее, а куда я не знаю). Вот тут его другие статьи, тоже по компонентам: http://www.sdmagazine.com/columnists/szyperski/

Clemens Szyperski is a research software architect with Microsoft Research and author of the Jolt Award-winning book Component Software: Beyond Object-Oriented Programming (Addison-Wesley, 1998). You can reach him through Software Development magazine.

До того как он перешел работать в Микрософт, Клеменс Шиперский был со-основателем Oberon Microsystems.

Оригинальная статья Шиперского у меня где-то валялась, если что, могу поискать и выслать. Она короткая, страницы три-четыре. Сначала он рассматривает что-такое модульные расширяемые (операционные) системы и делает вывод что это хорошо. Потом он рассматривает библиотеки (иерархий наследования) классов и показывает, что это плохо. Потом он показывает как можно объединить модульность с классами чтобы было хорошо (какие ограничения надо наложить на ООП) и дает формулировку КОП — это более дисциплинированное ООП, далее по пунктам:

У info21: Что такое компонентно-ориентированное программирование (краткая справка)
http://www.inr.ac.ru/~info21/info/qtocop.htm
В кратце:

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

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

То есть, например, компоненты Delphi — это вовсе не компоненты в рамках КОП, а просто библиотека классов, со всеми вытекающими из этого проблемами (слово "компонент" — имеет очень широкий смысл). В рамках КОП компоненты — это модули, в которых находятся реализации абстрактных типов (классов или интерфейсов). Есть модуль с определением абстрактного типа (интерфейса), и есть несколько модулей от сторонних производителей с реализацией этого интерфейса. Собственно, Микрософтовская COM — достаточно близко находится от КОП, только у Микрософта не было языка в котором COM объекты были бы "родными", вот они и создали C#, а COM трансформировали в .NET.
Re[7]: Как запустить Блэкбокс и выполнить первую программу
От: Kh_Oleg  
Дата: 02.11.04 07:22
Оценка:
Здравствуйте, VladD2, Вы писали:

K_O>>Если я не ошибаюсь, то, начиная с языка Modula-2, процедуры заканчиваются не

K_O>>
K_O>>END;
K_O>>
, а

K_O>>
K_O>>END ProcName;
K_O>>
именно для того, чтобы компилятор мог пропустить кусок кода, относящегося к данной процедуре, содержащей ошибку, и продолжить компиляцию дальше.


VD>Что-то ты не дооценивашь компиляторы. Они и так способны пропускать очень многое и без таких банальных подсказок. Тем же компиляторам Шарпа от МС и Явы от Сана или IBM-а не требуется никаких подсказок. Они и так очено качественно обнаруживают и диагностируют ошибки.


Что-то ты склонен все сильно упрощать. Я не говорю, что при конструкции end; невозможно показать все ошибки, я имел ввиду то, что при конструкции end ProcName; компилятор можно сделать проще при тех же возможностях по обнаружению ошибок. Кстати, и мне как программисту удобнее было бы видеть окончание процедуры как end ProcName; потому как тогда проще обнаружить лишний или недостающий end;
Re[6]: Как запустить Блэкбокс и выполнить первую программу
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 02.11.04 07:36
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Сергей Губанов, Вы писали:


СГ>>Ctrl+K — компиляция


VD>А "K" — это "Кampilatcia" ?



Швейцарцы писали, а у них в стране, кажется, четыре официальных языка, может на каком-то из них компиляция на латинскую букву "K".

Можете поменять:

info ---> Menus ---> Dev/Rsrc/Menus ---> MENU "Dev"
Строчка:
"&Compile" "K" "DevCommpiler.Compile" "TextCmds.FocusGuard"

Букву "K" меняете на какую хотите


Можете даже свое меню создать...

Потом нажать на
info ---> Update Menus
Re[2]: Component Pascal
От: buriy Россия http://www.buriy.com/
Дата: 02.11.04 10:42
Оценка: 46 (6) +1 -1
Здравствуйте, Сергей Губанов,
Здравствуйте, VladD2.

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

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

Пропагандируемая тобой идея компонентного программирования сама по себе никому не нужна. Нужна удобная среда, библиотеки, сообщество людей, переиспользование старого кода, поиск ответов в интернете — возможность успешно решать современные реальные проблемы, а не нигилизм, как у тебя в программной среде BlackBox. "Разрушить мир до основанья, собрать все старое, и сжечь, мы наш, мы новый мир построим!" (не со зла немного исковерканные мною классики).

Учителя должны учить учеников думать и делать, для того, чтобы ученики научились хорошо разбираться в мире и достигать своих целей. А значит, нужно, чтобы они умели хорошо решать как абстрактные, так и реальные задачи. Конечно, хорошо было бы свести все задачи к знанию твоих принципов и их применению, но, увы, умения часто имеют мало общего со знаниями. Кроме того, замечу, что принципы сами по себе (без задач) не нужны вообще. По моим наблюдениям, программисты, которых учили только в классическом стиле, не умеют выживать. То же относится и ко всем другим профессиям (самый наглядный пример — экономисты, у которых соотношение теория/практика = 99/1). Им приходится разбираться в современном производстве программ и программных систем с самых азов. И причина этого — именно консерватизм учителей, которые должны одновременно совмещать две цели: обучение духа (знания, принципы, теории) и обучение тела (реальные задачи, примеры, методы), но часто забывают или об одном, или о другом.
При широком распространении сейчас учебников и учебных пособий, педагогика сейчас не нужна для преподавания и преподавать может любой желающий. Но ведь у преподавателей в наше время нет никакой обратной связи с учениками, или же она растягивается на многие годы — как узнать, пригодятся ли твоему ученику знания и умения, которые ты ему дал? Может, поэтому так много сейчас среди преподавателей людей, которые не ведают, что творят?!

Процитирую еще:
"Теории приходят и уходят, а примеры остаются."
(И.М. Гельфанд, математик, академик РАН, академик АН СССР)

Уважаемый Сергей, как ты считаешь, среда BlackBox — это хороший пример для детей? Это ли достойная идея с достойным воплощением? Я обращаюсь сейчас к твоему опыту решения практических задач. Давай откроем глаза и перечислим его плюсы и его минусы. А то твои фанатично горящие глаза, боюсь, не видят самого важного, того, что в наше время надежно сокрыто от профанов — объективного и всестороннего видения мира и знания его законов. И возрази мне, если это не так.

Уважаемый Влад, отпусти его с миром (ибо не ведает он, что творит ). Не выросло у него еще то, что должно позволять ему не впадать в религиозный фанатизм — разумелка. Видно, не нужен был все эти годы ему разум А излишние сообщения чисто рекламного характера (по-русски, лукавые, то есть, замалчивающие плохие стороны) с его стороны в других темах, из-за которых и появилась эта тема, я предлагаю именовать "спамом" и обращаться с ними, как с любым мусором. Нужен — оставить, не нужен — убрать, человека предупредить и, если человек и дальше будет мусорить, забанить.
/bur
Re[6]: Ответ на вопросы
От: serg_mo  
Дата: 02.11.04 11:57
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:


СГ>Оригинальная статья Шиперского у меня где-то валялась, если что, могу поискать и выслать.

Было бы неплохо ее получить. Ты бы хоть название ее сказал, можно было бы поискать.
... << RSDN@Home 1.1.3 stable >>
Re[10]: Как запустить Блэкбокс и выполнить первую программу
От: TheBeard Россия  
Дата: 02.11.04 11:59
Оценка: 1 (1) +1
Вы неправы. Просто большая часть доступной литературы — по-английски.
Поищите словосочетание "operator precedence grammar" (именно в кавычках,
чтобы отсечь "правила предшествования операторов"). Мне попадался
русский перевод "грамматика с операторным предшествованием". Такие
грамматики "проще", чем LL(k) и упоминаются в любом серьёзном курсе
конструирования компиляторов.

VladD2 wrote:

> Судя по тому, что данный термин встречается в гугле ровно 2 раза (а

> второй так и вовсе не удается найти), то я склоннен думать, что этот
> наукобразный термин не вошел в реальную жизнь.
Posted via RSDN NNTP Server 1.9 gamma
Re[7]: Clemens Alden Szyperski
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 02.11.04 12:24
Оценка:
Здравствуйте, serg_mo, Вы писали:

_>Было бы неплохо ее получить. Ты бы хоть название ее сказал, можно было бы поискать.


Только что накопал микрософтовскую персональную страницу Шиперского:

http://www.research.microsoft.com/users/cszypers/

Там в разделе публикаций есть ссылка на ту статью, о которой я говорил:

Component-oriented Programming: A refined variation on object-oriented programming. Clemens Szyperski. Oberon Tribune, 2:1, Oberon microsystems, Zurich, Switzerland. January 1996.

Прикол в том, что там дана таже самая битая ссылка!
Re[6]: Ответ на вопросы
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.11.04 13:53
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Здравствуйте, VladD2, Вы писали:


VD>>А можно услышать твое определение компонента и компонентного подхода в производистве ПО?


СГ>Зачем мое?


Понятно. Значит дать не можешь. Что до КОП == ООП — это большое заблуждение. На С++ можно легко писать в ОО-стиле, но очень трудно писать в компонентном стиле.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Как запустить Блэкбокс и выполнить первую программу
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.11.04 13:53
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Здравствуйте, VladD2, Вы писали:


VD>>Здравствуйте, Сергей Губанов, Вы писали:


СГ>>>Ctrl+K — компиляция


VD>>А "K" — это "Кampilatcia" ?



СГ>Швейцарцы писали, а у них в стране, кажется, четыре официальных языка, может на каком-то из них компиляция на латинскую букву "K".


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

СГ>info ---> Menus ---> Dev/Rsrc/Menus ---> MENU "Dev"

СГ>Строчка:
СГ>
СГ>"&Compile" "K" "DevCommpiler.Compile" "TextCmds.FocusGuard"
СГ>

СГ>Букву "K" меняете на какую хотите

Ну, хорошо хоть так. Вы бы в своем дистрибютиве заменили что ли. А то совсем нелогично. А этой среде логики и так нехватает.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.