Re[15]: А вот за язык-то Вас никто не тянул...
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 10.11.04 08:11
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

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


СГ>>
СГ>>VAR m: SelfReplicatindMachine;
СГ>>BEGIN
СГ>>  m := m0;
СГ>>  WHILE m # NIL DO m := m() END
СГ>>


ГВ>А состояние тогда где лежит? В глобальных переменных? Очень мило!


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

Кстати, я тут недавно выписывал роли модулей, перечислил 6-7 пунктов, вот к ним надо добавить еще пункт:

7) Модуль — это объект существующий в единственном экземпляре (синглетон).



Во-вторых, можно, например, так:
TYPE
  State   = RECORD (* ... *) END;
  Machine = PROCEDURE (VAR s: State): Machine;


VAR m: Machine; s: State;
BEGIN
  m := m0; s := s0;
  WHILE m # NIL DO m := m(s) END

Это очень близко к ООП, но все же это не ООП, а нечто более тривиальное. (А раз так, то зачем "платить" больше?)
Re[2]: Сложность современных средств разработки ПО
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 10.11.04 08:25
Оценка:
Здравствуйте, alexeiz, Вы писали:

A> Где, например, определение IS в книге?


Та книга, как Вы могли заметить, вообще не описывает ООП (а инструкция IS — это из ООП). ООП будет описано в четвертой дополнительной главе, которую Вирт пока еще не написал, но собирается написать в скором времени.



A> ...Вирт тут хитрит...


Ага, вот делать семидесятилетнему мужику больше нечего, кроме как хитрить, он вообще в таких категориях может не думает... Совсем что ли тут на RSDN Вирта за дурачка держут или как? Просто, по его мнению книга самодостаточна и без главы про ООП, а Вы с этим не согласны?
Re[3]: Сложность современных средств разработки ПО
От: Курилка Россия http://kirya.narod.ru/
Дата: 10.11.04 08:28
Оценка: 6 (1)
Здравствуйте, Сергей Губанов, Вы писали:

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


A>> ...Вирт тут хитрит...


СГ>Ага, вот делать семидесятилетнему мужику больше нечего, кроме как хитрить, он вообще в таких категориях может не думает... Совсем что ли тут на RSDN Вирта за дурачка держут или как?


Думаю, что за дурачка его особо не держат, но вот его защитники имхо часто выставляют его таковым (без его желания)
Re[3]: Сложность современных средств разработки ПО
От: alexeiz  
Дата: 10.11.04 08:36
Оценка: 8 (3)
Здравствуйте, Сергей Губанов, Вы писали:

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


A>> Где, например, определение IS в книге?


СГ>Та книга, как Вы могли заметить, вообще не описывает ООП (а инструкция IS — это из ООП). ООП будет описано в четвертой дополнительной главе, которую Вирт пока еще не написал, но собирается написать в скором времени.


Извини меня, но к чему ты тогда привел эту книгу как пример компактности языка? Твой пример некоректен. Как же ты на некоректном примере строишь свою аргументацию?



A>> ...Вирт тут хитрит...


СГ>Ага, вот делать семидесятилетнему мужику больше нечего, кроме как хитрить, он вообще в таких категориях может не думает... Совсем что ли тут на RSDN Вирта за дурачка держут или как? Просто, по его мнению книга самодостаточна и без главы про ООП, а Вы с этим не согласны?


Нет. Либо ты описываешь весь язык, либо подмножество, не превосходящее по возможностям Паскаль, грубо говоря. Так можно описать подмножество C++, что оно тоже в 50 страниц влезет.

Кстати IS — это не из OOP. Накатай-ка сортировку общего назначения без IS и какого-нибудь способа приведения типов, который кстати тоже в книге не описан.
Re[22]: А вот за язык-то Вас никто не тянул...
От: Quintanar Россия  
Дата: 10.11.04 08:44
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Я раньше работал в фирме с лингвистическим уклоном, поэтому возможностей спрашивать у меня было очень много. Чем я и пользовался

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

