воскресенье, 26 июня 2011 г.

Наслаждаясь Clojure

После месяцев троллинга в IRC по поводу Clojure, я, наконец, достал книжечку по этой теме и решил почитать, надеясь что простыми и понятными описаниями что, куда и как, как-то понять как писать на этом языке программирования какие-то полезные применимые в реальности программы, решающие реальные задачи. Книжечка эта - Joy Of Clojure, на английском языке, и я уже прочел 13 страниц из примерно 300 (что, как это нетрудно посчитать, является 4% от всего объема, что немного). Но я так ничего толком и не понял из того что там написано. В общем смысл пока такой - Clojure это реально классный и полезный язык и его делали реально классным и полезным языком для написания полезных программ, а не для изучения каких-то аспектов программирования, поэтому все просто обязаны его попробовать, потому что он позволит программистам увидеть бога. Пока что информация была предоставлена для тех, кто еще не имеет никакого понимания функционального программирования совсем (а таких людей большинство). Я помолчу о том, что я узнал много новых интересных слов английского языка, которые раньше я даже не встречал (несмотря на то что часто читаю техническую литературу, в том числе и по программированию, не используя словарей и переводчиков), и то что они там, в общем-то, никакого специального места не имеют. Это были не новые термины из математики или области компьютерных наук. Просто используется такой язык.. :)

Была и парочка примеров коротких программ, делающих простые вещи. Но смысл этой мешанины сокращенных слов, скобочек и двоеточий пока понять не удалось. Ну, то есть можно догадываться, что это делает, обозревая вывод программы, но никак не понять место всех этих символов. Сомневаюсь, что такое вообще кому-то без спецподготовки будет понятно, а с учетом того что смысл этого не был разъяснен, вообще с трудом угадывается место этих примеров в книге. Такое чувство, что она была написана только с одной целью - чтобы не очень глупые люди чувствовали себя полными идиотами. Но надеюсь, это чувство пропадет у меня по мере того как я снова и снова перечитаю эти 13 страниц, составлю конспект и схему этих непонятных понятий. Еще есть надежда, что я не стану таким же обфускатором, как автор этой книги (а может и автор языка - я не сомневаюсь, что это именно Clojure повлиял на автора книги таким причудливым образом).

У меня есть надежда, что Clojure как-то поможет мне шире мыслить при решении задач, и что, может быть, сам язык пригодится при решении некоторых задач, так что бросать чтение я пока не собираюсь, но мне страшно за мой мозг. Я постараюсь писать по мере продвижения, и оценить, как мои записки будут меняться по мере этого продвижения, чтобы можно было сравнивать состояние ума до и после.

В общем, резюме - Clojure - это такой простой непонятно путанный неведомый язык для инопланетян, почти как LISP, и на самом деле это еще один LISP, который почему-то не будет медленно тлеть как и LISP. Это я понял из абзацев про то как Clojure упрощает программирование, разделяя вещи, которые создают путаницу и позволяет концентрироваться на решении самих проблем, а не на раздумываниях о реализации решений этих проблем.

И да, им очень нужны новые адепты.

Комментариев нет:

Отправить комментарий