Вот здесь http://www.citforum.ru/programming/digest/wirth/ опубликован конспект новой статьи Н.Вирта. Довольно интересно, хотя и спорно (например, Вирт предлагает по сути отказаться от использования деревьев при организации symbol tables в компиляторах). Остроумна критика операторов ++/-- (Вирт считает, что это уродство). В общем — стоит, наверное, обратить внимание
Приходиться заниматься гадостью — зарабатывать на жизнь честным трудом (Б.Шоу)
Здравствуйте, fplab, Вы писали:
F>Вот здесь http://www.citforum.ru/programming/digest/wirth/ опубликован конспект новой статьи Н.Вирта. Довольно интересно, хотя и спорно (например, Вирт предлагает по сути отказаться от использования деревьев при организации symbol tables в компиляторах). Остроумна критика операторов ++/-- (Вирт считает, что это уродство). В общем — стоит, наверное, обратить внимание
Если большинство программистов не видят проблем с использованием ++,--,&& и др, то этих проблем нет. Пора бы перестать Вирту ворчать по пустякам.
Здравствуйте, fplab, Вы писали:
F>...новой статьи Н.Вирта...
Вирт выступал как раз в точности с этим самым материалом во время своего турне по России. Так что если кто-то хотел, но не смог посетить его лекцию, теперь может прочитать её.
Здравствуйте, fplab, Вы писали:
F>Вот здесь http://www.citforum.ru/programming/digest/wirth/ опубликован конспект новой статьи Н.Вирта. Довольно интересно, хотя и спорно (например, Вирт предлагает по сути отказаться от использования деревьев при организации symbol tables в компиляторах). Остроумна критика операторов ++/-- (Вирт считает, что это уродство). В общем — стоит, наверное, обратить внимание
Товарищ Вирт все больше и больше начинает походить на рыцаря печального образа. И, что характерно, везде ему мерещатся ветряные мельницы.
Бороться с деревьями в компиляторах и операторами инкремента/декремента, это все равно что бороться... с.... я даже не могу подобрать настолько же нелепого примера.
На улице XXI век. Человечество уже способно особо не напрягаясь послать ракету к Плутону.
Будущее уже настало! Прямо сейчас.
Количество и разнообразность исследований в computer science настолько большое, что я даже не могу охватить все это взглядом.
Просто поищите в любимом поисковике "computer science grants".
И в этот век, век технологий, век познания, говорить о постинкременте и деревьях -- просто маразм, глупость и мракобесие.
Пора бы уже двигаться дальше.
C++ -- хороший язык.
Unix -- хорошая операционная система.
Синтаксического оверхеда не существует.
...
Все это доказанные практикой факты. Пытаться доказать обратное -- значит упражняться в бесполезном.
И вместо того, чтобы в сотый раз заводить флейм -- найдите интересный проект и присоеденяйтесь к нему.
Пользы и вам, и всему человекчеству, и прогрессу будет значительно больше.
Здравствуйте, sch, Вы писали:
sch>И вместо того, чтобы в сотый раз заводить флейм -- найдите интересный проект и присоеденяйтесь к нему. sch>Пользы и вам, и всему человекчеству, и прогрессу будет значительно больше.
Опаньки ! И не подозревал, что ссылка на статью Вирта (как бы Вы лично не относились к высказынным в нем мыслям — я, кстати, в своем посте сказал, что его статья спорна) это флейм Я всего лишь дал ссылку, а вот флейм это как раз ответы, подобные Вашему. Простите великодушно, коли обидел
Приходиться заниматься гадостью — зарабатывать на жизнь честным трудом (Б.Шоу)
F>Опаньки ! И не подозревал, что ссылка на статью Вирта (как бы Вы лично не относились к высказынным в нем мыслям — я, кстати, в своем посте сказал, что его статья спорна) это флейм Я всего лишь дал ссылку, а вот флейм это как раз ответы, подобные Вашему. Простите великодушно, коли обидел
Нет уж позвольте.
Я свои доводы высказал.
Если у вас есть свои доводы -- говорите.
Если нет -- то не засоряйте форум.
F>>Опаньки ! И не подозревал, что ссылка на статью Вирта (как бы Вы лично не относились к высказынным в нем мыслям — я, кстати, в своем посте сказал, что его статья спорна) это флейм Я всего лишь дал ссылку, а вот флейм это как раз ответы, подобные Вашему. Простите великодушно, коли обидел
sch>Нет уж позвольте. sch>Я свои доводы высказал. sch>Если у вас есть свои доводы -- говорите. sch>Если нет -- то не засоряйте форум.
Некогда. Мне статья понравилась, хотя (повторюсь !!!) и не бесспорна. Вы предлагали присоединиться к проекту, а не разводить флейм. Чудное совпадение: у меня как раз в работе очередной проект Ассемблер не ждет — надо работать
Приходиться заниматься гадостью — зарабатывать на жизнь честным трудом (Б.Шоу)
Здравствуйте, fplab, Вы писали:
F>Вот здесь http://www.citforum.ru/programming/digest/wirth/ опубликован конспект новой статьи Н.Вирта. Довольно интересно, хотя и спорно (например, Вирт предлагает по сути отказаться от использования деревьев при организации symbol tables в компиляторах).
Ну я бы не сказал что это переворот в науке. Мелкие частности. F>Остроумна критика операторов ++/-- (Вирт считает, что это уродство).
Я тоже.
Единственное что мне не понравилось в статье, это про знак :=. Немного не понравилось про switch. Остальное вполне правильно.
Здравствуйте, fplab, Вы писали:
F>В общем — стоит, наверное, обратить внимание
Лично мне понравилось. Причем, несколько моментов.
Во-впервых, некоторые высказывания Вирта интересным образом перекликаются с некоторыми темами в "Философии программирования". Вот, например,
Как часто происходит в новых областях деятельности, исследования вышли за пределы текущих потребностей. Разработчики создавали все более мощные генераторы синтаксических анализаторов, которые могли работать со все более общими и сложными грамматиками. Хотя результаты этой работы представляли интеллектуальное достижения, их последствия были не столь позитивны. Они побудили разработчиков языков верить в том, что независимо от вида постулируемой ими синтаксической конструкции, автоматические инструментальные средства смогут уверенно определить двусмысленности, а некоторый мощный синтаксический анализатор несомненно сможет справиться с этой конструкцией. При этом ни одно такое средство не могло обеспечить какое-либо указание на то, как можно было бы улучшить синтаксис. Разработчики игнорировали как проблему эффективности, так и то, что язык служит целям не только автоматического парсера, но и читателя-человека. Если язык ставит в затруднение анализаторы, то он определенно затруднит и человека. Многие языки были бы более понятными и чистыми, если бы разработчики вынуждались использовать более простой метод синтаксического анализа.
Фантазии компьютерных ученых в 1960-е гг. не знали границ. Вдохновленные успехом в направлениях автоматического синтаксического анализа и генерации анализаторов, некоторые исследователи предложили идею гибких или, по крайней мере, расширяемых языков, представляя, что программе будут предшествовать синтаксические правила, которыми будет руководствоваться общий синтаксический анализатор при ее анализе. Более того, синтаксические правила можно было рассыпать повсюду в тексте...
...Полностью затиралась та идея, что языки служат общению людей, поскольку теперь, очевидно, можно было определять язык "на лету". Однако трудности, возникающие при попытке определить смысл приватных конструкций, быстро разрушили эти большие ожидания. Вследствие этого, быстро увяла и занимательная идея расширяемых языков.
и предположение, что в будущем DSL-ями будет отводиться большее внимание (например, как здесь
Много лет спустя некоторые разработчики все чаще стали утверждать, что функциональные языки являются наилучшим средством для введения параллелизма — хотя было бы более уместно сказать "для облегчения работы компиляторов по определению возможностей распараллеливания программ". Вообще-то относительно несложно определить, какие части выражения могут вычисляться параллельно. Более важно то, что параллельно могут вычисляться параметры вызываемой функции, если запрещены побочные эффекты — которые не могут возникать в истинно функциональном языке. В то время, как это обстоятельство может быть истинным и, возможно, минимальным преимуществом функциональных языков, объектно-ориентированный подход предлагает более эффективный способ хорошего использования параллелизма, когда поведение каждого объекта представляется в виде отдельного процесса.
Во-вторых, особенно после первой (железячной) части статьи, в очередной раз понимаешь, что в нашей профессии все очень динамично, все постоянно меняется. То, что сегодня является передовым прорывом, завтра уже всего лишь неудачная идея. Усилия, вложенные в текущую разработку, послезавтра могут оказаться никому не нужной тратой времени. В общем, нужно держать нос по ветру, а хвост -- пистолетом
Не раслаблятья. И постоянно изучать что-нибудь новое. Или насаждать это новое, чтобы другие изучали
А вообще, больше всего мне понравилось одно, но очень емкое, предложение:
Никогда программы не содержат так мало ошибок, как при отсутствии каких-либо средств отладки.
Молодец, Вирт! Лучше не скажешь!
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, GlebZ, Вы писали:
F>>Остроумна критика операторов ++/-- (Вирт считает, что это уродство). GZ>Я тоже.
Обоснуй почему это уродство... Только тем, что можно писать x+++y ? Тогда русский язык с его "Казнить нельзя помиловать" тоже есть уродство. Запятая надо что понять смысл? Точно так же простой пробел исправит непонятки: x++ +y или x+ ++y
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
F>>>Остроумна критика операторов ++/-- (Вирт считает, что это уродство). GZ>>Я тоже. CC>Обоснуй почему это уродство... Только тем, что можно писать x+++y ? Тогда русский язык с его "Казнить нельзя помиловать" тоже есть уродство. Запятая надо что понять смысл? Точно так же простой пробел исправит непонятки: x++ +y или x+ ++y
Когда быстро читаешь текст, подобные операции малозаметны. И всегда приходится дополнительно задумываться, чтобы это значило. Что сначало приплюсовало, или что-то другое. Поэтому я очень редко их вставляю не на новой строке. И пользуюсь только x++; Выражения типа while(*x++==*y++) для меня слишком сложны. Такой я глупый программист.
Здравствуйте, fplab, Вы писали:
F>Вот здесь http://www.citforum.ru/programming/digest/wirth/ опубликован конспект новой статьи Н.Вирта. Довольно интересно, хотя и спорно (например, Вирт предлагает по сути отказаться от использования деревьев при организации symbol tables в компиляторах). Остроумна критика операторов ++/-- (Вирт считает, что это уродство). В общем — стоит, наверное, обратить внимание
... зловещий облик низкоуровневого языка C ...
Браво Вирту и переводчику! Пять минут здорового смеха.
Тот, кто желает, но не делает, распространяет чуму.
Общеизвестным плохим примером является выбор знака равенства для обозначения присваивания, восходящий к языку Fortran в 1957 г. и слепо повторяемый до сих пор массой разработчиков языков. Эта плохая идея низвергает вековую традицию использования знака "=" для обозначения сравнения на равенство, предиката, принимающего значения true или false.
Я не понял выделенного, что значит вековая традиция в его понимании? Сколько лет coputer science (ну или хотя бы слову предикат)?
На мой взгляд знак "=" как раз понятен.
Например:
E=mc^2
F=ma
E>Фантазии компьютерных ученых в 1960-е гг. не знали границ. Вдохновленные успехом в направлениях автоматического синтаксического анализа и генерации анализаторов, некоторые исследователи предложили идею гибких или, по крайней мере, расширяемых языков, представляя, что программе будут предшествовать синтаксические правила, которыми будет руководствоваться общий синтаксический анализатор при ее анализе. Более того, синтаксические правила можно было рассыпать повсюду в тексте...
E>...Полностью затиралась та идея, что языки служат общению людей, поскольку теперь, очевидно, можно было определять язык "на лету". Однако трудности, возникающие при попытке определить смысл приватных конструкций, быстро разрушили эти большие ожидания. Вследствие этого, быстро увяла и занимательная идея расширяемых языков.
E>и предположение, что в будущем DSL-ями будет отводиться большее внимание (например, как здесь
С чего она увяла? Наоборот, изменяемость языка одна из очень мощных и интересных фич. И трудности синтаксического анализа не сильно мешают. Ну в самом деле, какие могут быть трудности с анализом в Лиспе?
E>Или вот еще: E>[q] E>Много лет спустя некоторые разработчики все чаще стали утверждать, что функциональные языки являются наилучшим средством для введения параллелизма — хотя было бы более уместно сказать "для облегчения работы компиляторов по определению возможностей распараллеливания программ". Вообще-то относительно несложно определить, какие части выражения могут вычисляться параллельно. Более важно то, что параллельно могут вычисляться параметры вызываемой функции, если запрещены побочные эффекты — которые не могут возникать в истинно функциональном языке. В то время, как это обстоятельство может быть истинным и, возможно, минимальным преимуществом функциональных языков, объектно-ориентированный подход предлагает более эффективный способ хорошего использования параллелизма, когда поведение каждого объекта представляется в виде отдельного процесса.
Ну-ну. Только лучший язык со встроенным параллелизмом в данное время функциональный Erlang, а объектно-ориентированных языков что-то не видно.
ну раз уж пошла такая пьянка.... (перезаряжая дробовик)
E>Если язык ставит в затруднение анализаторы, то он определенно затруднит и человека. Многие языки были бы более понятными и чистыми, если бы разработчики вынуждались использовать более простой метод синтаксического анализа.
Чушь, чушь и еще раз — чушь! У человека нет в голове ни LL, ни LR парсера. Он распознает конструкции языка с помощью механизмов распознавания образов, которые пока толком никому не понятны. Ясно только одно — они не имеют абсолютно ничего общего с последовательным чтением текста буква за буквой.
Человек прекрасно понимает конструкции, которые ставят в затруднение компилятор (многократно приводившийся пример с vector<vector<int> > и лишним пробелом). С другой стороны, у человека вызывают затруднение конструкции, которые для компилятора ясны как день (опять же, многократно приводившийся пример с совершенно неудобочитаемой LL(1) грамматикой регэксов)
E>
E>Фантазии компьютерных ученых в 1960-е гг. не знали границ. Вдохновленные успехом в направлениях автоматического синтаксического анализа и генерации анализаторов, некоторые исследователи предложили идею гибких или, по крайней мере, расширяемых языков, представляя, что программе будут предшествовать синтаксические правила, которыми будет руководствоваться общий синтаксический анализатор при ее анализе. Более того, синтаксические правила можно было рассыпать повсюду в тексте...
E>...Полностью затиралась та идея, что языки служат общению людей, поскольку теперь, очевидно, можно было определять язык "на лету". Однако трудности, возникающие при попытке определить смысл приватных конструкций, быстро разрушили эти большие ожидания. Вследствие этого, быстро увяла и занимательная идея расширяемых языков.
E>и предположение, что в будущем DSL-ями будет отводиться большее внимание (например, как здесь
просто их время пришло только сейчас. Раньше технологии были недостаточно зрелы, чтобы обеспечить достаточное удобство в их применении.
E>Или вот еще: E>[q] E>Много лет спустя некоторые разработчики все чаще стали утверждать, что функциональные языки являются наилучшим средством для введения параллелизма — хотя было бы более уместно сказать "для облегчения работы компиляторов по определению возможностей распараллеливания программ". Вообще-то относительно несложно определить, какие части выражения могут вычисляться параллельно. Более важно то, что параллельно могут вычисляться параметры вызываемой функции, если запрещены побочные эффекты — которые не могут возникать в истинно функциональном языке. В то время, как это обстоятельство может быть истинным и, возможно, минимальным преимуществом функциональных языков, объектно-ориентированный подход предлагает более эффективный способ хорошего использования параллелизма, когда поведение каждого объекта представляется в виде отдельного процесса.
как всё-таки удивительно узнать, что возможность переложить часть работы по распараллеливанию программ на компилятор — это "минимальное преимущество", а вот возможность делать всё самому и вручную — это "более эффективный способ хорошего использования параллелизма"
Здравствуйте, fplab, Вы писали:
F>Вот здесь http://www.citforum.ru/programming/digest/wirth/ опубликован конспект новой статьи Н.Вирта. Довольно интересно, хотя и спорно (например, Вирт предлагает по сути отказаться от использования деревьев при организации symbol tables в компиляторах). Остроумна критика операторов ++/-- (Вирт считает, что это уродство). В общем — стоит, наверное, обратить внимание
Полностью затиралась та идея, что языки служат общению людей, поскольку теперь, очевидно, можно было определять язык "на лету". Однако трудности, возникающие при попытке определить смысл приватных конструкций, быстро разрушили эти большие ожидания. Вследствие этого, быстро увяла и занимательная идея расширяемых языков.
Во, блин. Хорошо что многие не были так гениальны как Вирт и мир все же увидел, выпендрежи Александреску, макросы Лисап и в итоге Nemerel.
ЗЫ
Вообще дедуле уже явно пора на пенсию. Криатива у него как грится...
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Quintanar, Вы писали:
Q>Ну-ну. Только лучший язык со встроенным параллелизмом в данное время функциональный Erlang, а объектно-ориентированных языков что-то не видно.
Как же? А Эктив Оберон?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.