Re[3]: Goto's are evil?
От: GlebZ Россия  
Дата: 29.11.05 10:47
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Действительно, в большинстве случаев можно обойтись без них, вместо:

V>
V>if(something)
V>  continue;
V>...
V>


V>полезнее будет так:

V>
V>if(!something) {
V>  ...
V>}
V>

Честно говоря, полезнее будет
if (!something)somethingDo();

Если у тебя особый случай, то лучше обособить в отдельную процедуру.

С уважением, Gleb.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[11]: Goto's are evil?
От: GlebZ Россия  
Дата: 29.11.05 10:56
Оценка: :))
Здравствуйте, reductor, Вы писали:

R>Не совсем правильный подход (хотя даже так вирт уступает в 4 раза).

R>Идем сюда: http://citeseer.ist.psu.edu/mostcited.html
R>Там собраны самые цитируемые ученые вообще (суммарно все публикации). Видим, что Милнер там на четвертом месте.
R>В окружении Ульмана, Кнута, Дийкстры, Хоара, Ривеста, Шамира, Лейзерсона и так далее (Надеюсь, представлять этих товарищей не нужно).
Занятно. А интересно Брукс что такого изобрел что его цитируют больше чем Дейскстру. И вообще, он является ученым? Даже серебрянную пулю смог изобрести.

С уважением, Gleb.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[11]: Goto's are evil?
От: GlebZ Россия  
Дата: 29.11.05 10:59
Оценка:
Здравствуйте, reductor, Вы писали:

R>В окружении Ульмана, Кнута, Дийкстры, Хоара, Ривеста, Шамира, Лейзерсона и так далее (Надеюсь, представлять этих товарищей не нужно).

И Ульман что изобрел. Учебник хороший, не скрою. Но какой у него вклад? Но самое интересное, где Кодд? Вобщем это не вклад, а филькина грамота.

С уважением, Gleb.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[8]: Goto's are evil?
От: reductor  
Дата: 29.11.05 11:07
Оценка:
Здравствуйте, GlebZ, Вы писали:

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


R>>Но это все не имеет никакого значения. Вклад в Computer Science Дийкстры и Хоара несоизмерим с Виртовским. Точнее, Паскаль уже не являлся чем-то особенно заметным в CS. Упрощенный Алгол.

GZ>Какой Алгол?

Уже никакой.

R>>То, чем занимались Дийкстра, Хоар и Милнер сейчас лежит в основе SML, O'Caml и Haskell.

GZ>Насчет Дейкстры и Милнера. Скорее их вклад в данные языки несооизмерим с вкладом Moses Schonfinkel, Alonso Church, Haskell Curry, H. Barendregt, Dana S. Scott, Peter J. Landin, и самое главное John McCarthy.

Вы точно ничего не путаете? Мы здесь не о математиках и логиках. Здесь обсуждается Computer Science и дизайн языков программирования. Хотя конечно заслуги того же Landin и McCarthy сложно переоценить. Вообще список имен можно продолжать бесконечно.
В чем суть вашего замечания?

R>>Не считая придуманных ими алгоритмов и сделаных открытий. Их влияние _огромно_.


R>>А Вирт? Язык Оберон. Даже не смешно.

R>>То есть реально я вообще затруднюсь сказать что сделал Вирт в CS после своего участия в группе алгола.
R>>40 лет одна и та же песня.
GZ>Не перевирай факты и узнаешь. :)

Жду указания на вранье и доказательство такового. Чем быстрее, тем лучше.

AVC>>>Я понял, что Милнера (кто это?) и Маккарти Вы ставите выше, чем Вирта. Это Ваше неотъемлимое право.

R>>Кто такой Милнер? Хороший вопрос на форуме, посвященном программированию.
R>>Нет, правда. Робин Милнер — это такой человек, который в то время, когда Вирт делал Паскаль, совершил небольшую революцию в CS.
R>>Создал язык ML и алгоритм вывода типов Хиндли-Милнера. А так же создатель пи-исчисления. Один из самых влиятельных и цитируемых ученых в мире.
GZ>Милнер просто реализовал типизацию в комбинаторной логике исследованую Roger Hindley.

Вообще-то оригинальные исследования принадлежат H. Curry, А Хиндли с Милнером имели независимые исследования.
И давайте без этого "просто", да? А то так договоримся, что все математики просто реализуют идеи пифагора.
Список работ Милнера и их оценку можно посмотреть на http://citeseer.ist.psu.edu/

