Re[12]: Читать всем!!!! ОБЯЗАТЕЛЬНО!!!!
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.10.04 09:27
Оценка:
Здравствуйте, Borisman2, Вы писали:

B>Modula2(3)+Oberon vs Java+C++


Кстити, сравнивать оберон с Модулами несколько странно. Их скорее можно противопоставлять. Из оберона было выкинуто столько, что офигеть можно. Ну, а с тем что С++ не самый лучший язык для обучения тут похоже все согласны. Второй, третьий... но не первый.

B>А вообще-то тема очень провокационная. Как обычно, тов. Вирт воюет с призраками Кернигана и Ритчи.


Призраки уже исчезли в общем то. Их и в плюсах то мало осталось, а в Яве и подавно.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[25]: Модуль - единица инкапсуляции
От: Schade Россия  
Дата: 31.10.04 10:59
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Мне не понятен смысл Вашего сообщения. .NETовские сборки это NETовские модули. И в чем проблема-то? Вам не нравится то что я использую термин "модуль" вместо термина "сборка"?


О как интересно. Еще недавно существование модульных языков кроме oberon-family отрицалось, теперь вдруг NETовские сборки признаются модулями. Это я вот к этому:
СГ>Вы не можете купить "скомпилированный" код класса, а должны купить его исходник (иначе просто смысла нет).
Не надоело еще самому себе противоречить?
... << RSDN@Home 1.1.4 @@subversion >>
Re[29]: Что дают шаблоны?
От: Sinclair Россия https://github.com/evilguest/
Дата: 01.11.04 04:47
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Вот и хотелось бы поглядеть на то как можно жить без переменных в ИЯ.

В форте есть только стек. Точнее, два стека: стек операндов и стек процедур. Стек вызовов поддерживается неявно. Стек процедур всего лишь отражает зависимости, т.е. при определении процедуры мы можем ссылаться на все ранее определенные процедуры. Если определение корректно, то оно помещается на вершину стека процедур. Можно "откатить" процедуры, определенные после некоторой. В общем-то все.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[33]: У дел
От: Дарней Россия  
Дата: 01.11.04 05:35
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Есть такой феномен в человеческой психике. Берут 10 человек, причем 9 из них подсадные. Показывают две палочки примерно одинаковой длины и спрашивают какая из них длиннее. 9-теро подсадных показывают на короткую палку и говорят что она длиннее. В большинстве случаев испытуемый тоже как и все показывает на короткую палку и тоже говорит что она длиннее. К чему я это привел. А тут на RSDN примерно такая же ситуация. Есть порядка десятка человек твердящих что оберонов нет. Вот и Вы. Кодт, тоже в это поверили. А Вы лучше гляньте ссыли и сами убедитесь "у дел он или не удел":


совершенно непредвзятая статистика:
http://googlewar.com/search.cfm?q1=C%2B%2B&amp;q2=Oberon
разница, как мы видим, на порядок.

СГ>http://cern.ch/oberon.day


мне особенно вот это понравилось:

Oberon as a modern alternative to Fortran and C++


C++ ненавязчиво так записали в один разряд с давно устаревшим старичком Фортраном. Как здесь уже много раз говорилось — при всех недостатках С++, Оберону до него очень далеко. Мне вся эта возня очень сильно напоминает басню про мышей, которые собрались кошку хоронить.

Влияние Оберона на C# вызывает у меня очень большие сомнения. Идея модульности давно уже в воздухе витала, начиная с оверлеев в MSDOS, so-шек в Юниксе и заканчивая .NET
Что там еще у них может быть общего, я даже представить не могу.

СГ>Да Вы и сами можете покопаться в интернете по ключевым словам Modula, Oberon...


вот-вот. уже покопались
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[34]: У дел
От: Дарней Россия  
Дата: 01.11.04 05:37
Оценка:
Д>разница, как мы видим, на порядок.

хотя нет, вру. на два порядка :lol:
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[24]: = vs ==
От: Дарней Россия  
Дата: 01.11.04 05:46
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

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


если Вирт про это сказал в докладе — значит, считает это важным
ну а мое мнение — того учителя нельзя даже близко подпускать к обучению
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[23]: Среда исполнения и загрузчик
От: Кодт Россия  
Дата: 01.11.04 09:09
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

