В эту статью нужно добавить как можно больше читавших SICP.Также сюда можно добавить интересные факты, картинки и прочие кошерные вещи.
My other car is a cdr — вариант старого мема (популярной темы для наклеек на бампер, «My other car is a bus» и т. п.), пришедший из православно-буддистского языка программирования LISP, который является путем к просветлению, и английского языка.
В LISP функции получения «головы» (первого элемента списка) и «хвоста» (всех элементов списка, кроме первого) называются соответственно car и cdr. Забрав из списка первый элемент, можно работать с ним, а затем повторить то же самое действие для всего остального списка.
Это про хвостовую обычную рекурсию, да.
На самом деле car, cdr и cons предназначены просто для создания связанной пары значений (cons) и извлечения из созданной пары первого значения (car) и второго значения (cdr). Список же просто один из способов организации данных в виде цепочки указывающих друг на друга пар. Из этого базового consтруктора, собственно, и организуется всё многообразие структур данных в lisp-е — списки, деревья, леса…
Ну и Erlang это умеет (спойлер: Там и циклов-то нет.)ВариацииМини-комбоmy other car is (reduce #'(lambda (x y) (if (atom x) (list y) (cons x y))) a)
Употребляется во множестве различных вариаций, например, «my other joke is slightly amusing», что в наших интернетах было бы подобно деанонимизации в постере Евгения Вагановича Петросяна.
Также может употребляться контекстуально, например «my other cat is a cdt», вклиненное в беседу о домашних котах.См. такжеSICPErlangЛюбой программист без словаря поймёт, что такое My other carЯзыки программирования
Промышленные: 1С • BAT • C# • C • C++ • Java • JavaScript (AJAX) • Pascal • Perl • PHP • Python • Ruby • ABAP • Ассемблер • Васик • Фортран
Эзотерические: BrainFuck • Erlang • Forth • Haskell • LISP (My other car) • Prolog • Tcl • TeXПрофессииБыдлокодер • Программист • Тестировщик • Хакер • Хеллоуворлдщик
Методы и стилиReverse Engineering • Анти-паттерн • Выстрелить себе в ногу • Грязный хак • Код (индусский) • Костыль • Метод научного тыка • Помолясь • Свистелки и перделкиПрочее++i + ++i • Deadline • %s • 640 килобайт • CMS • Dummy mode • ЕГГОГ • Foobar • God is real, unless explicitly declared as integer • GOTO • Ifconfig • KISS • RegExp • SICP • sql.ru • Xyzzy • Дискета • Инжалид дежице • КОИ-8 • Лог • Ман • Рекурсия • СУБД • Тест Тьюринга • Умение разбираться в чужом коде • Фаза Луны • Фатальный недостаток