Женской логикой здесь пользуешься только ты. Я тебе привел примеры нескольких языков, грамматика которых упростилась за последние 1000 лет. На них разговаривает около 2 миллиардов жителей планеты. Добавь сюда еще китайский, где грамматика проще английской, а письменность постоянно упрощалась, и получишь, что большая (и лучшая в плане образованности) часть населения земли разговаривает на простых языках. От тебя я не дождался ни единого примера самого занюханного языка, который бы усложнялся.
Re[22]: А вот за язык-то Вас никто не тянул...
От: Quintanar Россия  
Дата: 10.11.04 08:49
Оценка:
Здравствуйте, Дарней, Вы писали:

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

Д>Но если рассмотреть процесс в целом, то языки все-таки развиваются от простого к сложному. К примеру, в первых языках вообще не было такого понятия как время (и у некоторых современных неразвитых племен — то же самое). Но затем появилась потребность выражать в языке отношения во времени — и появились конструкции, которые позволяют это сделать.

Это бред. Или ты открыл предполагаемый праязык? Тогда тебе положена Нобелевская премия, поскольку в индоевропейских языках с самого начала было понятие времени. И то, что его нет в неких индейских наречиях не значит, что это понятие возникает в результате развития. А из чего возникли первые индоевропейские языки никому неизвестно, кроме тебя, видимо.
Re[4]: Сложность современных средств разработки ПО
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 10.11.04 09:18
Оценка:
Здравствуйте, alexeiz, Вы писали:

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


Прости, я действительно не имел права приводить ту книгу в качестве примера в контексте того сообщения. Но даже если бы там и была четвертая глава про ООП, то это добавило бы максимум 20-30 страниц. Итого получилось бы что-то около 80. Супротив тысячи страниц про С++ все равно не хило.

A>Кстати IS — это не из OOP. Накатай-ка сортировку общего назначения без IS и какого-нибудь способа приведения типов, который кстати тоже в книге не описан.


IS — это инструкция вызова механизма RTTI для определения динамического типа переменной во время исполнения программы. Сами понятия статический тип и динамический тип переменной уже еть ООП.
Re[5]: Сложность современных средств разработки ПО
От: alexeiz  
Дата: 10.11.04 09:28
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

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


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


СГ>Прости, я действительно не имел права приводить ту книгу в качестве примера в контексте того сообщения. Но даже если бы там и была четвертая глава про ООП, то это добавило бы максимум 20-30 страниц. Итого получилось бы что-то около 80. Супротив тысячи страниц про С++ все равно не хило.


Тысяча страниц про C++ — это его стандарт. Супротив него ты только стандарт Оберона можешь поставить. Он будет совсем не 80 страниц.

A>>Кстати IS — это не из OOP. Накатай-ка сортировку общего назначения без IS и какого-нибудь способа приведения типов, который кстати тоже в книге не описан.


СГ>IS — это инструкция вызова механизма RTTI для определения динамического типа переменной во время исполнения программы. Сами понятия статический тип и динамический тип переменной уже еть ООП.


Меня все таки интересует обобщенная сортировка написанная с применением только тех возможностей Оберона, которые описаны в книге. В C, который OOP никакой особой поддержки не оказывает, это возможно.
Re[16]: А вот за язык-то Вас никто не тянул...
От: Sergey J. A. Беларусь  
Дата: 10.11.04 09:45
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Во-вторых, можно, например, так:

СГ>
СГ>TYPE
СГ>  State   = RECORD (* ... *) END;
СГ>  Machine = PROCEDURE (VAR s: State): Machine;


СГ>VAR m: Machine; s: State;
СГ>BEGIN
СГ>  m := m0; s := s0;
СГ>  WHILE m # NIL DO m := m(s) END
СГ>


