Оберон-технология: особенности и перспективы |
Тематика обсуждения: Оберон-технология. Особенности, перспективы, практическое применение.
Всего в теме 6256 сообщений
Добавить свое сообщение
Отслеживать это обсуждение  Обсуждение из раздела Школа ОБЕРОНА
№ 5486 14-10-2007 02:00 |  |
Ответ на »сообщение 5485« (AVC)
___________________________
Короче, пока что -- поток сознания... :)
Зато в верном направлении.
Мы привыкли к "синхронному мышлению": видим цель и сразу ищем средства её достижения. Для непростых задач требуется иное: "асинхронное мышление". Подпитывать свой мозг информацией, не торопя события. Решение будет само постепенно вызревать. Подпитывать только надо пытаться исходя из постепенно проступающих контуров решения.
№ 5485 13-10-2007 20:58 |  |
По поводу сложности.
Задали мне "задачку", однако. Пока что провожу "мобилизацию" (в смысле Пойа :) ).
С точки зрения теории алгоритмов сложность связана со временем (числом шагов) исполнения алгоритма.
Но это не наш случай.
Мне идти пешком до работы 3 км, но если бы пришлось идти 4 км, мой путь стал бы длиннее, но не сложнее.
Скорее сложность -- это то, что как-то связано с барьером, препятствующим автоматизации решения интеллектуальных задач.
Почему программирование "сложно"? Потому что его пока не удается автоматизировать.
Для программистов, как создателей программных систем, наверное, самое трудное -- бороться со сложностью при изменении системы, так сказать -- в динамике.
Здесь огромное значение приобретает "ортогональность", когда части программной системы "не отбрасывают тень" друг на друга.
Бывает также сложность научения, "погружения" в некий предмет.
Возможно, неплохим примером тому может быть редактор Vim.
Все от него шарахаются, как от уж очень непривычного, но зато впоследствии он может повысить существенно эффективность редактирования текстов.
Короче, пока что -- поток сознания... :)
№ 5484 12-10-2007 16:57 |  |
Ответ на »сообщение 5482« (Beginner)
___________________________
Дерево - граф.
Да хоть князь :)
На ОО языках реализованы все известные алгоритмы работы с графами.
Причем вполне изящно.
Некоторые задачи из теории графов хорошо решаются реляционной алгеброй, там достаточно таблиц. Но и таблицы прекрасно реализуются в ООП.
Чем же не подходит?
№ 5483 12-10-2007 10:35 |  |
Ответ на »сообщение 5479« (AVC)
___________________________
Тут еще непонятнее. В описании АО, данном Патриком Риали, вообще нет списка стандартных процедур и функций...
Да, я тоже удивился этому. В-общем, AO.NET следует воспринимать как пробный камень перед Зонноном...
Кстати, как там Зоннон, уже научился поддерживать вложенные процедуры? ;о)
№ 5482 12-10-2007 04:44 |  |
Ответ на »сообщение 5480« (Сергей Перовский)
___________________________
Дерево - граф.
№ 5481 12-10-2007 04:43 |  |
К вопросу о сложности.
"Пусть у нас есть 10 млн. элементов (битов)" и пример Сергея Перовского о кристалле хорошо объясняется в рамках теории комплектов. Это пример не сложной системы, а системы в которой один элемент имеет большую мощность - входит в большом числе экземпляров.
№ 5480 12-10-2007 04:20 |  |
Ответ на »сообщение 5476« (Beginner)
___________________________
ООП для графов не подходит.
???
№ 5479 12-10-2007 03:46 |  |
Ответ на »сообщение 5477« (Geniepro)
___________________________
А что это за компилятор Active Oberon.NET такой непонятный? В нём почему-то нет вещественной функции ABS - при использовании этого кл. слова компилер ругается на ожидание целого типа и генерирует вызов целочисленной .NET'овской функции abs, что приводит к ошибке при работе... Как так? Не дошли руки довести компилятор до ума?
Тут еще непонятнее. В описании АО, данном Патриком Риали, вообще нет списка стандартных процедур и функций...
№ 5478 Удалено модератором | |
№ 5477 11-10-2007 10:30 |  |
А что это за компилятор Active Oberon.NET такой непонятный? В нём почему-то нет вещественной функции ABS - при использовании этого кл. слова компилер ругается на ожидание целого типа и генерирует вызов целочисленной .NET'овской функции abs, что приводит к ошибке при работе... Как так? Не дошли руки довести компилятор до ума?
MODULE Test;
PROCEDURE SqrtIter* (guess, x : REAL) : REAL;
VAR g : REAL;
BEGIN
g := guess;
WHILE ABS(g*g - x)/x > 0.001 DO
g := (g + (x/g))/2.0
END;
RETURN g
END SqrtIter;
BEGIN
WRITELN(SqrtIter (1.0, 2.0));
END Test. Line:7 pos 123 INTEGER expected .method static public float64 SqrtIter (float64 guess, float64 x)
Unhandled Exception: System.DivideByZeroException: Attempted to divide by zero.
at Test.Test.SqrtIter(Double guess, Double x)
at Test.Test.$OberonBody()
Кусок из компилятора (Oberon.mod): | 11 : Expression(x); Obgen.Load(x);
IF x.type.form # Obgen.Integer THEN S.Mark("INTEGER expected") END;
Eat(Obscan.Rparen);
Obgen.EnterString(fnr, "int32 [mscorlib]System.Math::Abs(int32)");
Obgen.PutCall(fnr)
Добавить свое сообщение
Отслеживать это обсуждение 
Дополнительная навигация: |
|