Re[17]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 13.10.05 07:50
Оценка: 1 (1) +1 :))
Здравствуйте, AVC, Вы писали:

AVC>Об этом пишет, например, Франц в старой статье "Java: критическая оценка".


AVC>

AVC>Что в Java действительно ново?

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


Ну что тут можно сказать? Вирт в Oberon допустил всего одну фатальную ошибку: придал Oberon-у паскалевский синтаксис.
А теперь не может простить Грослингу, что тот эту ошибку "тайком" исправил

А вообще, я присоединяюсь к Re[22]: В догонку
Автор: AVC
Дата: 13.10.05
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[20]: Публичное утверждение
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 13.10.05 08:39
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

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


Можно подумать что AVC первый или единственный публично утверждает о том что Sun не имела права замалчивать об оберонах. Как минимум, я слышал или читал ранее про аналогичную мысль утверждаемую публично следующими людьми: Никлаус Вирт (слышал лично во время его турне), Михаэль Франц, Сергей Свердлов, Руслан Богатырёв (статьи доступны на сайте http://www.oberon2005.ru/). Плюс я сам эту мысль публично утверждаю. Уверен, что есть еще масса людей тоже готовых утверждать это публично. Не считаю разумным замалчивать данный факт воровства. Не разумным я считаю лишь спорить об этом до посинения в форумах.
Re[21]: Публичное утверждение
От: Дарней Россия  
Дата: 13.10.05 09:11
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Не считаю разумным замалчивать данный факт воровства. Не разумным я считаю лишь спорить об этом до посинения в форумах.


Это не факт, это всего лишь натянутое предположение. И от того, что ты десять раз скажешь "факт", быть предположением оно не перестанет.
Так что не надо начинать всё по новой.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[21]: Публичное утверждение
От: AVC Россия  
Дата: 13.10.05 09:41
Оценка: 5 (3) +3
Сергей,

я уверен в том, что в Яве есть заимствования из Оберона.
Иначе я бы ни за что не делал подобных утверждений.
Вместе с тем, я теоретически допускаю, что, будучи "всего лишь человеком" , могу и заблуждаться.
В любом случае, дальнейшие споры на эту тему (по крайней мере, на форуме) мне кажутся неразумными.
Мы все только перессоримся окончательно.

Для меня тема Ява-Оберон возникла случайно.
Когда-то (давно уже) я предложил на одном из форумов рассмотреть язык Оберон в качестве языка для обучения студентов.
Потом меня стали за это критиковать (иногда, ИМХО, чрезмерно сурово ), в том числе и сторонники Java и C#.
Я тогда удивился и спросил, почему такая жестокая критика, ведь эти языки (хотя бы частично) обязаны своим происхождением Оберону.
Тут-то я и узнал, что не все думают так же, и что Sun ни слова не сказала о связи между Явой и Обероном.
Моя эмоциональная реакция Вам понятна.

Мне кажется, что многие нашу с Вами точку зрения понимают, но либо не уверены в нашей правоте, либо даже не согласны с нами.
Мне также кажется, что объяснив свою точку зрения, мы сделали все, что могли.
Можно привести убедительные (по крайней мере, на собственный взгляд ) аргументы, но нельзя заставить других оценивать их также.
Как утверждалось в одной старой поговорке, "можно привести лошадь к водопою, но нельзя заставить ее пить".

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

Хоар
Re[22]: Публичное утверждение
От: Дарней Россия  
Дата: 13.10.05 09:52
Оценка: +1 :))
Здравствуйте, AVC, Вы писали:

AVC>Когда-то (давно уже) я предложил на одном из форумов рассмотреть язык Оберон в качестве языка для обучения студентов.


еще один изувер
за что вы так бедных студентов не любите?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[21]: Публичное утверждение
От: AndreyFedotov Россия  
Дата: 13.10.05 10:06
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

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


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