И это никак не отображает заслуги тех же Хиндли и Карри.

AVC>>>Но вот насчет оплеух Вирту "по делу", может быть, скажете пару ласковых слов?

AVC>>>Так сказать, перед смертью. :)
R>>А почему перед смертью? Он умирать собрался?
R>>Хорошего о Вирте могу сказать, конечно — хотел бы я иметь его упорство.
GZ>Для начала вы бы посмотрели что же он делал, а потом высказывались бы :)

Я смотрел. Что дальше. Опять намек непонятно на что как в случае с враньем выше? Еще раз напомню, что жду фактов.
.
GZ>У меня сложилось такое превратное впечатление что любое упоминание о Вирте вызывает неприятие независимо от причины. Мне это не кажется конструктивным.

Дайте опровержение. Покажите работы Вирта, расскажите о их фундаментальности и влиянии. Или вам чье-то вранье все руки связало?
Re[11]: Goto's are evil?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 29.11.05 11:09
Оценка:
Здравствуйте, reductor, Вы писали:

E>>Я не собираюсь ничего сравнивать. Мне просто интересно, на основании каких достижений ты позволяешь себе смеятся над работами Вирта?


R>А какое это имеет значение?


Жаль, что ты не ответил на мой вопрос:

А мы только про CS говорим или про программирование вообще?


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

Так что, если мы говорим только о научных публикациях, то ради бога, пусть Милнер будет в пять раз более цитируемым.
Размер вклада Вирта в программирование вообще это никак не умаляет.

R>Если я скажу, что моя фамилия Плоткин — это будет иметь большее значение, чем если я скажу, что моя фамилия Пупкин?


Будет. По этой фамилии можно будет сделать поиск в citeseer.

R>На каком основании? Заслуги Никлауса Вирта зависят от чьей-то фамилии?

R>Я способен оценить и прочитать то, что пишет Вирт, этого достаточно.

Вот не зря же некоторые люди становятся авторитетами. И прислушиваются к их словам потому, что они что-то понимают, знают и умеют лучше остальных.

Вот буквально недавно был случай, в форуме про C++. 0xDEADBEEF изложил свой способ определения типа исключения (Re: подход к try-catch
Автор: 0xDEADBEEF
Дата: 05.10.05
), классный способ, интересный, многим понравился в своей простоте и удобстве. Мне в том числе. Да только оказалось, что этот способ уже был озвучен Страуструпом намного раньше (Все новое украдено до нас! :)))
Автор: eao197
Дата: 25.11.05
. Не исключено, что и не Страуструпом был придуман. Но то, что после выхода книги Страуструпа этим способом стало пользоваться больше программистов -- это, имхо, однозначно.

Какое отношение этот конкретный прием имеет к CS? Да никакого. А вот к реальному, каждодневному программированию -- самое непосредственное. Вот и Вирт. Ты утверждаешь, что он никудышный ученый? Да бог его знает, не мне судить. А вот то, что он сделал много инструментов, на которых научилось работать (причем хорошо научилось и хорошо работать) масса программистов -- это бесспорно. И лично я думаю, что Вирт вполне заслужил уважительного отношения как к своей персоне, так и к своим высказываниям.
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[12]: Goto's are evil?
От: Дарней Россия  
Дата: 29.11.05 11:10
Оценка: +2
Здравствуйте, GlebZ, Вы писали:

GZ>Занятно. А интересно Брукс что такого изобрел что его цитируют больше чем Дейскстру. И вообще, он является ученым? Даже серебрянную пулю смог изобрести.


ну уж Брукса не надо трогать
он еще в те древние времена писал про такие вещи, которые и сейчас до многих не доходят
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[12]: Goto's are evil?
От: reductor  
Дата: 29.11.05 11:21
Оценка:
Здравствуйте, GlebZ, Вы писали:

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


GZ>И Ульман что изобрел. Учебник хороший, не скрою. Но какой у него вклад? Но самое интересное, где Кодд? Вобщем это не вклад, а филькина грамота.


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

Во-вторых, если вы чувствуете в себе дефицит образования и не можете ответить на вопрос чем заслужил второе место в списке Джеф Ульман, то лучше заняться своим образованием, чем пропагандировать здесь антиинтеллектуализм.

Там есть список работ и цитаты на них каждого автора. Почитайте.
То же касается и остальных упомянутых вами.

