Re[12]: Связанные с типом процедуры должны быть виртуальными
От: Silver_s Ниоткуда  
Дата: 12.11.04 12:29
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Да Сергей все еще пытается опровергнуть неверное утверждение Silver_s о том, что класс в C# является более крутым аналогом оберонового модуля
Автор: Silver_s
Дата: 10.11.04
.


Ну да ... если бы я написал что мотоцикл это более продвинутый аналог велосипеда, то сразу бы все кинулись опровергать это и были бы конечно правы, ....потому что у мотоцикла колеса гораздо толще...

... Я вобще то про форматы Portable Executable не говорил...

Вопрос на засыпку: А что можно инкапсулировать в модуле Оберона что нельзя было бы инкапсулировать в C# классе? ... Аналог кода на начальную загрузку модуля тоже имеется — статический конструктор.
Re[13]: Связанные с типом процедуры должны быть виртуальными
От: Sinclair Россия https://github.com/evilguest/
Дата: 12.11.04 12:34
Оценка:
Здравствуйте, Silver_s, Вы писали:

S_>Вопрос на засыпку: А что можно инкапсулировать в модуле Оберона что нельзя было бы инкапсулировать в C# классе? ... Аналог кода на начальную загрузку модуля тоже имеется — статический конструктор.

Гм. Ты слишком узко понимаешь модуль в Обероне.
В качестве единицы инкапсуляции он несомненно проигрывает классу C#.
Но, в отличие от класса C#, модуль заодно выполняет функции единицы деплоймента и единицы исполнения. А класс C#, увы, ни одну из них не выполняет. Вот Java class, как тебе уже объяснили, является и тем и другим и третьим.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[14]: Связанные с типом процедуры должны быть виртуальными
От: hrg Россия  
Дата: 12.11.04 12:41
Оценка:
Sinclair -> "Re[13]: Связанные с типом процедуры должны быть виртуальными"

S> Гм. Ты слишком узко понимаешь модуль в Обероне.

S> В качестве единицы инкапсуляции он несомненно проигрывает классу C#.
S> Но, в отличие от класса C#, модуль заодно выполняет функции единицы
S> деплоймента и единицы исполнения. А класс C#, увы, ни одну из них не
S> выполняет. Вот Java class, как тебе уже объяснили, является и тем и
S> другим и третьим.

И чем же C# от такой засады плохо? Не будет же внедряться 1 класс?

Yury Kopyl aka hrg | Гордость мешает доходам!
Posted via RSDN NNTP Server 1.9 gamma
Re[8]: Связанные с типом процедуры должны быть виртуальными
От: Silver_s Ниоткуда  
Дата: 12.11.04 12:46
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Допустим, класс Java, равно как и класс C#, написанный в одном файле есть модуль. Компилируем его в исполнимый файл и загружаем этот исполнимый файл в память — исполняться. Вопрос на засыпку: Что именно будет исполнять данная единица исполнения?


Все то же самое что и модули в Обероне. Единственное отличие это в формате хранения на диске. То что в С# несколько классов можно в один откомпилированый файл объединить это несущественное отличие.
Если интересует аналог точки входа у Оберона при загрузке модуля, то в С# тоже есть статический конструктор.
Re[15]: Связанные с типом процедуры должны быть виртуальными
От: Sinclair Россия https://github.com/evilguest/
Дата: 12.11.04 12:57
Оценка:
Здравствуйте, hrg, Вы писали:
hrg>И чем же C# от такой засады плохо? Не будет же внедряться 1 класс?
Ничем не плохо. Просто утверждение, что у класса в C# больше возможностей, чем у модуля в Обероне, неверно. И обратное тоже неверно.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[15]: Связанные с типом процедуры должны быть виртуальными
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 12.11.04 13:01
Оценка: :))
Здравствуйте, Sergey J. A., Вы писали:

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


СГ>>Минимальная программа:

СГ>>
СГ>>MODULE M1;
СГ>>IMPORT StdLog;
СГ>>BEGIN
СГ>> StdLog.String("Здравствуй Мир!");
СГ>>END M1.
СГ>>


SJA>А как её запустить в Чёрном Коробке ? Если выделить M1 и выбрать в меню Execute ничего не выполняется?