СГ>Можно подумать что AVC первый или единственный публично утверждает о том что Sun не имела права замалчивать об оберонах. Как минимум, я слышал или читал ранее про аналогичную мысль утверждаемую публично следующими людьми: Никлаус Вирт (слышал лично во время его турне), Михаэль Франц, Сергей Свердлов, Руслан Богатырёв (статьи доступны на сайте http://www.oberon2005.ru/). Плюс я сам эту мысль публично утверждаю. Уверен, что есть еще масса людей тоже готовых утверждать это публично. Не считаю разумным замалчивать данный факт воровства. Не разумным я считаю лишь спорить об этом до посинения в форумах.


Сергей! Вы выставляете себя в смешном свете. Никаких фактов ни вы ни другие сторонники Оберона так и не сумели привести. Голословных утверждений и домыслов — предостаточно. Фактов — ни одного. Только факты не имеющие прямого отношения к сути дела, из которых и делались все умозаключения. Ни на один из банальных вопросов
Автор: AndreyFedotov
Дата: 12.10.05
ответа вы так и не дали. Вместо этого вы сослались на то, что мол Алексей не один, кто повторял легенду о краже оберона (вероятно принадлежащую Вирту). Есть такая поговорка: "Сколько не кричи халва — во рту слаще не станет". Надеюсь вы понимаете, что если кричать толпой, халва так же не появится.

Алексей нашёл в себе мужество и здравый смысл отказаться от данной дискуссии — так как это простой обмен бездоказательными утверждениями. В чём я с ним полностью согласен.

Потому предлагаю тему закрыть, по крайней мере до появления новых и прямых фактов.
Re[23]: Публичное утверждение
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 13.10.05 10:13
Оценка:
Здравствуйте, Дарней, Вы писали:

AVC>>Когда-то (давно уже) я предложил на одном из форумов рассмотреть язык Оберон в качестве языка для обучения студентов.


Д>еще один изувер

Д>за что вы так бедных студентов не любите?

Зря ты так. Паскаль в качестве первого языка при программировании очень хорош. Почему бы его место сейчас не отдать Oberon-у. Язык, как мне представляется, простой, лаконичный, модульный, надежный. Для первого года обучения, имхо, то, что нужно. А затем уже можно на C++/Java/C# переходить.
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[24]: Публичное утверждение
От: Дарней Россия  
Дата: 13.10.05 10:28
Оценка:
Здравствуйте, eao197, Вы писали:

Д>>еще один изувер

Д>>за что вы так бедных студентов не любите?

E>Зря ты так. Паскаль в качестве первого языка при программировании очень хорош. Почему бы его место сейчас не отдать Oberon-у. Язык, как мне представляется, простой, лаконичный, модульный, надежный. Для первого года обучения, имхо, то, что нужно. А затем уже можно на C++/Java/C# переходить.


мне паскаль всегда не нравился
слишком неправильная идея положена в его основу (это я про примитивизацию конструкций языка)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[24]: Публичное утверждение
От: Владик Россия  
Дата: 13.10.05 11:58
Оценка:
Здравствуйте, eao197, Вы писали:

Д>>за что вы так бедных студентов не любите?

E>Зря ты так. Паскаль в качестве первого языка при программировании очень хорош. Почему бы его место сейчас не отдать Oberon-у.

Нынче модно ООП. Ни классический паскаль, ни Оберон для демонстрации ОО-подхода не подходят. Если начинать с процедурного программирования, то, возможно, Оберон весьма достойная замена паскалю.
Как все запущенно...
Re[25]: Публичное утверждение
От: Cyberax Марс  
Дата: 13.10.05 12:46
Оценка: 1 (1) :)
Владик wrote:

> Д>>за что вы так бедных студентов не любите?

> E>Зря ты так. Паскаль в качестве первого языка при программировании
> очень хорош. Почему бы его место сейчас не отдать Oberon-у.
> Нынче модно ООП. Ни классический паскаль, ни Оберон для демонстрации
> ОО-подхода не подходят. Если начинать с процедурного программирования,
> то, возможно, Оберон весьма достойная замена паскалю.

Угу, а потом студенты пишут программы с кучей глобальных переменных и
непонятных функций. Знаем, проходили.

Надо учиться с функциональных языков — хорошо мозги прочищает.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 2.0 beta
Sapienti sat!
Re[26]: Публичное утверждение
От: Владик Россия  
Дата: 13.10.05 13:06
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Надо учиться с функциональных языков — хорошо мозги прочищает.


Вот в этом не уверен. Все-таки человеку свойственна итерация А для последующего прочищения мозгов — да, самое то
Как все запущенно...
Re[26]: Публичное утверждение
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 13.10.05 13:18
Оценка:
Здравствуйте, Cyberax, Вы писали:

>> Д>>за что вы так бедных студентов не любите?

>> E>Зря ты так. Паскаль в качестве первого языка при программировании
>> очень хорош. Почему бы его место сейчас не отдать Oberon-у.
>> Нынче модно ООП. Ни классический паскаль, ни Оберон для демонстрации
>> ОО-подхода не подходят. Если начинать с процедурного программирования,
>> то, возможно, Оберон весьма достойная замена паскалю.

C>Угу, а потом студенты пишут программы с кучей глобальных переменных и

C>непонятных функций. Знаем, проходили.

