Re[29]: *
От: Курилка Россия http://kirya.narod.ru/
Дата: 01.11.04 11:32
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

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


VD>>А разбиение на модули куда удобнее делать именно на уровене исполняемых файлов. Зачем мне грузить отдельно еденицу видимости кода???


СГ>Золотые слова. Сами додумались?


СГ>Модуль — это:

СГ>1) единица исполнения (исполнимый файл)
EXE?
СГ>2) единица компиляции
СГ>3) единица инкапсуляции (заметьте НАСТОЯЩЕЙ! инкапсуляции)
а есть ещё псевдоинкапсуляция или симуляция инкапсуляции?

СГ>4) самая крупная структурная единица программы

Т.е. нет ничего более крупного аля просто "программа" или "проект"???
СГ>....
СГ>...можно много еще чего написать
СГ>.....
Напиши!



СГ>Кстати, размер модуля как правило не большой и не маленький, так средний.

Определённый Виртом и считающийся великим тайным размером, единственно верным для всех случаев жизни!
Re[26]: = vs ==
От: Mamut Швеция http://dmitriid.com
Дата: 01.11.04 11:41
Оценка: 1 (1) +2
Здравствуйте, Сергей Губанов, Вы писали:

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


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


СГ>>>Перечитайте, пожалуйста, исходную статью. Про "=" и "==" говорит не сам Вирт, а тот учитель слова которого Вирт цитировал, именно сын того учителя (а не сын Вирта) задавался этим вопросом.


Д>>если Вирт про это сказал в докладе — значит, считает это важным


СГ>Так это важно.


Почему это важно?

В С++:
Оператор присваивания: =
Оператор сравнения: ==

В Паскале:
Оператор присваивания: :=
Оператор сравнения: =

В PHP:
Оператор присваивания: =
Оператор сравнения: ==
Оператор безусловного сравнения типов: ===

В VB:
Оператор присваивания: =
Оператор сравнения: =

Как видите, не важно. В любом случае надо будет просто запомнить. Если человек не понимает операцию присваивания, то такому человеку не поможет даже SET A EQUAL TO B (гипотетически).

И не надо мне говорить, что пара :=/= из Паскаля легче для понимания. Ничем не легче. Люди, далекие от программирования, не понимают и ее тоже. Зато, поняв операцию присваивания, им все равно становится, что писать, :=, = или <-
... << RSDN@Home 1.1.4 beta 3 rev. 185>>


dmitriid.comGitHubLinkedIn
Re[45]: Что дают шаблоны?
От: Sergey J. A. Беларусь  
Дата: 01.11.04 11:49
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

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


К>>1) заводим в EXE служебный поток — интерпретатор команд


СГ>Ключевое слово ПОТОК. Активные объекты в Active Oberon, Zonnon, (и, кажется, в Ada) работают друг с другом примерно так как Вы описали. У каждого объекта есть очередь, в которую ставятся команды-сообщения от других активных объектов.


Ну обойдись без потока — опрашивай регулярно семафоры из главного потока.
(надеюсь Вы не станете требовть решения СОВСЕМ без потоков ? )
Я — свихнувшееся сознание Джо.
Re[46]: Что дают шаблоны?
От: Курилка Россия http://kirya.narod.ru/
Дата: 01.11.04 11:51
Оценка:
Здравствуйте, Sergey J. A., Вы писали:

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


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


К>>>1) заводим в EXE служебный поток — интерпретатор команд


СГ>>Ключевое слово ПОТОК. Активные объекты в Active Oberon, Zonnon, (и, кажется, в Ada) работают друг с другом примерно так как Вы описали. У каждого объекта есть очередь, в которую ставятся команды-сообщения от других активных объектов.


SJA>Ну обойдись без потока — опрашивай регулярно семафоры из главного потока.

SJA>(надеюсь Вы не станете требовть решения СОВСЕМ без потоков ? )

Да ну, с потоками-то любой дурак сделает
Re[43]: Что дают шаблоны?
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.11.04 11:56
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

VD>>Скорее тот казус когда Вы не видили разницу между ссылкой и указателем.


СГ>Это я-то не видел?


Ага.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[20]: Ссылка vs Указатель
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.11.04 11:56
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Как я указатель могу назвать ссылкой?



Ты то? Несомненно.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[30]: Что дают шаблоны?
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.11.04 11:56
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>В общем-то все.


Вот и хотелось бы глянуть на это чудо.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[45]: Что дают шаблоны?
От: Кодт Россия  
Дата: 01.11.04 12:09
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Ключевое слово ПОТОК. Активные объекты в Active Oberon, Zonnon, (и, кажется, в Ada) работают друг с другом примерно так как Вы описали. У каждого объекта есть очередь, в которую ставятся команды-сообщения от других активных объектов.


