Сергей Губанов wrote:
> 1) Правильный синтаксис был известен уже в 1979 году (Modula 2). С > 1979 года прошло более четверти века. Но почему до сих пор появляются > всё новые и новые языки программирования с устаревшим синтаксисом? > Почему новые языки Java, C#, D,... (заметьте не обремененные проблемой > совместимости с предыдущими версиями) всё равно используют заведомо > устаревший синтаксис? Как долго это будет продолжаться? Язык > программирования, который появится, например, через десять или через > двадцать лет будет с каким синтаксисом? Пока все старые программисты > не помрут от старости это и будет что-ли?
Ответ _ОЧЕНЬ_ простой: "потому что С-подобный синтаксис удобнее", — все,
вот и весь ответ.
В частности:
1. Удобно иметь понятие составного оператора и единобразное его
обозначение (т.е. скобочки или ХОТЯ БЫ begin/end).
2. НЕудобно постоянно писать лишние then, do и т.п.
3. НЕУДОБНО писать ключевые слова большими буквами.
> 2) Почему сотня-другая ковбоев отметившихся в этой ветке форума вместо > того чтобы сказать, мол, да, действительно рудимент этот си-образный > синтаксис, атавизм, так сказать, действительно давно было пора его > изжить; наоборот пытается его как-то защищать? Вслепую прут против > очевидного.
Тут большинству очевидно обратное — паскалевский синтаксис давно
мертв и нечего его эксгумировать.
Кстати, неС-подобные синтаксисы весьма распространены, просто вы их не
замечатете: Python, Ruby, функциональные языки.
Вообще-то я в этой ветке не учавствую — один разок ответил (одним из первых). Не думал, что такой флейм разгорится. Но вот не удержался. У меня есть один вопрос. Пожалуйста, Сергей, скажите мне, кто определил правильность синтаксиса Modula 2? Приведите, пожалуйста, критерии, по которым оценивается правильность.
Здравствуйте, CrystaX, Вы писали:
CX>Вообще-то я в этой ветке не учавствую — один разок ответил (одним из первых). Не думал, что такой флейм разгорится. Но вот не удержался. У меня есть один вопрос. Пожалуйста, Сергей, скажите мне, кто определил правильность синтаксиса Modula 2? Приведите, пожалуйста, критерии, по которым оценивается правильность.
Извини, он какой ты ответ от него ждёшь, если флейм начался с
1) Известно, что Си-образный синтаксис использует больше лексем чем это реально необходимо.
2) Известно, что стандарты оформления Си-образного кода требуют использования большего количества строчек чем это реально необходимо (чтобы читающему понятно стало где что написано).
До сих пор не понятно:
1. Кому известно, что у С больше лексем, чем необходимо?
2. Кому известно, что стандарты оформления Си-образного кода требуют использования большего количества строчек чем это реально необходимо.
Может, Сергей следуя из индукции сделал такой вывод. Но что-то мне кажется, что база у индукции хромает
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Но вопрос в другом. Точнее их два.
СГ>1) Правильный синтаксис был известен уже в 1979 году (Modula 2). С 1979 года прошло более четверти века.
Кому известен? И почему новый синтаксис Мдулы-2 не смог сдвинуть с места даже синтаксис Паскаля, который, кстати, жив до сих пор? Ведь Модула-2 была должна полностью вытеснить Паскаль. И кто сказал, что этот синтаксис не был устаревшим к моменту своего появления? На самом деле дата появления того или иного изделия (программы, компилятора, etc.) не является основным критерием его новизны.
СГ>2) Почему сотня-другая ковбоев отметившихся в этой ветке форума вместо того чтобы сказать, мол, да, действительно рудимент этот си-образный синтаксис, атавизм, так сказать, действительно давно было пора его изжить; наоборот пытается его как-то защищать? Вслепую прут против очевидного. Большинство из них пацаны же еще... Загадка... Хотя тут недавно упоминали про принцип "Не пытайся искать злого умысла в том, что объясняется глупостью"... Образования им не хватает, я думаю.
А аргументов по существу каких-нибудь не найдется? Впрочем, это же "Коллеги, улыбнитесь". Однако, этого юмора я не понял...
Здравствуйте, Cyberax, Вы писали:
C>1. Удобно иметь понятие составного оператора и единобразное его C>обозначение (т.е. скобочки или ХОТЯ БЫ begin/end).
Для чего? Ведь нет ни одного места где бы он был нужен.
C>2. НЕудобно постоянно писать лишние then, do и т.п.
Лишние THEN и DO писать ни в коем случае не надо — это будет синтаксической ошибкой.
C>3. НЕУДОБНО писать ключевые слова большими буквами.
Чего в этом не удобного?
Читать тоже удобно — зарезервированные слова сразу видно. Именно для этого и было придумано писать служебные слова заглавными буквами. Шрифт, цвет, наклон можно использовать уже для других целей нежели синтаксических.
Ну, это-то я уже читал. Я хотел получить ясный и простой список критериев. Следует ли понимать Ваш ответ так, что единственным и достаточным критерием правильности синтаксиса языка программирования Вы считаете минимальное количество лексем?
К>1) Если эта группа, помимо целых, включает вещественные... К>Пусть есть некое биективное отображение f : R<->R, такое, что f(x1)=2, f(2*x1)=5 К>Тогда "+"(x,y) = f(F(x) + F(y)) К>где F — обратная к f. К>Пример такого простейшего отображения: f(x) = x*1.5 — 1, F(X) = (X+1)/1.5
К>В этом случае у нас будет не просто группа, а даже кольцо с делением (поскольку оно есть над R).
К>2) Придумаем какое-нибудь биективное отображение Z<->Z, с теми же требованиями. К>А что там далеко ходить — вот оно К>f(x) = (x==4) ? 5 : (x==5) ? 4 : x К>F(X) = (X==4) ? 5 : (X==5) ? 4 : x
Есть возражения. По определению
2=1+1
4=1+1+1+1
5=1+1+1+1+1
Остюда легко вывести, что 1=0.
C>>3. НЕУДОБНО писать ключевые слова большими буквами.
СГ>Чего в этом не удобного? СГ>Читать тоже удобно — зарезервированные слова сразу видно. Именно для этого и было придумано писать служебные слова заглавными буквами. Шрифт, цвет, наклон можно использовать уже для других целей нежели синтаксических.
Сергей, за вами замечена очень плохая привычка. Как только вам доказывают вашу неправоту, основываясь на фактах, как вы выпадаете из обсуждения или начинаете "докапываться", например, к тому, что ваш оппонент неправильно пишет программы на Обероне.
Здравствуйте, Shtirliz, Вы писали:
S>Ребята заканчивайте эту тему. S>Чесное слово — уже давно не смешно и не интересно.
Не любо — не слушай, а флейму не мешай!
Здравствуйте, Cyberax, Вы писали:
C> Тут большинству очевидно обратное — паскалевский синтаксис давно C>мертв и нечего его эксгумировать.
C>Кстати, неС-подобные синтаксисы весьма распространены, просто вы их не C>замечатете: Python, Ruby, функциональные языки.
Так все-таки: "мертв" или "весьма распространены"?
Здравствуйте, Трурль, Вы писали:
Т>Здравствуйте, Cyberax, Вы писали:
C>> Тут большинству очевидно обратное — паскалевский синтаксис давно C>>мертв и нечего его эксгумировать.
C>>Кстати, неС-подобные синтаксисы весьма распространены, просто вы их не C>>замечатете: Python, Ruby, функциональные языки.
Т>Так все-таки: "мертв" или "весьма распространены"?
Паскалевский!=неС-подобный, понятия пересекающиеся, но не тождественные...
Сергей Губанов wrote:
> C>1. Удобно иметь понятие составного оператора и единобразное его > C>обозначение (т.е. скобочки или ХОТЯ БЫ begin/end). > Для чего? Ведь нет ни одного места где бы он был нужен.
Для того, чтобы можно было удобно изменять код (менять if/elseif на
switch, менять while на if и т.п.).
Операторы циклов по сути начинают иметь другой смысл, чем в Модула-2.
Там оператор цикла повторяет свое тело до выполнения какого-то условия,
а в С оператор цикла выполняет составной/простой оператор. До своего
логического конца этот подход доведен в функциональных языках (которые
вы не знаете, конечно же).
> C>2. НЕудобно постоянно писать лишние then, do и т.п. > Лишние THEN и DO писать ни в коем случае не надо — это будет > синтаксической ошибкой.
Переключать регистр — это неудобно.
> Читать тоже удобно — зарезервированные слова сразу видно. Именно для > этого и было придумано писать служебные слова заглавными буквами. > Шрифт, цвет, наклон можно использовать уже для других целей > <http://www.inr.ac.ru/%7Einfo21/cpascal/primery.htm> нежели > синтаксических.
Сергей Губанов wrote:
> СГ>>1) Правильный синтаксис был известен уже в 1979 году (Modula 2). > P> Кому известен? > Не ну вообще я фигею просто , а говорили, что я тут самый большой шутник!
Вам продемонстрировали с десяток раз, что синтаксис С++ далеко не так
избыточен (скорее идет на равных) с Oberon'ом. Так же вам
продемонстрировали, что возможны еще более синтаксически сжатые языки.
Здравствуйте, Кодт, Вы писали:
К>Некорректно такое заявление. double нельзя (можно, но бессмысленно) сравнивать на равенство (операторами ==, != ), а также на строгое неравенство ( >, < ) с целью "поветвиться". К>В данном же случае криминала нет.
А если мы ищем максимум с целью затем поветвиться?
Ладно, не будем флеймить, а?
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
WARNING: expression "to_be || !to_be" is always true
Здравствуйте, Сергей Губанов, Вы писали:
СГ>2) Почему сотня-другая ковбоев отметившихся в этой ветке форума вместо того чтобы сказать, мол, да, действительно рудимент этот си-образный синтаксис, атавизм, так сказать, действительно давно было пора его изжить; наоборот пытается его как-то защищать? Вслепую прут против очевидного. Большинство из них пацаны же еще... Загадка... Хотя тут недавно упоминали про принцип "Не пытайся искать злого умысла в том, что объясняется глупостью"... Образования им не хватает, я думаю.
"Сдаётся мне, фраерок, что ты мент позорный..."
Точнее, что дремучий доцент-теоретик, которого черти занесли в форум практиков.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
WARNING: expression "to_be || !to_be" is always true
Здравствуйте, Сергей Губанов, Вы писали:
СГ>2) Почему сотня-другая ковбоев отметившихся в этой ветке форума вместо того чтобы сказать, мол, да, действительно рудимент этот си-образный синтаксис, атавизм, так сказать, действительно давно было пора его изжить; наоборот пытается его как-то защищать? Вслепую прут против очевидного. Большинство из них пацаны же еще... Загадка... Хотя тут недавно упоминали про принцип "Не пытайся искать злого умысла в том, что объясняется глупостью"... Образования им не хватает, я думаю.