Re[14]: Oberon???????????????????????????????????
От: cat-man-do  
Дата: 26.10.04 14:06
Оценка: -1
Здравствуйте, Sinclair, Вы писали:

СГ>>4) Как понять что Console как-то связана с приведенной выше using System;

S>Хорошо, свяжем их явно.
S>
S>class Class1
S>{
S>    static void Main()
S>    {
S>        System.Console.WriteLine("Hello World");
S>    }
S>}
S>

S>Итак, пока что у нас Оберон — C# идут один-в-один, за исключением void. Во всем остальном паритет.

В Oberon-е мне нравится _однозначность_ его конструкций. Например, то что в C# можно написать System.Console.WriteLine и Console.WriteLine _я_ уже считаю недостатком языка. Если я в программе на Oberon вижу цепочку identifier1.identifier2.identifier3, то всегда знаю что identifier1 объявлен в текущем модуле и могу быстро посмотреть что он означает. Если мне встречается Console.WriteLine в программе на C# я не смогу сразу понять что такое Console и откуда оно взялось, я в курсе, что современные IDE легко позволяют мне это определить, но это решение одного из проявлений проблемы, а не ее самой. В Delphi похожие недоработки языка приводили к необходимости, в сложных библиотеках, идентификаторов состоящих из 8-10 слов.
В Oberon невозможно обратится к полям/методам результата функции, его можно только присвоить переменной или передать в другую функцию/процедуру, после Delphi это очень раздражало, но то, что вызов метода выглядит как вызов метода (последовательности действий, возможно изменяющих переменные/поля) и отличается от обращения к полям _я_ засчитываю как достоинство языка.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.