> Мне кажется, вы слишком фанатично читали SICP. И теперь на любом ЯП
> пытаетесь воспроизвести код на Lisp/Scheme/Haskell.Мимо
> Функциональное программирование
> - замечательная вещь.
Откуда вы знаете?
> Но когда вы пишете на императивном ЯП
> - будьте добры использовать стандартные(для данного ЯП) практики(и стиль оформления кода
> принятый в вашей компании). Когда программисты пишут код сообща, и в
> команде не все являются продвинутыми гуру, знакомыми с паттернами банды четырёх(или
> с ФП) - стоит писать как можно более простой и понятный
> код.
Вот именно - более простой и понятный (но не вам, гуманитариям).
> Понятный даже студенту,
А вот это уж - хрен. Студент должне приспосабливаться, а не кто-то к студенту.
> который будет проходить практику в вашей компании.
> Это признак хорошего тона, что-то вроде этикета в деле написания ПО.
Вы опять ошиблись форумом - про этику, эстетику и прочую гуманитарную хрень - на ругих форумах.
> Ну а написание комментариев на английском во всех не очень очевидных
> местах тем более необходимо. Телепатов, я уверен, в вашей конторе не
> водится. А значит очевидный код + комментарии = тот минимум, который
> облегчит жизнь вашим коллегам. А значит, и вам тоже.
> К вашему сведению, использование конструкции:
> метка:
> Какой-то код
> jmp метка
> Это один из вариантов получения цикла, условие выхода из которого(как правило используют
> условный переход) прописывается в теле цикла.
К вашему сведению: использование рекурсии - это один из очевидных вариантов получения цикла. А во что это раскрутит копилятор на конкретной архитектуре - неважно, главное, чтобы это было максимально эффективно для этой конкретной архитектуры. Да, явного рекурсивного CALL там не будет, как и горячо любимых вами for/while, и даже LOOP не будет.
> Очень похоже получается на хвостовую
> рекурсию, не находите? Данный фрагмент кода вызывает сам себя. Правда вместо
> параметров функции у нас используются регистры, но это не важно. По
> определению, это цикл. Не обязательно использовать специальную инструкцию, что-бы организовать
> цикл. Вообще, многие инструкции ассемблера можно не использовать, если вместо них
> использовать другие инструкции.
Блин, до чего же вы нудный. Вы думаете, что написам много ненужных банальностей, сойдёте за умного?
> Именно на этом строится полиморфизм.
Ага. Спасибо, подняли настроение:)
> Так что со своей специальной инструкцией вы прокололись...
Да, я уже плАчу... со смеху ;)