Гы-гы-гы...Вы первый задали этот вопрос, хотя этот вариант наименьшей проги я тут давно толкал. Поздравляю Вас. Ответ на этот вопрос лично мне не известен. Наверное, как-то можно.
Re[16]: Связанные с типом процедуры должны быть виртуальными
От: Курилка Россия http://kirya.narod.ru/
Дата: 12.11.04 13:06
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

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


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


СГ>>>Минимальная программа:

СГ>>>
СГ>>>MODULE M1;
СГ>>>IMPORT StdLog;
СГ>>>BEGIN
СГ>>> StdLog.String("Здравствуй Мир!");
СГ>>>END M1.
СГ>>>


SJA>>А как её запустить в Чёрном Коробке ? Если выделить M1 и выбрать в меню Execute ничего не выполняется?


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


Да великий язык — Оберон, на нём можно писать великие программы,
но вот запустить эти программы смогут только великие типа Вирта
Re[16]: Связанные с типом процедуры должны быть виртуальными
От: Sergey J. A. Беларусь  
Дата: 12.11.04 13:19
Оценка: :)
Здравствуйте, Сергей Губанов, Вы писали:

SJA>>А как её запустить в Чёрном Коробке ? Если выделить M1 и выбрать в меню Execute ничего не выполняется?


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


Вероятно какой-то вид стартап кода:
MODULE Hello;

    IMPORT StdLog;

    PROCEDURE Do*;
    BEGIN
        StdLog.String("Hello World"); StdLog.Ln
    END Do;

BEGIN
    StdLog.String("Startup"); StdLog.Ln;
END Hello.


Выводит

Startup
Hello World

Я — свихнувшееся сознание Джо.
Re[17]: Связанные с типом процедуры должны быть виртуальными
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 12.11.04 16:00
Оценка:
Здравствуйте, Sergey J. A., Вы писали:

SJA>Вероятно какой-то вид стартап кода:


Я еще пытался слинковать этот модуль в отдельный экзешник, так чтобы при запуске экзешника выполнился этот код. Но импорт StdLog требует линковки большей части самого BalckBox, включая его Kernel. А если линкуется Kernel, то он и должен назначатся первым загружаемым модулем. Короче, ничего у меня не получилось.
Re[17]: Связанные с типом процедуры должны быть виртуальными
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 12.11.04 16:04
Оценка: :)
Здравствуйте, Курилка, Вы писали:

К>Да великий язык — Оберон, на нём можно писать великие программы,

К>но вот запустить эти программы смогут только великие типа Вирта

Я бы свалил это на происки Oberon Microsystems: DevDebug.Unload(); они написали, а обратную функцию "DevDebug.Load()" они написать "забыли"...
Re[16]: Миф
От: mister-AK Россия  
Дата: 12.11.04 16:55
Оценка: +1
Здравствуйте, Кодт, Вы писали:

К>В Эйфеле — там каждая функция оснащается контрактом. Попытка вызвать percentage(x,y) с нулевым y будет пресечена на шаг раньше.

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

да, к вопросу об галочках

НЕ ПРИГЛАСИТЬ ЛИ НАМ ПОКЛОННИКОВ ЭЙФЕЛЯ????????????????????
очень хочестя узнать суть языка, но читать мануал влом
Re[23]: Грамотность
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.11.04 17:43
Оценка:
Здравствуйте, Трурль, Вы писали:

Т>То есть, мы чего-то там считали, поделили на 0, выдали сообщение об ошибке и продолжаем считать дальше как ни в чем не бывало? А смысл?


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

В качестве примера могу привести RSDN@Home с помощью которого пишу это сообщение. Мелкая ошибка в нем не приводит к схлопыванию всего приложения с потерей несохраненных данных. Вместо этого просто выдается сообщение и после нажатия "продолжить" приложение продолжает работать.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[17]: Миф
От: Зверёк Харьковский  
Дата: 12.11.04 20:10
Оценка:
Здравствуйте, mister-AK, Вы писали:

MA>да, к вопросу об галочках


MA>НЕ ПРИГЛАСИТЬ ЛИ НАМ ПОКЛОННИКОВ ЭЙФЕЛЯ????????????????????

