Я не хочу что бы это называлось ЧИТАЕМЫЙ КОД! Это не читаемо, это не по правилам и не может нигде и не при каких обстоятельствах назваться читаемым. Называй это как хочешь, «фича», «супер удача», «невероятный прорыв мысли», но только никак не читаемый код. Читаемый это когда понятно что конкретно делает кусок кода. Я не говорю о том, что бы он был прост, а том что бы он был читаемым. А главное во всём этом совсем другое, это возможность инструмента, которым ты пользуешься. Возможность располагать больше кода на экране достигается выбором монитора с расширением и редактором способным работать с фонтом 6х7 пикселей, а не компилятором который даст тебе писать текст змейкой. Вот смотри я использую текстовый редактор только тот, который мне позволит работать с блоками текста, для построения таблиц. Я вообще не рассматриваю ни один редактор который не даёт мне такую возможность. Мне очень важно умеет ли он раскрашивать текст, но давать мне возможность отметить блок и порисовать в тексте на скорую руку картинки это важнее. Так что мне написать компилятор, что бы мог воспринимать магическую запись текстового редактора ради таблиц? Или тот же ALIGN, да всё равно что пишется текст спиралькой, это не экономит ни место в памяти ни такты процессора, без ALIGN для меня вообще нет компилятора. Он у меня вообще везде, и после ALIGN стоят не только 256, а 16, если таблица на 16 байт. А если надо что бы ALIGN не тёр до границы ноликами есть ORGALI, я на этом всём пишу прошивки для флешек, где надо генерировать HEX файлы, в которых нужно делать дыры из ничего вообще, просто пространство. Эти инструменты важнее на порядок записи в строчку. И речь идёт не о том, что ты пишешь не верно, а том, что этот код не читаем. ALIGN 256 это чёткое описание твоего желания, а ORG ((($-1)/256)+1)*256 это частный случай с учётом повезёт тебе с округлением или нет, и что бы ты не говорил это не читаемо. Можешь написать туда MOD, это так же не читаем. Это всё равно что описывать «if» через «for», поверь, я могу тебе сделать анализатор-генератор СИшного кода и поменяю местами все if и for, и это откомпилирует, но опять таки это не читаемо. Я понимаю, если бы вы обсуждали макросы, что-то типа вот такого:
Я верю, что каждый может в строчку написать сто-тыщ операций, но это не читаемо. Читаемы слова, объясняющие что ты там на прерываниях делаешь. И потом когда будет происходить «дебаг», править надо будет только макрос, в котором через двоеточие, по спиральке, змейкой и крестиком пиши как угодно. Опять-таки я не говорю про простой код, пусть он будет сложный, пусть будет ветвистый и выжатый до последнего такта, но максимально читаемый. А каждый пример который был тут приведён не несёт оптимизации, и не несёт информативность, он несёт только фичу.
И я ещё раз говорю, слово «мудак» я применяю только к тому, кто его применил ко мне. И да, я очень сильно разозлился, кода прочитал что я «мудак» только лишь потому, что кто-то вышивает крестиком, да ещё постыдно это называет читаемый код.
Robus, ну просто убери $ и все твои примеры станут сразу нормальными.
Т.е. проблема опять в том, что ты утрируешь немного. И хочешь писать по-своему. Но пойми, Вова напал на нас первый и мы (многокомандвстрочники) просто защищались. Я же не говорю всем как писать, я говорю что имею право писать и мне так удобно. И есть свои достоинства, далеко всё не чёрно-белое. А разные люди приходят и говорят, что ld b,c,d,e — плохая команда, и что $ в строке непонятно к чему привязать. А то, что у меня в коде нет ни первого и не второго видимо спросить забыли.
Если так всё радужно и прекрасно писания в строчку, то почему вы так «заминусовали» паренька, который что-то там делал на WCT? Я могу ошибаться, вообщем он утверждал, что пишет закорючками прямо в машинном коде. И главное, он пишет всё в строчку! О… Да у него в одну строчку вмещается так много кода, что вообще кайф. А не хотите ввести запись в формате BASE64? Шикарная штука 6 бит на 8 бит, да при 80-ти символах в строке можно 60 символов текста впихнуть, а сколько кода можно нагородить? НЕТ? А почему нет? Это выходи за пределы ваших правил? А ваших ли? — Не ваших? А… Кто-то это в популярном компиляторе реализовал .?.. Да — точно… Это истина высшей инстанции, только так теперь и надо воспринимать «асм», а то, что это не ассемблер Z80 — уже не важно. Правила языка спускаем на классную фичу. Не важно, что тема ЧИТАЕМОСТЬ кода, «фича» навязанная компилятором важнее. Теперь кто не так пишет как другие называется — «мудак», не важно, что не читается, не важно, что до этого пишем про «давайте писать код так, что бы другой мог заюзать», тут же налепили в строчку, и так удивлённо, — «а вы чего читать не умете, не можете понять ???». Ну тогда компилируйте вот такой код:
И теперь угадываем DJNZ $ на какую из команд должен указывать, предлагаю в компиляторе делать значение адреса $ делать по RND на каждое двоеточие?
Код в строку не читаем. Да ляпать по клавиатуре меньше, да макросы как не использовали, так и не используем, но это не важно, главное это «фича» — в строку писать.
XOR A:LD HL,A:LD ($+3),A:JP (HL)
У вас такой команды LD HL,A нет, сделайте — будет, фича ведь, меньше клавиш нажимать, и модно как. А ($+3) генерируем по-рандому. Но ещё лучше записываем вот так
OzaKW4aECH488n4B1f3J412AaioCfmIGwe4KWW2ICb2
… Смотрите, какая компактная запись, а как читается? Ну просто прекрасно. От того что в СИ можно писать в строчку не значит что код будет читаем, это не значит, что так надо писать. От тог что в русском языке есть набор унижающих других слов, не значит что их надо применять, иначе давайте возвращайте забанненых тролей назад, они просто писали в строчку слова которые вы не можете правильно прочитать, а некоторые не могут прочитать потому что «мудаки». Про «мудака» — то про меня, конечно же. Вот по этой причине я и не выкладываю свои стати, я ведь «мудак» пишу на своём асаме, да в масоне.
Дело не только в скорости, а ещё и в том, что у тебя строка делает ЧТО-ТО ОДНО. Это как одна команда в каком-то языке чуть посложнее. Считай, ты макрос ввёл.
Потому что мы все имеем опыта программирования на более высоком уровне, выделение строки для каждой команды слишком «разбавляет» код. Да, я тоже терпеть не могу вереницы присваиваний
ld hl,#4000,de,#4001,bc,6911,(hl),l:ldir
Но пора перестать мешать в кучу код в строку (нормальная идея) от синтаксиса шторма — это не одно и то же.
Голова не обязательно должна кружиться от кода в строчку:
Я, кстати, в С очень часто обработку ошибок в одну строчку пишу, чтобы простыни снизу равной кол-ву основного кода не было когда с вложением проверки делаешь. Метку «error» использую в качестве аналога деструктора, если до этой проверки были выделены ресурсы (инициализированы драйвера, аллоцирована память (да, я пользуюсь динамическим выделением памяти)).
Типа:
Ну просто сидя в каком-нибудь Intellisense редакторе, ты всерьёз будешь мне говорить что может возникнуть проблема от того что у кого-то 5 команд в строке? Ну да, чуть другой интерфейс понадобится, но несерьёзно это как аргумент выдавать.
Напомню, в C разрешено больше одной команды в строке. И мы все до сих пор живы.
Я скорее о том что существуют два вектора — люди в сторону усложнения, и люди в сторону упрощения.
(Эйнштейн) «Все должно быть изложено так просто, как только возможно, но не проще.»
С этим тесно связан закон достаточного основания. Любая сложность должна быть весомо аргументирована. Но это уже из области построения систем, как таковых.
Я верю, что каждый может в строчку написать сто-тыщ операций, но это не читаемо. Читаемы слова, объясняющие что ты там на прерываниях делаешь. И потом когда будет происходить «дебаг», править надо будет только макрос, в котором через двоеточие, по спиральке, змейкой и крестиком пиши как угодно. Опять-таки я не говорю про простой код, пусть он будет сложный, пусть будет ветвистый и выжатый до последнего такта, но максимально читаемый. А каждый пример который был тут приведён не несёт оптимизации, и не несёт информативность, он несёт только фичу.
И я ещё раз говорю, слово «мудак» я применяю только к тому, кто его применил ко мне. И да, я очень сильно разозлился, кода прочитал что я «мудак» только лишь потому, что кто-то вышивает крестиком, да ещё постыдно это называет читаемый код.
Т.е. проблема опять в том, что ты утрируешь немного. И хочешь писать по-своему. Но пойми, Вова напал на нас первый и мы (многокомандвстрочники) просто защищались. Я же не говорю всем как писать, я говорю что имею право писать и мне так удобно. И есть свои достоинства, далеко всё не чёрно-белое. А разные люди приходят и говорят, что ld b,c,d,e — плохая команда, и что $ в строке непонятно к чему привязать. А то, что у меня в коде нет ни первого и не второго видимо спросить забыли.
Код в строку не читаем. Да ляпать по клавиатуре меньше, да макросы как не использовали, так и не используем, но это не важно, главное это «фича» — в строку писать.У вас такой команды LD HL,A нет, сделайте — будет, фича ведь, меньше клавиш нажимать, и модно как. А ($+3) генерируем по-рандому. Но ещё лучше записываем вот так… Смотрите, какая компактная запись, а как читается? Ну просто прекрасно. От того что в СИ можно писать в строчку не значит что код будет читаем, это не значит, что так надо писать. От тог что в русском языке есть набор унижающих других слов, не значит что их надо применять, иначе давайте возвращайте забанненых тролей назад, они просто писали в строчку слова которые вы не можете правильно прочитать, а некоторые не могут прочитать потому что «мудаки». Про «мудака» — то про меня, конечно же. Вот по этой причине я и не выкладываю свои стати, я ведь «мудак» пишу на своём асаме, да в масоне.
именно вариант с: нравится.
Потому что мы все имеем опыта программирования на более высоком уровне, выделение строки для каждой команды слишком «разбавляет» код. Да, я тоже терпеть не могу вереницы присваиваний
Но пора перестать мешать в кучу код в строку (нормальная идея) от синтаксиса шторма — это не одно и то же.
Голова не обязательно должна кружиться от кода в строчку:
Разумеется, любую, даже самую хорошую идею можно довести до абсурда. Но что это доказывает? Правильно, ничего.
вполне логическая связка, годная для быстроты ввода.
Если это прочитать быстро то можно вызвать демона :) Чем продолжительней строка тем круче демон.
Типа:
Напомню, в C разрешено больше одной команды в строке. И мы все до сих пор живы.
:)))
(шутка, shinilb0g!)
(Эйнштейн) «Все должно быть изложено так просто, как только возможно, но не проще.»
С этим тесно связан закон достаточного основания. Любая сложность должна быть весомо аргументирована. Но это уже из области построения систем, как таковых.
Это не всегда означает просто, увы.