Здравствуйте, Сергей Губанов, Вы писали:
СГ>Здравствуйте, Курилка, Вы писали:
К>>Вопрос с ходу — ты всегда будешь циклы и комлексные условия с операциями в 1 строчку писать? И что помешало на сишном синтаксисе сделать также?
СГ>Я соблюдал общепринятые стандарты кодирования. Хочешь верь, а хочешь нет, но инструкции навроде:
СГ>WHILE a DO x END
СГ>REPEAT x UNTIL b
СГ>IF a THEN x ELSE y END
СГ>CASE n OF a: x | b: y ELSE z END
СГ>ну натурально принято писать в одну строчку.
Видимо идентификаторы у тебя тоже приняты только однобуквенные.
Ну максимум — двухбуквенные.
СГ>и как долго этот синтаксис еще будет существовать?
Отвечаем — он значительно переживет вас и нас вместе взятых.
Если серьезно, то архи глупо измерять код в лексемах (точнее токенами) и даже строках. Они для человека ничего не значат. Человек воспринимает программы скорее ветками AST, т.е. логическими еденицами. Если измерить твои примеры в них, то разница исчезнет.
Если же начать считать по мелочи, то следует начать считать смволы. И в них твои примеры резко проиграют (особенно если записывать С-шный код без пробелов).
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Privalov, Вы писали:
P>Вместо REPEAT можно использовать WHILE, а вместо CASE — IF / ELSEIF / ELSE /END. Потому их можно выбросить => необходимость не доказана. О достаточности я пока молчу.
Замена REPEAT на WHILE — семантика, а речь сейчас идет исключительно о синтаксисе.
В выражениях:
* x * b
* a * x *
* a * x *
* a * x * y *
* a * x * b * y * z *
* n * a * x * b * y * z *
ни какой семантики уже нет, только оголённый скелет синтаксиса. Так вот такой синтаксис является не обходимым — в том смысле, что меньше одной звездочки не поставишь, и достаточным — в том смысле что ставить больше одной звездочки уже не надо, хватит и одной.
Сравните с Си-образным синтаксисом:
if(a){x();}else{y();} = * * a * * x * * * * * * y * * * *
Здравствуйте, Сергей Губанов, Вы писали:
СГ>1) Известно, что Си-образный синтаксис использует больше лексем чем это реально необходимо. СГ>2) Известно, что стандарты оформления Си-образного кода требуют использования большего количества строчек чем это реально необходимо (чтобы читающему понятно стало где что написано).
Очередная серия битвы пчёл против мёда вперемешку с лекцией о влиянии длины волос на брюхе блох на северное сияние.
Здравствуйте, Сергей Губанов, Вы писали:
СГ>В выражениях: СГ>
СГ>* n * a * x * b * y * z *
СГ>
IF a THEN x ELSIF b THEN y ELSE z END = * a * x * b * y * z *
А что, в Оберонах внутри IF только одиночный оператор ставится, даже функцию нельзя вызвать, а тем более параметры ей передать? Все веселее становится.
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Скажете тоже
СГ>Pascal 1970 ---> Modula-2 1979 ---> Oberon 1987 ---> Oberon-2 1992 ---> ...
ок, я ошибся. но результат (сиречь мое мненипе) от этого не поменялся. и вааще — предлагаю переместить это в Священные войны
Здравствуйте, Сергей Губанов, Вы писали:
СГ>1) Известно, что Си-образный синтаксис использует больше лексем чем это реально необходимо. СГ>2) Известно, что стандарты оформления Си-образного кода требуют использования большего количества строчек чем это реально необходимо (чтобы читающему понятно стало где что написано).
СГ>Давайте посчитаем количественно этот перерасход? СГ>Хочется понять на сколько он "минимален", так сказать.
СГ> Усредненные результаты
СГ>Просто усреднённый синтаксический оверхед составляет: СГ>(2.00 + 2.00 + 3.00 + 2.00 + 2.43 + 2.73 + 2.31) / 7 = 2.35
СГ>Просто усреднённый перерасход строчек кода составляет: СГ>(4.00 + 2.00 + 5.00 + 4.00 + 8.00 + 15.0 + 11.0) / 7 = 7.00
СГ> Резюме
СГ>Программа записанная в Си-образном синтаксисе содержит в разы, а не на проценты больше лексем и строчек кода чем это реально необходимо. Спрашивается, и как долго этот синтаксис еще будет существовать?
Так посчитано то в корне неверно — взяты примеры, находящиеся именно в крайней области избыточности (названия функций минимальны, прочий код отсутсвует). Если взять совокупность кода, составляющую работающую, да еще и продаваемую программу, то там вы получите именно небольшие проценты.
А то, что Вы привели в качестве примера кода — жалкий академизм, не имеющий ничего общего с реальной программой, на которую вы ссылаетесь в "резюме".
Здравствуйте, viellsky, Вы писали:
СГ>>Программа записанная в Си-образном синтаксисе содержит в разы, а не на проценты больше лексем и строчек кода чем это реально необходимо. Спрашивается, и как долго этот синтаксис еще будет существовать?
V>Так посчитано то в корне неверно — взяты примеры, находящиеся именно в крайней области избыточности (названия функций минимальны, прочий код отсутсвует). Если взять совокупность кода, составляющую работающую, да еще и продаваемую программу, то там вы получите именно небольшие проценты.
V>А то, что Вы привели в качестве примера кода — жалкий академизм, не имеющий ничего общего с реальной программой, на которую вы ссылаетесь в "резюме".
На самом деле академизмом, даже жалким, там и не пахнет. Это больше похоже вот на что:
С точки зрения банальной эрудиции, каждый индивид способен абстрагироваться от идей материального индустриализма. Поскольку ратифицировать конвенцию о модернизации идентификационной изменчивости возможно при наличии ресурсообеспеченности, неизбежна ревальвация космогонической санации, а также консолидация психофизиологической формации.
Обращаясь к рационально-апоплексическому анализу дисгармонии фазисов современного апогея, мы эфемерно субъективизируемся в радикально – трансцендентном апофеозе и симбиозе. Антроподинамическая тенденция стабилизации мутогенеза находится на стадии нуклеосинтеза, порождая в свою очередь фальсификацию люминистенции реквизита. Электрофорез и диффектоскопия эпиграфики показали наличие плюрализма и плебисцита в хронологии дидактики.
Инсоляция биогеоциноза доказала диапозитивное существование питекантропа в мобилизированной модуляции палеозоя. Эпистолографический мораторий политэкономии и беллетристики прерогатива интермедии сепаратизма. Диссертация по вопросу примитивизма в термодинамике и сейсмоведении разрешила проблему глиссирования департамента селекции. Экспроприирование синхрофазотрона позволило завершить тотальной импровизацией аммонификацию и акклиматизацию объекта в арбитраже.
Кульминацией апелляции является транскрипция неореализма в суппралитораль индуктивности дюраль алюминиевого резистора.
P>IF a THEN x ELSIF b THEN y ELSE z END = * a * x * b * y * z *
P>
P>А что, в Оберонах внутри IF только одиночный оператор ставится, даже функцию нельзя вызвать, а тем более параметры ей передать? Все веселее становится.
Представьте себе — можно!
Более того, в процитированном Вами примере вызвается три процедуры x, y и z.
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Совершенно согласен с тем, что шрифты семейсва Courier в заглавных буквах смотрятся не очень, а ведь именно они по умолчанию стоят в ряде популярных IDE.
Такое впечатление, что вы ничего в своей жизни сложнее сортировки на Си не написали. Шрифт Courier используется потому, что в нём буквы одинаковой ширины. Verdana же абсолютно нечитаема по сравнению с моноширинными шрифтами.