К>> Чаво???


СГ>В чем состоит смысл Вашего сообщения?


А в том, что не надо ерунду говорить про специализированные "загрузчики" COM.
Есть ряд ситуаций, где "загрузка" вообще отсутствует, а COM живёт и побеждает.
Это статически прилинкованные inproc server'ы (в том числе под Windows). А под VxWorks вообще иначе быть не может — там весь код прописывается в boot image.
Перекуём баги на фичи!
Re[30]: Что дают шаблоны?
От: Кодт Россия  
Дата: 01.11.04 09:24
Оценка:
Здравствуйте, Sinclair, Вы писали:

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


VD>>Вот и хотелось бы поглядеть на то как можно жить без переменных в ИЯ.

S>В форте есть только стек. Точнее, два стека: стек операндов и стек процедур. Стек вызовов поддерживается неявно. Стек процедур всего лишь отражает зависимости, т.е. при определении процедуры мы можем ссылаться на все ранее определенные процедуры. Если определение корректно, то оно помещается на вершину стека процедур. Можно "откатить" процедуры, определенные после некоторой. В общем-то все.

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

Обычно все вычисления ведутся на стеке операндов, благо что он адресуем — можно вытащить значение с любой глубины.
В некоторых случаях (при компиляции очередной процедуры, при разных извращениях — инфиксной нотации, например) приходится задействовать стек возвратов не по назначению; естественно, по окончании действа он должен быть приведён в исходное состояние.

Переменные в Форте тоже есть — в четырёх вариантах:
1) константа — фактически, это процедура, которая кидает на стек некое число
2) глобальная переменная — в списке процедур резервируется место под данные, а одноимённая процедура кидает на стек адрес или хэндл этого места. Разыменование на чтение/запись — задача библиотечных процедур, умеющих работать с хэндлами.
3) статические буферы — аналогично (2), только выделяется не ячейка, а целый блок. Причём это может быть как константная, так и доступная на чтение память.
4) динамическая память — в списке процедур либо за стеком (зависит от реализации) выделяется блок памяти под кучу, и есть инструменты, аналогичные malloc/free, для работы с ней.

Однако механика косвенной адресации реально может быть нужна только при компиляции, а для нужд пользователя может хватить и стека.
Перекуём баги на фичи!
Re[34]: У дел
От: Mamut Швеция http://dmitriid.com
Дата: 01.11.04 10:05
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>мне особенно вот это понравилось:

Д>

Oberon as a modern alternative to Fortran and C++

Д>
Д>C++ ненавязчиво так записали в один разряд с давно устаревшим старичком Фортраном. Как здесь уже много раз говорилось — при всех недостатках С++, Оберону до него очень далеко. Мне вся эта возня очень сильно напоминает басню про мышей, которые собрались кошку хоронить.

Дальше — больше

efficient and powerful graphical front-end software;




В описании фич:

Flexibility: object-oriented features, modularity, dynamic linking...

The Oberon programming model:
= procedural programming (true compiled code)


А object-oriented, значит не true compiled?

Oberon as an upgrade path from Fortran and C++.


ноу комментс
... << RSDN@Home 1.1.4 beta 3 rev. 185>>


dmitriid.comGitHubLinkedIn
Re[35]: У дел
От: Дарней Россия  
Дата: 01.11.04 10:20
Оценка:
Здравствуйте, Mamut, Вы писали:

M>

M>efficient and powerful graphical front-end software;


особенно хорошо это выглядит в свете обсуждения БлэкБокс в соседней ветке
даже не знаю, плакать или смеяться
похоже, люди совершенно оторвались от действительности
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[36]: У дел
От: Mamut Швеция http://dmitriid.com
Дата: 01.11.04 10:27
Оценка:
Здравствуйте, Дарней, Вы писали:

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


M>>

M>>efficient and powerful graphical front-end software;


Д>особенно хорошо это выглядит в свете обсуждения БлэкБокс в соседней ветке

Д>даже не знаю, плакать или смеяться
Д>похоже, люди совершенно оторвались от действительности

мы наш, мы новый мир построим (с)
... << RSDN@Home 1.1.4 beta 3 rev. 185>>