Да, и в COM при вызовах через границу апартамента.

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


Для чего нужны процедурные переменные? Ну для чего? Чтобы свою правоту показать?

Ладно. Заведём два интерпретатора — один в EXE, другой в DLL.
EXE вызывает функцию из DLL, та записывает в очередь две вещи: что делать и как возобновить. И возвращается.
EXE выполняет действие и снова вызывает функцию из DLL с контекстом возобновления.
DLL доделывает свои дела и возвращает управление.
Перекуём баги на фичи!
Re[32]: Что дают шаблоны?
От: Кодт Россия  
Дата: 01.11.04 12:12
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

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


СГ>Говорили нет переменных, а оказалось, что просто переменные безымянные.


Я с тобой спорить больше не буду.
Бери учебник по Форту и сам разбирайся, можно ли называть ЭТО безымянными переменными.

PS.
Видел я твой оберон. Так, сапог сапогом. Куча байтов каких-то (всего 256 разных, и те вперемешку). И работает враскоряку.
Перекуём баги на фичи!
Re[46]: Что дают шаблоны?
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 01.11.04 12:35
Оценка: -1
Здравствуйте, Кодт,

То есть, не может DLL вызывать процедуры из EXE — да и не надо. Пусть общаются друг с другом через, например, общую память, или вообще посредством TCP/IP.


Вы писали:

К>DLL доделывает свои дела и возвращает управление.



Вот она свои дела доделывает-доделывает и тут вдруг понимает, что надо бы вызвать процедуру из EXE, ан нет — не может. А была бы у нее процедурная переменная связанная с той процедурой, так запросто бы смогла.
Re[30]: *
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 01.11.04 12:45
Оценка:
Здравствуйте, Курилка, Вы писали:

СГ>>1) единица исполнения (исполнимый файл)

К>EXE?

СГ>>4) самая крупная структурная единица программы

К>Т.е. нет ничего более крупного аля просто "программа" или "проект"???

Нету в расширяемых модульных система EXE!!!!!! В них есть только модули. Надо вызвать процедуру из какого-то модуля — загружаешь этот модуль в память и вызываешь эту процедуру. Вот и все. Все так просто!!!

Нету в расширяемых модульных системах "программ" или "проектов". Есть только сама система и куча модулей расширяющих возможности этой системы. Роль "проекта" может играть, например, какой-нибудь модуль-фасад, импортирующий нужные ему модули, о которых другие модули ничего не знают.
Re[25]: *
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 01.11.04 12:48
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>В Дотнете, на базе которого создан Шарп, модульность — это один из основополагающих принципов.


Все верно. И что? Какой вывод? Например, такой: Дотнет создан на базе опыта накопленного оберонами (с 1985 года — разработка первого оберона).
Re[26]: Модуль - единица инкапсуляции
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 01.11.04 12:50
Оценка:
Здравствуйте, Schade, Вы писали:

СГ>>Вы не можете купить "скомпилированный" код класса, а должны купить его исходник (иначе просто смысла нет).

S>Не надоело еще самому себе противоречить?

Где Вы увидели противоречие?
Re[29]: *
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.11.04 12:51
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Золотые слова. Сами додумались?


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

СГ>Модуль — это:

СГ>1) единица исполнения (исполнимый файл)
СГ>2) единица компиляции

Это что за зверь? Файл исходников по русскому? Ну, это очень неудобно.

СГ>3) единица инкапсуляции (заметьте НАСТОЯЩЕЙ! инкапсуляции)


Ох!!! НАСТОЯЩЕЙ! Не могет быть. А все остальные с игрушечными возятся?

СГ>4) самая крупная структурная единица программы

СГ>....
СГ>...можно много еще чего написать
СГ>.....

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

Сравни на досуге этот подход с подходом дотнета. В нем модулем является проект. Еденицей трансляции файл. А еденицей видемости пространство имен и тип. При работе я обычно подключаю по 1-10 модулей и использую сотни пространств имен. На исходные файлы при этом мне вообще плевать.

СГ> Гораздо больше размера класса, но гораздо меньше размера обычного приложения.


И сколько классов при этом советуется напихивать в один исходный файл?

СГ> То есть обычное приложение, как правило состоит из нескольких десятков модулей, а каждый модуль включает в себя несколько классов.


Вот это и чуш. Зачем мне 50 модулей для создания одного приложения? Мне достаточно ОДНОГО исполняемого файла и 1-5 библиотек.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[24]: Среда исполнения и загрузчик
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 01.11.04 12:53
Оценка:
Здравствуйте, Кодт, Вы писали:

К>А в том, что не надо ерунду говорить про специализированные "загрузчики" COM.

К>Есть ряд ситуаций, где "загрузка" вообще отсутствует, а COM живёт и побеждает.
К>Это статически прилинкованные inproc server'ы (в том числе под Windows). А под VxWorks вообще иначе быть не может — там весь код прописывается в boot image.


Не, ну каково, а? Естественно, что в случаях СТАТИЧЕСКОЙ ЛИНКОВКИ не нежен ДИНАМИЧЕСКИЙ ЗАГРУЗЧИК.
Re[47]: Что дают шаблоны?
От: FR  
Дата: 01.11.04 13:02
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Здравствуйте, Кодт,


СГ>То есть, не может DLL вызывать процедуры из EXE — да и не надо. Пусть общаются друг с другом через, например, общую память, или вообще посредством TCP/IP.


В Win32 exe точно так же как и dll может экспортировать функции, так что технически никаких припятствий к тому чтобы из dll вызывать функции из exe нет.
... << RSDN@Home 1.1.3 stable >>
Re[2]: Читать всем!!!! ОБЯЗАТЕЛЬНО!!!!
От: Pavel Dvorkin Россия  
Дата: 01.11.04 13:18
Оценка: 21 (2)
Здравствуйте, LaptevVV, Вы писали:

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


LVV>>http://www.inr.ac.ru/~info21/greetings/wirth_doklad_rus.htm


LVV>

LVV>Итак, хороший дизайн должен быть в центре нашего преподавания. Но как нам учить образцовому дизайну с помощью инструментов и языков, которые делают нас посмешищем? К нашему сожалению, индустрия программирования сделала немного, чтобы помочь нам, преподавателям, преодолеть наши трудности.

А может, хватит этих воплей ? А то ведь очень сильно напоминают вопли паровозников, когда электровозы появились. Вирт, конечно, классик, спору нет, но он давно уже ИМХО не имеет дела с конкретными разработками. Мир таков, каков он есть, хорошо это или плохо — спорить можно до хрипоты, он от этого другим не станет. В 70-е годы учили Фортрану и ПЛ/1, в 80-е — Паскалю и С/C++, сейчас и Java, и C# тут, а про Фортран и ПЛ/1 все почти забыли. В 2020 году что-то другое будет. Мир за тысячелетия его существования еще не погиб, компьютерный — тоже (за 60 лет), не погибнет и дальше. Каков он будет — таков и будет.

With best regards
Pavel Dvorkin

With best regards
Pavel Dvorkin
Re[48]: Что дают шаблоны?
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 01.11.04 13:23
Оценка:
Здравствуйте, FR, Вы писали:

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


СГ>>Здравствуйте, Кодт,


СГ>>То есть, не может DLL вызывать процедуры из EXE — да и не надо. Пусть общаются друг с другом через, например, общую память, или вообще посредством TCP/IP.


FR>В Win32 exe точно так же как и dll может экспортировать функции, так что технически никаких припятствий к тому чтобы из dll вызывать функции из exe нет.


РАЗУМЕЕТСЯ ПРЕПЯТСВИЙ НЕТ!!! Надо всего лишь получить адрес этой функции (получить связанную с этой функцией процедурную переменную). Но тут мне пытаются впарить что это же самое можно сделать не используя процедурных переменных. А я говорю, что без процедурных переменных, как без воды, и не туды и не сюды...
Re[49]: Что дают шаблоны?
От: Кодт Россия  
Дата: 01.11.04 13:32
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>РАЗУМЕЕТСЯ ПРЕПЯТСВИЙ НЕТ!!! Надо всего лишь получить адрес этой функции (получить связанную с этой функцией процедурную переменную). Но тут мне пытаются впарить что это же самое можно сделать не используя процедурных переменных. А я говорю, что без процедурных переменных, как без воды, и не туды и не сюды...


А ты не говори, а сделай по моему рецепту. И увидишь, что очень даже туды и сюды.
Кстати! Кто не так давно просто слюной брызгал при слове "адрес"?
Перекуём баги на фичи!
Re[47]: Что дают шаблоны?
От: Кодт Россия  
Дата: 01.11.04 13:33
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Вот она свои дела доделывает-доделывает и тут вдруг понимает, что надо бы вызвать процедуру из EXE, ан нет — не может. А была бы у нее процедурная переменная связанная с той процедурой, так запросто бы смогла.


Может. Подумай как. Не придумаешь — завтра расскажу.
Перекуём баги на фичи!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.