А пока что то, чем вы занимаетесь по-английски называется trolling: http://en.wikipedia.org/wiki/Internet_troll
Re[3]: Goto's are evil?
От: AVC Россия  
Дата: 29.11.05 12:08
Оценка: :)
Здравствуйте, vdimas, Вы писали:

AVC>>Видно, Линусу проще добиться уважения критикой Вирта, чем выведением багов из ядра?


V>Слишком много людей пишут это ядро помимо Линуса. Этот пост, очевидно, адресовался им. И вполне правильно он поставил акцент, что читабельность и простота важднее, чем следование неким догмам.


С мыслью, что простота и читабельность важнее следования догмам, я полностью согласен.

Вот что мне непонятно, так это Cyberax'овские крики восторга и подбрасывание в воздух чепчика при чтении торвальдсовского вранья про Паскаль. Уверен, что Cyberax и про goto в Паскале знал, и про EXIT в Модуле-2.
Т.е. знает, что Торвальдс неправду пишет, и все больше его за это уважает.
М-да, загадка.

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

Хоар
Re[6]: Goto's are evil?
От: AVC Россия  
Дата: 29.11.05 12:26
Оценка:
Здравствуйте, Cyberax, Вы писали:

>> В *стандартнон* Паскале есть goto, в Модуле-2 и Обероне EXIT (=break).


C>Или вот еще:

C>

C>The appearance of goto labels as integers might be considered a sort of arcane
C>plot to punish people for using "goto"s. Many or most implementations allow
C>goto labels to appear in the same form as identifiers...


Т.е. Торвальдса замучили метки в виде чисел? (Никаких других "трудностей" вроде бы нет.)
Например:
while ... do
begin
  while ... do
  begin
    ...
    if a[i][j] = 0 then (* ура, нашли! *) goto 999;
    ...
  end
end;
999:

Как же часто надо было использовать goto, чтобы так настрадаться!
Что-то в отношении стиля молодого Линуса меня начинают терзать смутные подозрения...

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

Хоар
Re[13]: Goto's are evil?
От: GlebZ Россия  
Дата: 29.11.05 12:42
Оценка:
Здравствуйте, reductor, Вы писали:

GZ>>И Ульман что изобрел. Учебник хороший, не скрою. Но какой у него вклад? Но самое интересное, где Кодд? Вобщем это не вклад, а филькина грамота.

R>Во-первых вы что-то с неумеренной частотой мне отвечаете.
Не вам, а вашим сообщениям.
R>И без всякого смысла транслируете сюда рейтинг сайтсира по одному.
Смысл в том, что там смысла в этом индексе нет. Ну делают дисеры по функциональным языкам значительно чаще чем по структурным. Ну и ссылок поэтому больше.
Если вы хотите знать кто больше повлиял, то это делается очень легко. В CS есть такая же премия как и нобелевка в остальных науках, или Oscar в кинематографии. Называется премия Тьюринга. Посмотрите туда.http://www.acm.org/awards/taward.html Надеюсь вы не будете говорить о том что этот источник не достоен доверия?(кстати там можно увидеть и милнера, беру свои слова назад. Неодоценивал его).

R>Во-вторых, если вы чувствуете в себе дефицит образования и не можете ответить на вопрос чем заслужил второе место в списке Джеф Ульман, то лучше заняться своим образованием, чем пропагандировать здесь антиинтеллектуализм.

Открою маленький секрет. В теория баз данных для меня нечто типа хобби. Поэтому я могу говорить о вкладах в теорию БД более квалифицированно. И могу судить о вкладах Codd'a и Ульмана.

С уважением, Gleb.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: Goto's are evil?
От: GlebZ Россия  
Дата: 29.11.05 12:42
Оценка: 10 (3)
Здравствуйте, reductor, Вы писали:

GZ>>Не перевирай факты и узнаешь.

