Re[35]: Публичное утверждение
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 14.10.05 21:33
Оценка: -1
Здравствуйте, Дарней, Вы писали:

Д>Объекты — ерунда. А вот архитектура — нет. Но как раз этому не учат


Да и архитектура, в сущности, тоже ерунда.
... << RSDN@Home 1.2.0 alpha rev. 615 on Windows XP 5.1.2600.131072>>
AVK Blog
Re[13]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.10.05 22:02
Оценка:
Здравствуйте, AVC, Вы писали:

AVC>С кем они гнались наперегонки?


С МС.

AVC>Знаете ли Вы какие-нибудь разработки, конкурировавшие тогда с Явой в области ее применения?


VB, COM.

AVC>Ведь очень интересная картина: люди отчаянно спешат, портят из-за этого язык (который должен стать их "брэндом"!). Неужели без причины?


Портят? Не выдавай сови желания за действительность.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.10.05 22:02
Оценка: 7 (1) +1 :))
Здравствуйте, AVC, Вы писали:

AVC>Очень трогательно и оригинально. Сравним с Виртом:

AVC>

...Большинство идей пришло от использования и изучения
AVC>существующих языков, таких как Modula-2, Ada, Smalltalk и Cedar, которые часто предостерегали
AVC>нас от того, как не надо делать.

AVC>(Выделение тоже мое.)

Все! До меня дошло! Вот она главная черта которую Ява точно позаимствовала у Оберона! Она позаимствовала подход — усматривать в других языках как не надо делать!!! Вот именно по этому на Оберон посмотрели и поняли как не надо делать. Именно по этому Оберон так же Похож на Яву как на Эйфелеву башню!
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: PS
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.10.05 22:02
Оценка:
Здравствуйте, Зверёк Харьковский, Вы писали:

ЗХ>...ну а вообще, доказывать что от чего произошло и что на что похоже — мне не кажется темой для продуктивной дискуссии.


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

Гениальные идеи вроде ЖЦ, типобезопасности, интерфейсов, ООП, КОП и т.п. рождаются редко. Порой даже нельзя понять у кого впервые появилась та или иная идея. Так что приходится их использовать независимо от их просхождения.

Ну, и собственно ЯП в большинстве случаев сомещают чужие гениальные идеи изредка добавляя свои мелкие идейки, которые в последствии иногда признаются массами как гениальные.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[17]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.10.05 22:02
Оценка: :)))
Здравствуйте, AVC, Вы писали:

AVC>Хорошо, вернусь на минуту к теме синтаксического минимализма и скажу пару слов по поводу break.

AVC>Предположим, я вижу некий цикл на Обероне.
AVC>Что-то вроде
AVC>

AVC>WHILE cond DO
AVC> ...тут тело цикла
AVC>END;
AVC>(* точка A, следующая за циклом *)

AVC>Читая этот текст, я уверен, что если я попаду в точку A, то там будет верным утверждение ~cond.
AVC>Это очень помогает быстро разобраться в программе.
AVC>А вот если я читаю текст на Си/Си++, то такой уверенности нет, т.к. из цикла можно выйти и другим путем — с помощью break или даже goto.
AVC>Значит, я должен лезть в тело цикла и выискивать там возможные break и goto.
AVC>Такое вот синтаксическое удобство.

Батенька вам с этим идеологически бр... эээ... багажОм нужно к функциональщикам податься. Они вообще циклы считают злом. При разговоре они вам упомянут, что в вашем недоделаном Обероне можно случайно изменить переменную, а от этого вторая половина бед в программировании (первая от циклов). В общем код должен быть таким:
(define (f (cond _cond f ...тут тело цикла)))



В общем, кончай агитацию. Слезай с бронивека.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[19]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.10.05 22:02
Оценка: :))
Здравствуйте, AVC, Вы писали:

AVC>Статистика показывает, что число циклов LOOP...EXIT...END не превышает 10% (9,1%). Для чего портить остальные 90% циклов?


Статистика прграмм написанных на Хаскель показывает, что в них количество процентов вообще циклов не привышает 0%. ТАк зачем порить остальные 100% программы циклами?
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[20]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.10.05 22:02
Оценка:
Здравствуйте, AVC, Вы писали:

