Pull to refresh
0
0
Александр @Unlogic

User

Send message
Простите, но вы что-то не то читаете:) Поделитесь ссылкой. Clojure — ни разу не ООП язык, в CL или Scheme гораздо больше ООП, чем там.
Я думаю, Вы не правы. За отказом от пользовательских ридер-макр стоит вполне разумное желание сделать код более понятным для других. Если бы каждый пользователь мог плодить какие-угодно reader macro, то это усложнило бы чтение его кода для его коллег, да и вполне вероятно, для него самого через некоторое время. К ним нужно относится как статическим элементам синтаксиса, не более.
А писать свои обычные макросы — прошу, никаких запретов тут конечно же нет.
Да нет же, #() — это стандартное reader macro — макрос, который разворачивается на первом же проходе кода, до того, как его увидит компилятор. Reader macro — это сокращения для часто используемых операций, их нельзя обьявлять самому, и их существует немного стандартных.
С помощью того же ридер макро лямбду (fn[x y] (+ x y)) можно записать как #(+ %1 %2). Вообще, их использование поощряется только там, где они совершенно прозрачны и ускоряют чтение, но ни в коем случае не запутывают.
Согласен, я тоже не в восторге от подмены понятий.
Вектора записываются через квадратные скобки. Например: [1 2 3 4 5].
А лямбды определяются именно с помощью fn. То есть выглядеть такая лямбда это будет точно как вы написали:
(fn[] *username*)
Вы имеете в виду хвостовую рекурсию? Да, в ANSI Common Lisp поддержка хвостовой рекурсии не заявлена. Другое дело — Scheme или Clojure, их тоже порой лиспами называют.
Хм… Распознавание образов — это одна из задач, для которой когда-то изобретался Lisp.
(map #(* % %) (range 1 4))
Clojure:). Вместо ридер макры можно было (fn[x] (* x x))
Попробуйте TeX, и вам больше никогда не придется уставать от любого мышкотыканья в любых wysiwig редакторах.
А так же от игры с оформлением, от проблем с большими документами, о переоформлении документа при вставке его в другой.
И при этом — имеет богатейшую историю, большое сообщество и находится в public domain.
Я не понимаю, почему при переходе на Lisp синтаксис называют сложностью? С точностью до наоборот, синтаксис учится за 1.5 часа. Скобка, скобка, пробел да кавычка для quotation. Как писал человек ниже, сложна смена парадигмы и переход на языки с кардинально другой семантикой. Вот с С++ на Java\C# переход не так уж прост, хоть и синтаксис похож. Человеку, который всю жизнь мыслил указателями и ручным управлением памяти, будет сложно поначалу привыкнуть к новому подходу.
По-вашему, человек перестает «говнокодить», прочитав Фуллера и GoF?
Паттерны — уже давно не silver bullet, а общая практика. Так что в этом топике не вижу ничего нового.
Немаловажно еще и то, что решать коммиты в git — одно удовольствие. Порой даже даже жалеешь, что после очередного мержа всё прошло гладко:)
Правда? Может вы назовете научной работой то бессвязное словоблудие, которое такие недалекие лицемеры, как Макграт, называют «богословием». Теология не может называться наукой просто потому, что она противоречит науке.
И простите, но ваше мнение не может считаться критерием «учености» научной работы. Как и мое впрочем, но я следую мнению преобладающего большинства ученого мира. Чьему мнению следуете вы?
Докинз — микробиолог и этолог, автор научно-полулязитарского бестселлера «Эгоистичный ген» и других книг в области исследования эволюции и фенотипа. Или Вас не устраивают эти научные работы, потому что они не перемещают из точки А в точку Б? ;)
Докинз — серьезный и уважаемый ученый. А Макграт продался за Темплтонские деньги.
Под смертью ЖЖ вы скорее подразумеваете «жжшечку», а не сам блогинг в целом. Вещи по делу (статьи\howto\описание мелких твиков и возможностей софта или чего угодно) все еще удобнее писать в виде блога.
Для меня откровением стал просмотр Firefly в оригинале. Признаюсь, смотрел с английскими субтитрами — акцент большинства актеров был для меня слишком сложен, но такого количества новых речевых оборотов и конструкций (чаще, конечно, сленговых, не деловых) я не встречал ни в одном сериале\фильме.

Information

Rating
Does not participate
Location
Украина
Registered
Activity