СГ>>>Это Вам, вообще-то, надо обращаться в начальную школу — там где деление проходят. Открою Вам секрет. Оказывается если сложить два целых числа, то результат тоже будет целым числом (поэтому и "+"). В то же самое время, если разделить два целых числа, то результат будет уже вовсе не целым, а рациональным числом (поэтому DIV).
M>>Кхм. А вы могли бы просто сказать, что DIV — это целочисленное деление? Я бы понял, уверяю.
К>А это был пример оверхеда русского языка
Я так и хотел сначала написать, но потом решил изобразить ущемленную гордость
Здравствуйте, Аноним, Вы писали:
К>>Про APL я молчу — он не прошёл фильтр Эйнштейна. А>А что это за фильтр такой загадочный, что про него гугль и яндекс не в курсе ?
"всё должно быть как можно проще, но не проще"
Перекуём баги на фичи!
Re[18]: Ошибка 3
От:
Аноним
Дата:
15.06.05 18:56
Оценка:
Здравствуйте, Кодт, Вы писали:
К>"всё должно быть как можно проще, но не проще"
А ведь знаю — только никак не пришло в голову, что это "фильтр Эйнштейна"...Последствия трёхкратной лоботомии сказываются...
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Здравствуйте, Mr. None, Вы писали:
MN>>perl адназначна... вот где никакого оверхеда ... вот только фиг прочтёшь, что написано...
СГ>Так ведь, еще Эйнштейн говорил — сделать так просто, как только возможно, но не проще. Но не проще!!!
Сударь, вы не Эйнштейн. А Оберону до простоты, присущей великой формуле E=m*c^2, как от Москвы до Китая раком...
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
1) Не говорите куда идти мне и я не скажу, куда идти вам;
2) Я год писал на asm x86 и поверьте мне — сказать, что это проще простого я не могу .
А синнтаксиси представленый мной как раз и является минимальным... Точно так же как приведённый г-ном Кодтом:
while a b
этого вполне достаточно... Кстати нечто похожее и в Фортране использовалось — часть операторов представлялась как метафункции, подробностей не помню — давно это было.
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
СГ>>Не постигаю, что такого кроется невозможного прочитать элементарное: WHILE a DO x; y; z END
EX>Односимвольных идентификаторов всего 26 EX>Далеко на них не уедешь. EX>А если так? EX>WHILE NOT actionsQueue.isEmpty DO item:=actionsQueue.pop;item.doSomeAction;stateMachine.process(item) END EX>У меня консоль шириной 100, а не 80, и то не влазит
Вот именно. У меня вот из 800кб кода ни разу "while (a) { b; c; }" не было. Вообще нигде нет никаких b или c, кроме двух функций. А есть someObject.someProperty, accessor().anotherAccessor().someProperty и т.д.
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Учите матчасть. Слово FUNCTION было только в Паскале 1970 года. В Оберонах его нет.
Так может именно поэтому из всех паскалеподобных языков более или менее распространен как раз Паскаль?
M>>И еще вопрос, на засыпку — вопрос о непоследовательности языка. Почему делить — "DIV", а сложить — "+", а не "ADD"?
СГ>Это Вам, вообще-то, надо обращаться в начальную школу — там где деление проходят. Открою Вам секрет. Оказывается если сложить два целых числа, то результат тоже будет целым числом (поэтому и "+"). В то же самое время, если разделить два целых числа, то результат будет уже вовсе не целым, а рациональным числом (поэтому DIV).
Открою и Вам секрет. в языке Ассемблера x86 есть 28 типов команды MOV. На основании типов операндов транслятор сам в состоянии определить, какой именно нужен.
Что касается деления — в других языках, задолго до Паскаля, как для целых, так и для вещественных чисел оно записывалось одинаково — "/".
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Здравствуйте, Mamut, Вы писали:
M>>Как видим, реальный пример на Обероне ничем не лучше, а даже хуже аналогичного примера на С/С++
СГ>Как видим, реальный пример на Обероне значительно лучше аналогичного примера на С/С++.
Хуже.
M>> Кстати, вопрос — почему Паскалеподобные языки до сих пор так упорно цепляются за жесткое разделение FUNCTION/PROCEDURE, если разницы в них — практически ноль?
СГ>Учите матчасть. Слово FUNCTION было только в Паскале 1970 года. В Оберонах его нет.
Слово PROCEDURE — тоже отстой.
M>>И еще вопрос, на засыпку — вопрос о непоследовательности языка. Почему делить — "DIV", а сложить — "+", а не "ADD"?
СГ>Это Вам, вообще-то, надо обращаться в начальную школу — там где деление проходят. Открою Вам секрет. Оказывается если сложить два целых числа, то результат тоже будет целым числом (поэтому и "+"). В то же самое время, если разделить два целых числа, то результат будет уже вовсе не целым, а рациональным числом
Согласен.
СГ>(поэтому DIV).
И что?
M>>В общем, Оберон проиграл — это я невооруженным взглядом говорю И не в лексемах дело, а в ясности и отсутствии лишнего визуального шума.
СГ>В общем, Оберон победил — это я невооруженным взглядом говорю И не в лексемах дело, а в ясности и отсутствии лишнего визуального шума.
Оберон проиграл — это я говорю, своим невооруженным взглядом.
Re[3]: Синтаксический оверхед
От:
Аноним
Дата:
16.06.05 07:43
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Здравствуйте, Курилка, Вы писали:
К>>Вопрос с ходу — ты всегда будешь циклы и комлексные условия с операциями в 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
СГ>ну натурально принято писать в одну строчку.
Бред... отлаживать такое крайне неудобно. Есть золотое правило: одна строчка — один оператор.
Re[11]: Синтаксический оверхед
От:
Аноним
Дата:
16.06.05 07:48
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Здравствуйте, Mr. None, Вы писали:
MN>>perl адназначна... вот где никакого оверхеда ... вот только фиг прочтёшь, что написано...
СГ>Так ведь, еще Эйнштейн говорил — сделать так просто, как только возможно, но не проще. Но не проще!!!
Проще для чего? Для компилятора все просто
Проще для чтения или для отладки... просто != коротко.
Здравствуйте, moudrick, Вы писали:
M>Недаром тред находится в разделе "Коллеги, улыбнитесь". M>Я не устаю это подчеркивать
M>Причем в Вашем случае улыбнуть должно, наверное, от объёма треда
Так ведь автор исходного письма вряд ли знал, какой размер это бедствие примет...
А насчет улыбнуться — тут плакать уже хочется
Здравствуйте, Cyberax, Вы писали:
>>Так ведь если кто-то заявит, что 2*2=5, глядишь, целая дискуссия >> начнется на эту тему
C>А что, при желании можно придумать алгебраическую структуру, где это C>будет именно так
Здравствуйте, Pavel Dvorkin, Вы писали:
M>>Недаром тред находится в разделе "Коллеги, улыбнитесь". M>>Я не устаю это подчеркивать
M>>Причем в Вашем случае улыбнуть должно, наверное, от объёма треда
PD>Так ведь автор исходного письма вряд ли знал, какой размер это бедствие примет...
Сомневаюсь... Вот оказаться в "Коллеги улыбнитесь" точно не ожидал...
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
Здравствуйте, Mr. None, Вы писали:
MN>Здравствуйте, Сергей Губанов, Вы писали:
СГ>>Здравствуйте, Mr. None, Вы писали:
MN>>>perl адназначна... вот где никакого оверхеда ... вот только фиг прочтёшь, что написано...
СГ>>Так ведь, еще Эйнштейн говорил — сделать так просто, как только возможно, но не проще. Но не проще!!!
MN>Сударь, вы не Эйнштейн. А Оберону до простоты, присущей великой формуле E=m*c^2, как от Москвы до Китая раком...
Вообще-то, у Эйнштейна была немного другая другая формула:
G_{ij} = (8 Pi k)/(c^4) T_{ij}
где G_{ij} — тензор Эйнштейна (алгебраически выражающийся через тензор кривизны Ричи G_{ij} = R_{ij} — 1/2 g_{ij} R), а T_{ij} — тензор энергии импульса материи.
А что до E=m*c^2 — так то журналисты раструбили...
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Вообще-то, у Эйнштейна была немного другая другая формула:
СГ>G_{ij} = (8 Pi k)/(c^4) T_{ij}
СГ>где G_{ij} — тензор Эйнштейна (алгебраически выражающийся через тензор кривизны Ричи G_{ij} = R_{ij} — 1/2 g_{ij} R), а T_{ij} — тензор энергии импульса материи.
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Здравствуйте, Аноним, Вы писали:
А>> Бред... отлаживать такое крайне неудобно. Есть золотое правило: одна строчка — один оператор.
СГ>Не отлаживать программы надо, а математически строго доказывать их корректность.