MA>очень хочестя узнать суть языка, но читать мануал влом
MA>
Будет, будет.
Скоро уже будет "Idit's Guide to 10 uncommon programming languages" by Ваш покорный слуга.
сам слушаю и вам рекомендую: 06 — We Use The Pain
FAQ — це мiй ай-кью!
Re[14]: Связанные с типом процедуры должны быть виртуальными
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.11.04 21:26
Оценка:
Здравствуйте, Sinclair, Вы писали:
S>В качестве единицы инкапсуляции он несомненно проигрывает классу C#.
S>Но, в отличие от класса C#, модуль заодно выполняет функции единицы деплоймента и единицы исполнения. А класс C#, увы, ни одну из них не выполняет. Вот Java class, как тебе уже объяснили, является и тем и другим и третьим.

А почему "увы"?
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[24]: Грамотность
От: Трурль  
Дата: 13.11.04 13:02
Оценка:
Здравствуйте, VladD2, Вы писали:


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


В BlackBox тоже вылетит только одна комманда.
Re[25]: Грамотность
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.11.04 23:45
Оценка:
Здравствуйте, Трурль, Вы писали:


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


Т>В BlackBox тоже вылетит только одна комманда.


Какая еще команда? И вообще, напомню... незакрытый файл — это привет не только текущему приложению, но и всем пытающимся к нему обратиться.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[24]: Грамотность
От: prVovik Россия  
Дата: 15.11.04 07:46
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


СГ>>С точки зрения самого Windows, система BlackBox — это обычное приложение Windows со всеми вытекающими последствиями... Так что нечему тут удивляться.

WH>А если это оберон-ос стоящая на АЭС?

А от АЭС не только оберон, но и всякие там джавы, шарпы и прочая бизнес-ориентированная байда с гц идет лесом.
... << RSDN@Home 1.1.4 @@subversion >>
лэт ми спик фром май харт
Извини, конечно, что поздно....
От: SilverCloud Россия http://rodonist.wordpress.com
Дата: 06.12.04 19:34
Оценка: :))
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Внимание вопрос! А что произойдет если написать:

СГ>

СГ> format c:/

СГ>ИМХО, система ляжет, причем вся.

Ну, вот только что попробовал

Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.

C:\Documents and Settings\Phil>format c:
Отказано в доступе.

C:\Documents and Settings\Phil>

Не падает, зараза
Who needs information?
Re[15]: Миф
От: jazzer Россия Skype: enerjazzer
Дата: 07.12.04 10:30
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

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


AF>> Кроме того, я просто не верю, что Оберон распознает нарушение границ массива на этапе компиляции.


СГ>В общем случае, естественно, на этапе компиляции — нет. Это runtime проверка.


и что, она будет работать быстрее, чем ее отсутствие? :)

AF>> Приведённый пример — ярчайшее доказательство несостоятельности оберона как практически используемого языка. :)


СГ>Значит если язык ОФИЦИАЛЬНО РАЗРЕШАЕТ buffer overflow, утечку памяти, повисшие указатели, неправильное приведение типов то он практически состоятельный, а если языке В ПРИНЦИПЕ НЕВОЗМОЖНЫ такие явления то этот язык практически не состоятельный, так да?


Во-первых, начнем с того, что стандарты языков не "разрешают официально" все то, что ты сказал.
Для всего этого в стандартах предусмотрены термины "неопределенное поведение", "неспецифицированное поведение" и т.п. Так что не надо приписывать языкам несуществующие свойства. Либо приведи цитату из Стандарта с явным позволением (т.е. с гарантиями правильной работы программы) писать в левую память, некорректно приводить типы и т.п.

Во-вторых, эти вещи вообще не связаны. Состоятельность языка — это то, насколько широко он используется, а на это оказывает влияние множество факторов, а не только наличие рантайм-проверок выхода за границы массива и прочие "ПРИНЦИПИАЛЬНОСТИ".

AF>> Если — соблюдая внешнюю форму интерфейсов, я тем не менее наделаю в них смысловых ошибок — то ни одна модульная система — хоть на обероне 99th edition — этого не заметит и правильно работать не станет. :) Или ты и это станешь оспаривать? :)


СГ>Если Вы испортите свой модуль, то изломается только то что от него зависит (а как же иначе?), но остальная система от этого не изломается. А вот если будет buffer overflow, то изломаться может все что угодно.


Это только в Обероне так, потому что в нем все моголитно. В такой архитектуре (типа DOS) действительно buffer overflow приведет к падению всей системы.

Да только в реальном мире (UNIX, WinNT) каждый процесс изолирован от других, так что buffer overflow, который он сделал — это только его личные проблемы и проблемы тех, кто с ним связан.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.