AVC>Собственно, "мой ответ Cyberax-у" имел простую цель: указать на то, что в большинстве случаев break (EXIT) не нужен.

AVC>Вместо популярного на Си решения вроде (схематично)
AVC>
AVC>for (i = 0; i < n; ++i)
AVC>    if (a[i] == x)
AVC>        break;
AVC>

AVC>вполне хорошо
AVC>
AVC>i := 0;
AVC>WHILE (i < n) & (a[i] # x) DO INC(i) END;
AVC>

Ага если шивровки пишешь. А так я бы предпочел что-нить из испорченного:
foreach (var y in a)
    if (y == x)
        break;

или нежизнеспособного:
a.Find(y => y == x);

хотя как только перепишешь этот пример соль извращенными способами, то сразу понимашь его полную бессмысленность. Зачем искать то что и так известно?
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[26]: Публичное утверждение
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.10.05 22:02
Оценка:
Здравствуйте, Cyberax, Вы писали:

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


Корче опять так же песня... каждый кулик...
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[38]: Публичное утверждение
От: AndreyFedotov Россия  
Дата: 15.10.05 07:22
Оценка:
Здравствуйте, eao197, Вы писали:

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


AF>> Ну а Линукс Торвальдс делает тоже на C++

E>

E>Мне казалось, что ядро Линукса на чистом C делается.


Вообще то да... В пылу полемики упустил это из виду, как и позицию Линукса Торвальдса по сему поводу
Re[37]: Публичное утверждение
От: AVC Россия  
Дата: 15.10.05 10:17
Оценка: 72 (4)
Здравствуйте, Зверёк Харьковский, Вы писали:

AVC>>В книге Project Oberon (Вирт и Гуткнехт) как раз и рассматривается конкретный пример операционной системы, созданной с нуля. С объяснением архитектурных решений. С исходными текстами.

AVC>>А Вы говорите — не учат.

ЗХ>О! А вы не подскажете, где ее скрасть можно?


В числе прочих открыто выложена на:
http://www.oberon.ethz.ch/books.html

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

Хоар
Re[35]: Публичное утверждение
От: Кодт Россия  
Дата: 17.10.05 09:05
Оценка:
Здравствуйте, Трурль, Вы писали:

C>>Забыл сказать, set запрещают использовать.


Т>Настоящему индусу завсегда везде ништяк.



А на Haskell или на *ML?
Перекуём баги на фичи!
Re[21]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 17.10.05 09:08
Оценка: 1 (1) +1 -1
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, AVC, Вы писали:


AVC>>Собственно, "мой ответ Cyberax-у" имел простую цель: указать на то, что в большинстве случаев break (EXIT) не нужен.

AVC>>Вместо популярного на Си решения вроде (схематично)
AVC>>
AVC>>for (i = 0; i < n; ++i)
AVC>>    if (a[i] == x)
AVC>>        break;
AVC>>

AVC>>вполне хорошо
AVC>>
AVC>>i := 0;
AVC>>WHILE (i < n) & (a[i] # x) DO INC(i) END;
AVC>>

VD>Ага если шивровки пишешь. А так я бы предпочел что-нить из испорченного:
VD>
VD>foreach (var y in a)
VD>    if (y == x)
VD>        break;
VD>

VD>или нежизнеспособного:
VD>
VD>a.Find(y => y == x);
VD>

VD>хотя как только перепишешь этот пример соль извращенными способами, то сразу понимашь его полную бессмысленность. Зачем искать то что и так известно?

Искали индекс i элемента в массиве равного x, если он есть.
В Ваших же примерах, действительно, не ясно что искали и зачем это делали.
Re[32]: Публичное утверждение
От: Кодт Россия  
Дата: 17.10.05 09:12
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Нормальные компиляторы делают return value optimization для таких

C>случаев (то есть неявно переписывают функция в виде c out-параметром).

C>Невозможность создания удобных типов с эстафетным владением — это вообще минус Оберона.


А уж с эстафетной концевой рекурсией... Ах мечты мечты.

На самом деле, эстафетное владение в Обероне (равно как в любом языке со сборкой мусора) — это раз плюнуть.
POINTER TO ARRAY OF ARRAY OF REAL — и всё.
(Оставим в стороне вопрос — лепо ли в качестве матрицы использовать jagged array).
Перекуём баги на фичи!
Re[38]: Публичное утверждение
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 17.10.05 09:16
Оценка: 12 (1)
AVC>В числе прочих открыто выложена на:
AVC>http://www.oberon.ethz.ch/books.html
AVC>

Еще есть массированное сборище всего и вся по оберонам: http://www.oberon2005.ru/ там тоже выложено.
Re[12]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: Кодт Россия  
Дата: 17.10.05 09:16
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Все! До меня дошло! Вот она главная черта которую Ява точно позаимствовала у Оберона! Она позаимствовала подход — усматривать в других языках как не надо делать!!! Вот именно по этому на Оберон посмотрели и поняли как не надо делать. Именно по этому Оберон так же Похож на Яву как на Эйфелеву башню!


Кстати про Эйфелеву башню. Почему-то никто здесь не спорит с пеной у рта, что Eiffel это (круто/отстой)... А ведь очень симпатичный язык, и весьма строгий.
Перекуём баги на фичи!
Re[33]: Публичное утверждение
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 17.10.05 09:36
Оценка:
Здравствуйте, Кодт, Вы писали:

C>>Невозможность создания удобных типов с эстафетным владением — это вообще минус Оберона.


К>А уж с эстафетной концевой рекурсией... Ах мечты мечты.


А что такое "тип с эстафетным владением" и "эстафетная концевая рекурсия"?
Что такое просто концевая рекурсия это я понимаю, а эстафетная?

К>На самом деле, эстафетное владение в Обероне (равно как в любом языке со сборкой мусора) — это раз плюнуть.

К>POINTER TO ARRAY OF ARRAY OF REAL — и всё.
К>(Оставим в стороне вопрос — лепо ли в качестве матрицы использовать jagged array).

Это не jagged array. Это указатель на настоящий обычный думерный value-type массив.
  PROCEDURE f(VAR valueTypeMatrix: ARRAY OF ARRAY OF REAL);
  PROCEDURE g(VAR valueTypeJaggedMatrix: ARRAY OF POINTER TO ARRAY OF REAL);
  PROCEDURE h(ptrToValueTypeMatrix: POINTER TO ARRAY OF ARRAY OF REAL);
  PROCEDURE s(ptrToValueTypeJaggedMatrix: POINTER TO ARRAY OF POINTER TO ARRAY OF REAL);
Re[22]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.10.05 09:45
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Искали индекс i элемента в массиве равного x, если он есть.

СГ>В Ваших же примерах, действительно, не ясно что искали и зачем это делали.

А... Ну, тогда может воспользоваться Array.IndexOf:
int[] array = new int[]{ 1, 2, 4, 6, 8, 9, 10 };
Console.WriteLine(Array.IndexOf(array, 9));

... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.10.05 09:45
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Кстати про Эйфелеву башню. Почему-то никто здесь не спорит с пеной у рта, что Eiffel это (круто/отстой)... А ведь очень симпатичный язык, и весьма строгий.


Думаю, его просто никто не знает. Тут на ЮГ про него рассказывал сам автор, но народ просто хлопал глазками. Видимо не понимал на фиг оно упало и что это такое. Я честно говоря из рассказа помню, только что в языке есть МН и программирование по контракту.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Мои впечатления о лекции Н. Вирта в ННГУ 26.09.2005
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.10.05 09:45
Оценка:
Здравствуйте, AVC, Вы писали:

AVC>Именно так.

AVC>Вирт называет источники, откуда заимствует идеи, а Гослинг главный источник — замолчал.

Гослинг тоже называет. Причем зачастую те же (Смолток, Паскаль...). Но тебя это не устраивает, так как не вписывается в твою концепцию заговора.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[36]: Публичное утверждение
От: Трурль  
Дата: 17.10.05 12:44
Оценка:
Здравствуйте, Кодт, Вы писали:

К>А на Haskell или на *ML?


На *ML легко, практически, то же, что и на Scheme. На Haskell — надо постараться.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.