dmitriid.comGitHubLinkedIn
Re[44]: Что дают шаблоны?
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 01.11.04 10:51
Оценка: :)
Здравствуйте, Кодт, Вы писали:

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


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

Ваше решение не принимается. Я продолжаю настаивать на необходимости процедурных переменных, ну разьве только теперь сделаю оговорку — в обычных, т.е. в не активных системах.
Re[42]: Что дают шаблоны?
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 01.11.04 10:54
Оценка:
Здравствуйте, VladD2, Вы писали:

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


Это я-то не видел? Да я несколько раз приводил код: PROCEDURE Proc(VAR t: SomeValueType);
и говорил что t — внутри процедуры будет ссылкой. А указатель — это другое.
Re[19]: Ссылка vs Указатель
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 01.11.04 11:00
Оценка: :)
Здравствуйте, VladD2, Вы писали:

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


СГ>>То есть Вы со мной согласны поспорить?

СГ>>Я утверждаю что в оберонах ссылки есть, а Вы утверждаете что их там нет?

VD>Спорить с человеком который ради смоубеждения назавет указатели ссылками я не очень хочу. Я уже видл как интерфейся и делегаты были по быстрому обозваны "процедурными типами" только чтобы не признавать свою не правоту.


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


TYPE
  ValueType = RECORD
    i: INTEGER;
  END;
  
  PointerType = POINTER TO ValueType;


PROCEDURE Proc1(VAR t: ValueType);

Переменные типа PointerType — указатели.
Внутри процедуры Proc1 переменная t — есть ссылка, она от того ссылка, а не значение, что перед ней написано слово VAR.

Разницу видите?



PROCEDURE Proc0(    t: ValueType); (* Значение *)
PROCEDURE Proc1(VAR t: ValueType); (* Ссылка *)
PROCEDURE Proc2(IN  t: ValueType); (* Ссылка *)
PROCEDURE Proc3(OUT t: ValueType); (* Ссылка *)
Re[18]: Мощность...
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 01.11.04 11:03
Оценка:
Здравствуйте, prVovik, Вы писали:

V>А может, это от того, что понятие "ссылка" в С++ и С# обозначает немного разные концепции?


Золотые слова. Я об этом Vlad2 талдычу уже как минимум пару недель. А он все огразается и посылает доки по C# читать.
Re[31]: Что дают шаблоны?
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 01.11.04 11:11
Оценка:
Здравствуйте, Кодт, Вы писали:

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


Говорили нет переменных, а оказалось, что просто переменные безымянные.
Re[34]: У дел
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 01.11.04 11:18
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Влияние Оберона на C# вызывает у меня очень большие сомнения. Идея модульности давно уже в воздухе витала, начиная с оверлеев в MSDOS, so-шек в Юниксе и заканчивая .NET

Д>Что там еще у них может быть общего, я даже представить не могу.

Прикол!!!!!!!!!!!!!!! Идея модульности оказывается во-о-н где летала!!!!!!!!!!!!!!

А то что модульность УЖЕ БЫЛА РЕАЛИЗОВАНА в языке Modula Вы значит не в курсе?

Modula — середина 70-тых годов, Modula-2 появилась в 1979 году
Oberon — с 1985 года, Oberon-2 появился в 1992 году.
Re[25]: = vs ==
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 01.11.04 11:20
Оценка:
Здравствуйте, Дарней, Вы писали:

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


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


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


Так это важно.
Re[28]: *
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 01.11.04 11:26
Оценка: :)
Здравствуйте, VladD2, Вы писали:

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


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

Модуль — это:
1) единица исполнения (исполнимый файл)
2) единица компиляции
3) единица инкапсуляции (заметьте НАСТОЯЩЕЙ! инкапсуляции)
4) самая крупная структурная единица программы
....
...можно много еще чего написать
.....



Кстати, размер модуля как правило не большой и не маленький, так средний. Гораздо больше размера класса, но гораздо меньше размера обычного приложения. То есть обычное приложение, как правило состоит из нескольких десятков модулей, а каждый модуль включает в себя несколько классов.
Re[26]: = vs ==
От: Курилка Россия http://kirya.narod.ru/
Дата: 01.11.04 11:28
Оценка: :)))
Здравствуйте, Сергей Губанов, Вы писали:

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


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


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


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


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


И свято
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.