R>Жду указания на вранье и доказательство такового. Чем быстрее, тем лучше.
Вирт никогда не участвовал в разработке Algola. Algol-60 появился до него. Его вариант в виде Algol-W был отвергнут комиссией. В результате была специфирована некая помойка в виде Algol-68 и без его участия. Algol-W потом перешел в Паскаль, и как результат, Паскаль стал промышленным языком, Algol-68 — только же как сборище ссылок. Некоторые вещи Algol-68 все таки повзаимствовал у Algol-W, но это был уже другой язык. Виртом был создан первый структурный язык с нормальным дизайном и с модульным принципом построения программ. Модульный принцип был недоработан, и как результат — появление Модулы.
Ну или возьмем EBNF. Это тоже упрощение Вирта. Сейчас уже де факто он используется вместо BNF.
Но вообще, наибольшее достижение Вирта — это школа построения компиляторов. Во многом те компиляторы которые мы используем — это детище Вирта. Потому как Паскаль и Модула, его работы связанные с ними и послужили примером что такое эффективный концептуальный компилятор.

R>Вообще-то оригинальные исследования принадлежат H. Curry, А Хиндли с Милнером имели независимые исследования.

R>И давайте без этого "просто", да? А то так договоримся, что все математики просто реализуют идеи пифагора.
R>Список работ Милнера и их оценку можно посмотреть на http://citeseer.ist.psu.edu/
R>И это никак не отображает заслуги тех же Хиндли и Карри.
Там же можешь посмотреть и список работ Wirth. Или лучше на ACM. Это более качественный источник, поскольку там публикуются только важные научные статьи а не все диссертации и подряд.

R>Дайте опровержение. Покажите работы Вирта, расскажите о их фундаментальности и влиянии. Или вам чье-то вранье все руки связало?

Можешь и сам их найти. Как Вирта так и его совместные работы. Например с тем же, твоим любимым Хоаром.

С уважением, Gleb.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[13]: Goto's are evil?
От: GlebZ Россия  
Дата: 29.11.05 12:42
Оценка: 13 (1)
Здравствуйте, Дарней, Вы писали:

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


GZ>>Занятно. А интересно Брукс что такого изобрел что его цитируют больше чем Дейскстру. И вообще, он является ученым? Даже серебрянную пулю смог изобрести.


Д>ну уж Брукса не надо трогать

Д>он еще в те древние времена писал про такие вещи, которые и сейчас до многих не доходят
Отзываю. Против ACM не попрешь.http://www.acm.org/announcements/turing99.html

С уважением, Gleb.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: Goto's are evil?
От: Игoрь Украина  
Дата: 29.11.05 12:53
Оценка:
Здравствуйте, minorlogic, Вы писали:

C>>И где здесь отсутствие логики в goto?


M>Тем что логика заключена в названии метки , а если бы было


C>>while(...)

C>>{
C>> for(...)
C>> {
C>> if(...) goto label1;
C>> }
C>>}

M>Тогда , код уже не был бы таким понятным, особенно если метка не видна, и поди думай куда этот переход пошел ?

А если бы была куча функций, типа
function1, function2,..., functionn, которые друг-дружку вызывают. Так что, из-за этого мы должны отказаться от функций? Наоборот, возможность именования меток есть неоспоримое преимущество, так как по названию сразу становится понятно ху из ху. А вот куча всяких break'ов и continue наоборот может запутать логику и нужны будут дополнительные комментарии. Короче говоря, goto изредка может быть предпочтительнее, просто нужно знать где и как их стоит использовать, а где нет.
Re[7]: Goto's are evil?
От: Cyberax Марс  
Дата: 29.11.05 14:08
Оценка:
minorlogic wrote:

> Тем что логика заключена в названии метки , а если бы было

> C>while(...)
> C>{
> C> for(...)
> C> {
> C> if(...) goto label1;
> C> }
> C>}
> Тогда , код уже не был бы таким понятным, особенно если метка не
> видна, и поди думай куда этот переход пошел ?

А если функции у вас будут называться function1, function2 или a(),b(),c()?

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[6]: Goto's are evil?
От: Cyberax Марс  
Дата: 29.11.05 14:28
Оценка:
eao197 wrote:

> C>А с операционными системами у

> C>Торвальдса явно лучше результат.
> Интересно, где бы был Торвальдс со своим ядром, если бы он делал
> собственную ОС, а не очередной клон Unix-а?

Надо сказать, что ядро к окружению отношение не очень большое имеет (а
Unix — это прежде всего окружение). То есть на Linux'е можно запустить и
встроеное устройство вообще без файловой системы. Кроме того, критикам
Линуса стоит напомнить, что есть куча *BSD-систем, которые так и не
набрали популярность (в отличие от Линукса).