По-твоему, Паскаль способствует написанию неструктурированных программ с большим количеством глобальных переменных?

C>Надо учиться с функциональных языков — хорошо мозги прочищает.


Да уж . А ты, оказывается, экстремал. Или экстремист. Не знаю, что в данном случае более подходит.
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[27]: Публичное утверждение
От: Cyberax Марс  
Дата: 13.10.05 13:42
Оценка: 7 (2)
eao197 wrote:

> C>Угу, а потом студенты пишут программы с кучей глобальных переменных и

> C>непонятных функций. Знаем, проходили.
> По-твоему, Паскаль способствует написанию неструктурированных программ
> с большим количеством глобальных переменных?

ДА!

Сколько раз уже видел такой код:
program blah;
var
    d  : Integer;
    m,n : array [1..4][1..4] of real;

procedure PoschitatDeterminant;
begin
{Тут считают детерминант матрицы m}
end;

procedure UmnozhitMatricy;
begin
{Тут умножают матрицу m на n}
end;

begin
{что-то еще}
end.

И это встречается у 99% студентов.

Паскаль не стимулирует писать в хорошем стиле — поставил глобальную
переменную и оно работает.

А вот в функциональных языках такое не получится — там переменные менять
нельзя

> C>Надо учиться с функциональных языков — хорошо мозги прочищает.

> Да уж . А ты, оказывается, экстремал. Или экстремист. Не знаю, что в
> данном случае более подходит.

В УдГУ на мат. факе в прошлом году первым языком изучали Рефал. Ничего,
живут люди.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 2.0 beta
Sapienti sat!
Re[21]: Публичное утверждение
От: Трурль  
Дата: 13.10.05 13:52
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>. Как минимум, я слышал или читал ранее про аналогичную мысль утверждаемую публично следующими людьми: [...]Михаэль Франц


Насколько мне известно, Франц никогда не говорил о заимствованиях в языке. Он говорил о другом:

For example, Adl-Tabatabai et al. [ACL98] describe a compilation strategy for Java that they might
just as well have copied from one of Wirth’s books [WG92, Wir96], but they present it as a new
invention and give it the new name “lazy code selection”. Wirth has been teaching the identical
method at least since the mid-1980’s, calling it “delayed code emission”.


Кстати, разработчики Java HotSpot таки ссылались на Вирта.
Re[28]: Публичное утверждение
От: Трурль  
Дата: 13.10.05 14:07
Оценка: :)
Здравствуйте, Cyberax, Вы писали:


C>Сколько раз уже видел такой код:

C>
C>program blah;
C>var
C>    d  : Integer;
C>    m,n : array [1..4][1..4] of real;

C>procedure PoschitatDeterminant;
C>begin
C>{Тут считают детерминант матрицы m}
C>end;

C>procedure UmnozhitMatricy;
C>begin
C>{Тут умножают матрицу m на n}
C>end;

C>begin
C>{что-то еще}
C>end.
C>


Да, гораздо лучше так
class blah 
{   int d;
    double[][] m,n;
   public void SozdatMatricy;
     { m = new double[4][4];
       n = new double[4][4];}

   public void PoschitatDeterminant;
   {Тут считают детерминант матрицы m}

   public void  UmnozhitMatricy;
   {Тут умножают матрицу m на n}

   {что-то еще}
}
Re[29]: Публичное утверждение
От: Cyberax Марс  
Дата: 13.10.05 15:09
Оценка:
Трурль wrote:

> Да, гораздо лучше так

>
>class blah
>{ int d;
> double[][] m,n;
> public void SozdatMatricy;
> { m = new double[4][4];
> n = new double[4][4];}
>
> public void PoschitatDeterminant;
> {Тут считают детерминант матрицы m}
>
> public void UmnozhitMatricy;
> {Тут умножают матрицу m на n}
>
> {что-то еще}
>}
>
Вы читаете что я пишу хоть, где вы увидели предложение сразу учить ООП
на С++? Надо сначала учить функциональные языки, чтобы было понятие
контекста вычислений и сторонних эффектов.

Чтобы писать потом код хотя бы примерно так:
program blah;

type
    Matrix4 = array[1..4][1..4] of real;

function Determinant4(m : Matrix4) : real ;
begin
    {Считаем детерминант}
end;

function Multiplicate4(m1,m2 : Matrix4) : Matrix4;
begin
    {Тут умножают матрицу m1 на m2}
end;

var
    m,n : Matrix4;
begin
{что-то еще}
end.


--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 2.0 beta
Sapienti sat!
Re[30]: Публичное утверждение
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 13.10.05 15:21
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Чтобы писать потом код хотя бы примерно так:

C>
C>program blah;

C>type
C>    Matrix4 = array[1..4][1..4] of real;

C>function Determinant4(m : Matrix4) : real ;
C>begin
C>    {Считаем детерминант}
C>end;

C>function Multiplicate4(m1,m2 : Matrix4) : Matrix4;
C>begin
C>    {Тут умножают матрицу m1 на m2}
C>end;

C>var
C>    m,n : Matrix4;
C>begin
C>{что-то еще}
C>end.
C>


Меня на паскале именно так и учили писать. И били по рукам за глобальные переменные, рассказывая, почему это плохо.
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[31]: Публичное утверждение
От: Cyberax Марс  
Дата: 13.10.05 16:02
Оценка: 8 (3) +1
eao197 wrote:

> Меня на паскале именно так и учили писать. И били по рукам за

> глобальные переменные, рассказывая, почему это плохо.

Меня так еще на QuickBasic'е учили писать Но факт в том, что Паскаль
допускает плохой стиль, а куча плохих учебников его
поощряют. Ну и многие студенты так пишут еще со школьных уроков
информатики (квалификация большинства школьных учителей информатики
оставляет желать лучшего).

Поэтому проще всего взять язык где "неправильно" просто нельзя писать
Кстати, так и делают в MITе — там используют Scheme.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 2.0 beta
Sapienti sat!
Re[32]: Публичное утверждение
От: AndreyFedotov Россия  
Дата: 13.10.05 16:54
Оценка: 1 (1)
Здравствуйте, Cyberax, Вы писали:

>> Меня на паскале именно так и учили писать. И били по рукам за

>> глобальные переменные, рассказывая, почему это плохо.

C>Меня так еще на QuickBasic'е учили писать Но факт в том, что Паскаль

C>допускает плохой стиль, а куча плохих учебников его
C>поощряют. Ну и многие студенты так пишут еще со школьных уроков
C>информатики (квалификация большинства школьных учителей информатики
C>оставляет желать лучшего).

C>Поэтому проще всего взять язык где "неправильно" просто нельзя писать

C>Кстати, так и делают в MITе — там используют Scheme.

Полностью согласен! Особенно изуитски это выглядит у Вирта. Он единственный кто регулярно заявляет о том, что мол его языки позволяют писать только в правильном стиле. Собственно в том сама суть его работ — он пытается сделать такой язык на котором можно написать только правильно — и все танцы с бубном, минимализация синтаксиса сверх разумных пределов — следствие этой идеи. Однако несколько странно учить идеи типизации с помощью языка в котором возможны лишь примитивные типы (такого как Паскаль). Тем более, что ещё большой вопрос — стоит ли начинать учить программированию с алгоритмов. Есть большое подозрение, что лучше всё-таки сразу учить ООА/ООП — развивать объектное мышление — чем учить 5 лет алгоритмам, утверждая, что это программирование, а потом удивляться, почему нет вузов, которые готовили бы разработчиков.

А то до сих пор вижу динозавров, которые утверждают, что мол алгоритм сортировки — это "суть программирования", а объекты — ерунда (и в общем с определённой точки зрения правы — но не для тех детей, кого они этому учат) а потом бедолаги обнаруживают, что вокруг них одна "едунда", а "суть программирования" используется лишь в готовом виде (а за попытки писать свои сортировки Тим лиды лупят по рукам)
Re[25]: Публичное утверждение
От: AVC Россия  
Дата: 13.10.05 18:07
Оценка:
Здравствуйте, Владик, Вы писали:

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


Насчет классического Паскаля Вы, несомненно, правы. Для демонстрации ООП он не годится.
Но за что "досталось" бедному Оберону?
Оберон поддерживает и объектно-ориентированное, и модульное, и компонентно-ориентированное программирование.
(Возможно, Вы реализовали бы это по-другому. Но все же это в нем есть.)
И при этом очень прост.
Я действительно выучил его за день. Но пусть это не показательно (я раньше был знаком с Паскалем).
Вот другой пример. Наш новый сотрудник для реализации достаточно сложной отдельной программы (отладчика) выбрал (самостоятельно! я никакого отношения к этому не имею) Компонентный Паскаль, с которым был знаком только с моих слов и по описанию языка.
Я усомнился (именно так — я (поклонник Оберона) усомнился ) в рациональности такого шага — язык для него новый.
Говорю ему через несколько дней: таких-то вот компонентов у тебя, вероятно, нет; можешь приспособить мои, написанные на Си. А он отвечает: да я их уже на Компонентном Паскале реализовал — все работает.
Это я к тому, что простота имеет все же значение.

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

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