Мне что-то не совсем понятно, как в таком случае создать 2 конечных автомата с разными состояниями ?
Я — свихнувшееся сознание Джо.
Re[6]: Сложность современных средств разработки ПО
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 10.11.04 09:45
Оценка:
Здравствуйте, alexeiz, Вы писали:

A>Меня все таки интересует обобщенная сортировка написанная с применением только тех возможностей Оберона, которые описаны в книге. В C, который OOP никакой особой поддержки не оказывает, это возможно.


Ну, хорошо, уговорили. Приводите пример исходного кода на Си, а я его постараюсь переписать на обероне.
Re[16]: А вот за язык-то Вас никто не тянул...
От: WFrag США  
Дата: 10.11.04 09:50
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>7) Модуль — это объект существующий в единственном экземпляре (синглетон).


А если мне эта сущность (инкапсулированная в модуле) понадобится два раза? Т.е два независимых экземпляра?
Re[23]: А вот за язык-то Вас никто не тянул...
От: Mamut Швеция http://dmitriid.com
Дата: 10.11.04 10:33
Оценка:
Здравствуйте, Quintanar, Вы писали:

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


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

Д>>Но если рассмотреть процесс в целом, то языки все-таки развиваются от простого к сложному. К примеру, в первых языках вообще не было такого понятия как время (и у некоторых современных неразвитых племен — то же самое). Но затем появилась потребность выражать в языке отношения во времени — и появились конструкции, которые позволяют это сделать.

Q>Это бред. Или ты открыл предполагаемый праязык? Тогда тебе положена Нобелевская премия, поскольку в индоевропейских языках с самого начала было понятие времени. И то, что его нет в неких индейских наречиях не значит, что это понятие возникает в результате развития. А из чего возникли первые индоевропейские языки никому неизвестно, кроме тебя, видимо.


Индейские наречия — единственные, которые можно считать древними в современном мире. Что-то я сильно сомневаюсь, чтобы в каком-нибудь финикийском существовали прошедшие-в-прошедшем и будущие-в-прошедшем времена.

На самом деле идет так:

1. Древние языки. Минимум грамматических и словарных конструкций
2. Развивающиеся языки. Усложнение грамматики и расширение словаря.
3. Современные языки. Перекресток. Продолжение расширения словаря, но развитие грамматики приостановилось
4. Гипотетические языки будущего. Упрощенная грамматика, но очень развитый словарь.

ИМХО.
... << RSDN@Home 1.1.4 beta 3 rev. 185>> ... <<Winamp is now playing "Silence">>


dmitriid.comGitHubLinkedIn
Re[17]: А вот за язык-то Вас никто не тянул...
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 10.11.04 10:45
Оценка:
Здравствуйте, Sergey J. A., Вы писали:

SJA>Мне что-то не совсем понятно, как в таком случае создать 2 конечных автомата с разными состояниями?


А что два? Два это мало, давай сразу N
VAR m: ARRAY N OF Machine; 
    s: ARRAY N OF State;
Re[17]: А вот за язык-то Вас никто не тянул...
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 10.11.04 10:46
Оценка: -1
Здравствуйте, WFrag, Вы писали:

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


СГ>>7) Модуль — это объект существующий в единственном экземпляре (синглетон).


WF>А если мне эта сущность (инкапсулированная в модуле) понадобится два раза? Т.е два независимых экземпляра?


Синглетоны на то и синглетоны что они синглетоны. Если нужны экземпляры, то пользуйтесь вторым из указанных способов.
Re[23]: А вот за язык-то Вас никто не тянул...
От: Дарней Россия  
Дата: 10.11.04 11:05
Оценка:
Здравствуйте, Quintanar, Вы писали:

Q>Женской логикой здесь пользуешься только ты. Я тебе привел примеры нескольких языков, грамматика которых упростилась за последние 1000 лет. На них разговаривает около 2 миллиардов жителей планеты. Добавь сюда еще китайский, где грамматика проще английской, а письменность постоянно упрощалась, и получишь, что большая (и лучшая в плане образованности) часть населения земли разговаривает на простых языках. От тебя я не дождался ни единого примера самого занюханного языка, который бы усложнялся.


1. Еще раз. Частный пример не доказывает общего утверждения
Здесь будут какие-то возражения?

2. Чтобы язык упрощался, он должен сначала откуда-то возникнуть. Ты хочешь сказать, что языки появились каким-то образом сразу в очень сложном виде?
Отвечай просто — да или нет.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[23]: А вот за язык-то Вас никто не тянул...
От: Дарней Россия  
Дата: 10.11.04 11:07
Оценка:
Здравствуйте, Quintanar, Вы писали:

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


Я понял! Этот самый пра-язык открыл ты. Иначе откуда ты это знаешь? Ну что же, тогда я спорить не могу
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[24]: А вот за язык-то Вас никто не тянул...
От: Дарней Россия  
Дата: 10.11.04 11:09
Оценка:
Здравствуйте, Mamut, Вы писали:

M>1. Древние языки. Минимум грамматических и словарных конструкций

M>2. Развивающиеся языки. Усложнение грамматики и расширение словаря.
M>3. Современные языки. Перекресток. Продолжение расширения словаря, но развитие грамматики приостановилось
M>4. Гипотетические языки будущего. Упрощенная грамматика, но очень развитый словарь.


Я все-таки сомневаюсь, что на этом всё остановится. Скорее, развитие будет идти по спирали. Хотя точно все равно никто не может знать
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[24]: А вот за язык-то Вас никто не тянул...
От: hrg Россия  
Дата: 10.11.04 11:26
Оценка:
Mamut -> "Re[23]: А вот за язык-то Вас никто не тянул..."

M> 4. Гипотетические языки будущего. Упрощенная грамматика, но очень

M> развитый словарь.

Т.е. китайцы с японцами не так уж и не правы, рисуя иероглифы
.

Yury Kopyl aka hrg | Хоббиты — маздай! Мордовия — фарева
Posted via RSDN NNTP Server 1.9 gamma
Re[18]: А вот за язык-то Вас никто не тянул...
От: hrg Россия  
Дата: 10.11.04 11:26
Оценка:
Сергей Губанов -> "Re[17]: А вот за язык-то Вас никто не тянул..."

СГ>>>7) Модуль — это объект существующий в единственном экземпляре

СГ>>>(синглетон).

WF>>А если мне эта сущность (инкапсулированная в модуле) понадобится два

WF>>раза? Т.е два независимых экземпляра?

СГ> Синглетоны на то и синглетоны что они синглетоны. Если нужны

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

Синглетон — это часный случай объекта с ограниченым кол-вом экземпляров.
Такое можно наблюдать для пула объектов

Yury Kopyl aka hrg | Хоббиты — маздай! Мордовия — фарева
Posted via RSDN NNTP Server 1.9 gamma
Re[24]: А вот за язык-то Вас никто не тянул...
От: Quintanar Россия  
Дата: 10.11.04 11:54
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>1. Еще раз. Частный пример не доказывает общего утверждения

Д>Здесь будут какие-то возражения?

Не надо демагогии, это не математика. Эти "частные" примеры охватывают половину земного шара, при этом если покопать другие языки, то уверен на 90%, что там будет та же картина. Ты же не привел вообще ни единого примера, только нес какую-то чушь, основанную на чисто умозрительных рассуждениях.

Д>2. Чтобы язык упрощался, он должен сначала откуда-то возникнуть. Ты хочешь сказать, что языки появились каким-то образом сразу в очень сложном виде?

Д>Отвечай просто — да или нет.

Да, он должен возникнуть. В каком виде и как они появились никому не известно. Если у тебя есть на этот счет какие-то данные — пиши диссертацию
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.