Технически, ядро в Линуксе весьма неплохое, а сейчас еще в нем
появляются новые фичи (типа возможности добавления пользовательских
scheduler'ов), которых до этого в mainstream'е не было.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[7]: Goto's are evil?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 29.11.05 14:37
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Надо сказать, что ядро к окружению отношение не очень большое имеет (а

C>Unix — это прежде всего окружение).

Не сказал бы. Unix shell и утилиты -- да, это все окружение. А вот разные fork, open/close и вообще идеология open/read-write/close и все есть файл -- это же Unix-овый подход. Как же здесь без ядра?

C>Кроме того, критикам

C>Линуса стоит напомнить, что есть куча *BSD-систем, которые так и не
C>набрали популярность (в отличие от Линукса).

А вот это для меня до сих пор не понятно, как же стабильные BSD системы продули вчистую первым версиям Linux-а.
Видно, Unix wars тех времен сыграли свою отрицательную роль.
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[9]: Goto's are evil?
От: Павел Кузнецов  
Дата: 29.11.05 14:39
Оценка: :)
reductor,

> Или CS это что-то вроде церковной иерархии, где истинность высказывания зависит от того кто сказал, а не от того что?


В самом деле... Иначе мы бы начали приводить индексы цитирования авторов высказываний вместо обсуждения самих высказываний
Posted via RSDN NNTP Server 2.0 beta
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[8]: Goto's are evil?
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 29.11.05 14:52
Оценка:
Здравствуйте, eao197, Вы писали:

E>А вот это для меня до сих пор не понятно, как же стабильные BSD системы продули вчистую первым версиям Linux-а.


afaik, тогда freeBSD не было. Короче, на старте год потеряли и всё. Кривой линукс оказался в нужном месте в нужное время.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re: Goto's are evil?
От: GlebZ Россия  
Дата: 29.11.05 14:58
Оценка: 8 (3) +5
Здравствуйте, Cyberax, Вы писали:

Да уж, дошли.
Как-то раз появился господин Губанов и распальцованно начал объяснять что все языки отстой, что вы все неправильно делаете и есть только Oberon и Вирт пророк его. И настолько настойчиво указывал на это, что у большинства населения rsdn сложилась сильная антипатия к Oberon(иногда незаслуженная). Но самое главное не это. Самое главное что точно такая же антипатия сложилась и в отношении г-на Вирта. Любое упоминание Вирта вызывает стойкую антипатию не взирая на обстоятельства. И такие флеймы постоянно кочуют в Священные войны. Народ уже перестал разбираться в чем вопрос. Если в этом участвовал Вирт — то значит отстой. Хотя не мы признавали Вирта одним из людей, которые внесли вклад в развитие Computer Science. Это делали другие, более профессиональные люди, и делали это более независимо. И они не знали о Губанове(и об Обероне правда тоже ).
Мне не нравится Оберон. Мне не нравится многие вещи Кнута. Ну не нравятся. Но я никогда не спущусь на нападки конкретно на этих людей. Я могу сообщить что мне не нравится. Это будет конструктивно. Но нападая на этих людей и обвиняя их в смертных грехах, я тем самым оскорбляю не только их, но и тех (скорее всего более умных чем я) людей которые признают их вклад в развитие Computer Science.
Поэтому предложил бы объявить людей, которые являются Нобелевскими лауреатами и лауреатами премии Тьюринга священными коровами. И баннить наезды на них по полной так же как и наезды на личности на rsdn. То есть добавить правило что личности из списка Премии Тьюринга священны, и личные нападки на этих людей есть нападки на все IT сообщество. Можно наезжать на поступки, нельзя наезжать на личность.

С уважением, Gleb.
ЗЫ. Это кстати сильно поубавило бы флеймистость Философии программирования.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: Goto's are evil?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 29.11.05 15:00
Оценка:
Здравствуйте, Andrei N.Sobchuck, Вы писали:

E>>А вот это для меня до сих пор не понятно, как же стабильные BSD системы продули вчистую первым версиям Linux-а.


ANS>afaik, тогда freeBSD не было. Короче, на старте год потеряли и всё. Кривой линукс оказался в нужном месте в нужное время.


Подробнее здесь: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/history.html
Важно, что до 1994 года были юридические проблемы с BSD-шным кодом. Когда в 1995-м году появилась нормальная FreeBSD она была все равно, имхо, более продвинутой системой чем Linux. А монстры (типа IBM) стали вкладываться в Linux еще позже. Вот что их заставило выбрать именно Linux?
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.