<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1224047</guid>
        <pubDate>Thu, 17 Aug 2006 10:14:36 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1224047</link>
        <description><![CDATA[linuxfan: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1223981'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Neko &#064; <time class="tag-quote__quoted-time" datetime="2006-08-17T13:39:51+04:00">17.08.06, 09:39</time></span><div class='quote '>linuxfan, посмотрел я тут на ваши мегаисходники. И скока они компилируются? :rolleyes: </div></div><br>
Какие исходники? Lisp&#39;овские? Быстрее, чем хеловорлд на C++ :)]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1223981</guid>
        <pubDate>Thu, 17 Aug 2006 09:39:51 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1223981</link>
        <description><![CDATA[Neko: <strong class='tag-b'>linuxfan</strong>, посмотрел я тут на ваши мегаисходники. И скока они компилируются?  :rolleyes: <br>
<br>
Сравните с хорошим C++ компилером  :whistle:]]></description>
        <author>Neko</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1219286</guid>
        <pubDate>Mon, 14 Aug 2006 13:43:43 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1219286</link>
        <description><![CDATA[linuxfan: Ну тогда приведи задачу, которая, на твой взгляд, очень элегантно решаема на плюсах, а я попробую ее в свободное время решить на Lisp&#39;е.<br>Только большая просьба не приводить числодробилок -- неинтересно.]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1219268</guid>
        <pubDate>Mon, 14 Aug 2006 13:36:51 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1219268</link>
        <description><![CDATA[BugHunter: А чо, давай. Как найду время. Правда, написано через задницу будет, ну так и задача соответсвует.]]></description>
        <author>BugHunter</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1219236</guid>
        <pubDate>Mon, 14 Aug 2006 13:20:28 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1219236</link>
        <description><![CDATA[linuxfan: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1219214'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BugHunter &#064; <time class="tag-quote__quoted-time" datetime="2006-08-14T13:08:33+00:00">14.08.06, 13:08</time></span><div class='quote '>Ну, в C++ тоже можно подменить функцию, подменив адрес.</div></div><br>
Ну давай, кулхацкер, продемонстрируй подмену адреса (или переопределение)  <em class='tag-i'>функции</em> в C++.]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1219214</guid>
        <pubDate>Mon, 14 Aug 2006 13:08:33 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1219214</link>
        <description><![CDATA[BugHunter: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>в силу динамической природы языка можно подменять функции прямо в runtime :)</div></div><br>
Ну, в C++ тоже можно подменить функцию, подменив адрес. Возникает законный вопрос - зачем?.. Может я не настолько извращенец, что бы думать об этом?..<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Пока не сталкивался, но я как минимум не вижу, почему не могут быть реализованы подобного рода assert&#39;ы и в Lisp&#39;е.</div></div><br>
так они ещё не реализованы? какой отсталый язык (качает головой)]]></description>
        <author>BugHunter</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1218551</guid>
        <pubDate>Mon, 14 Aug 2006 09:10:29 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1218551</link>
        <description><![CDATA[Relan: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1217848'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>trainer &#064; <time class="tag-quote__quoted-time" datetime="2006-08-13T16:38:28+00:00">13.08.06, 16:38</time></span><div class='quote '>Язык LISP для представления выражений использует префиксный тип записи, называемый кембриджской польской записью. Такая запись в отличие от польской записи содержит скобки, ограничивающие операнды, на которые действует операция. Таким образом, в кембриджской польской записи выражение представляет собой множество вложенных подвыражений, ограниченных скобками.</div></div>Называть это префиксной записью -- это слишком упрощенно. Наверное в том тексте посчитали такое упрощение допустимым. На самом деле всё несколько сложнее, по этому поводу см. любой учебник по Лиспу, где разбирается математический аппарат, лежащий в основе языка. Правильнее думать о выражениях Лиспа как о списках, каковыми они собственно и являются. Ну и еще необходимо упомянуть про QUOTE.]]></description>
        <author>Relan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1218053</guid>
        <pubDate>Sun, 13 Aug 2006 21:11:45 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1218053</link>
        <description><![CDATA[linuxfan: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1218046'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BugHunter &#064; <time class="tag-quote__quoted-time" datetime="2006-08-13T20:57:56+00:00">13.08.06, 20:57</time></span><div class='quote '>2) Что такое умеет отладчик lisp-а, что не умеет отладчик MSVC++ или DDD?</div></div><br>
Он умеет одну простую вещь: в силу динамической природы языка можно подменять функции прямо в runtime :) Если бы ПО спутника написали на C++, то при исправлении ошибок его бы пришлось перезапускать.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1218046'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BugHunter &#064; <time class="tag-quote__quoted-time" datetime="2006-08-13T20:57:56+00:00">13.08.06, 20:57</time></span><div class='quote '>В LISP-е удобнее? Правда что ли?</div></div><br>
Пока не сталкивался, но я как минимум не вижу, почему не могут быть реализованы подобного рода assert&#39;ы и в Lisp&#39;е. Там все <em class='tag-i'>очень</em> продумано. Почитай ради любопытства <a class='tag-url' href='http://www.gigamonkeys.com/book/' target='_blank'>«Practical Common Lisp»</a> после третьей главы мне захотелось прочитать все остальное :) Очень уж элегантен Lisp-way. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-08-13T21:12:42+00:00">13.08.06, 21:12</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1218046'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BugHunter &#064; <time class="tag-quote__quoted-time" datetime="2006-08-13T20:57:56+00:00">13.08.06, 20:57</time></span><div class='quote '>В Стандарт попадает много всякого разного, в т.ч. сомнительной полезности.</div></div><br>
Тем не менее, если STL -- часть стандарта, то =&gt; STL -- часть языка.]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1218046</guid>
        <pubDate>Sun, 13 Aug 2006 20:57:56 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1218046</link>
        <description><![CDATA[BugHunter: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Или ты гений и провидец, или программа не сложнее «hello world». Поведение большинства современных программ очень трудно предсказать, т. к. они многоточные и довольно запутанные.</div></div><br>
Ну, многопотоковость - это ещё один жупел (так же как и кроссплатформенность).<br>
К счастью, её у меня нет. Ни к чему она мне. Не, я не гений (к счастью). И не провидец (тоже к счастью). Просто, догадливый.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Там более азвитые средства для обнаружения ошибок.</div></div><br>
1) Что значит развитые средства? Отладчика уже недостаточно?<br>
2) Что такое умеет отладчик lisp-а, что не умеет отладчик MSVC++ или DDD?<br>
3) assert( a &#33;= 0 &amp;&amp; a &lt; 200 ); По моему всё понятно и довольно тупо, ошибиться невозможно. 99,9% случаев пользователь нарывается на такой ассерт, программа не падает и продолжает работать дальше. (ну, есть ещё 0.1%, когда ассерт поставить я забыл или ещё чего то не предусмотрел)<br>
Прочитав в рекламации &quot;что делали&quot; и &quot;какой ассерт получили&quot; сразу же получаем сценарий неправильного поведения и условие, которому перестал удовлетворять наш a. Имя файла и номер строки, где предположительно дело пошло не так, как надо. Открою маленький секрет - чаще всего мне даже не приходится повторять ошибку руками, т.к. по ассерту и так всё ясно.<br>
<br>
В LISP-е удобнее? Правда что ли?<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>STL -- уже часть стандарта C++, ходят слухи, что значительная часть boost попадет в новый стандарт C++.</div></div><br>
В Стандарт попадает много всякого разного, в т.ч. сомнительной полезности. Это не значит, что мы обязаны использовать ВЕСЬ язык (или всё таки обязаны?).]]></description>
        <author>BugHunter</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1218018</guid>
        <pubDate>Sun, 13 Aug 2006 20:23:22 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1218018</link>
        <description><![CDATA[linuxfan: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1218000'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BugHunter &#064; <time class="tag-quote__quoted-time" datetime="2006-08-13T20:09:29+00:00">13.08.06, 20:09</time></span><div class='quote '>Поведение программы понятно из одного только прочтения её кода :yes:</div></div><br>
Или ты гений и провидец, или программа не сложнее «hello world». Поведение большинства современных программ очень трудно предсказать, т. к. они многоточные и довольно запутанные.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1218000'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BugHunter &#064; <time class="tag-quote__quoted-time" datetime="2006-08-13T20:09:29+00:00">13.08.06, 20:09</time></span><div class='quote '>В динамических языках, я так подозреваю, это совсем не так.</div></div><br>
В динамических все, как правило, намного легче. Там более азвитые средства для обнаружения ошибок.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1218000'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BugHunter &#064; <time class="tag-quote__quoted-time" datetime="2006-08-13T20:09:29+00:00">13.08.06, 20:09</time></span><div class='quote '>А я и не включал STL или boost в число удобных библиотек.</div></div><br>
STL -- уже часть стандарта C++, ходят слухи, что значительная часть boost попадет в новый стандарт C++. «Ежики плакали, кололись, но продолжали есть кактус» ©]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1218000</guid>
        <pubDate>Sun, 13 Aug 2006 20:09:29 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1218000</link>
        <description><![CDATA[BugHunter: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Ничо, мне после МК-52 и не такое понятно...</div></div><br>
Да уж, машинка была жестяная. Мне по счастью в руки попал сразу буржуйский &quot;Гражданин&quot;, повёрнутый к пользователю своим фейсом, а не другими частями тела :)<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Рассказывают, что даже дебажили Lisp&#39;овую программу управления спутником с Земли... удаленно дебажили, при этом в процессе отладки ничего не пострадало и не остановилсь. Вот это, я понимаю, модульность.</div></div><br>
И что?.. Не пострадало и не остановилось - я тоже так могу :yes: Правда, перекомпилять потом придётся, но это мелочи жизни.<br>
А вообще мне даже дебажить чаще всего не нужно. Я и так <strong class='tag-b'>знаю</strong>, как у меня что работает. Мне даже тесты в 99% случаев не нужны. Поведение программы понятно из одного только прочтения её кода :yes:<br>
В динамических языках, я так подозреваю, это совсем не так. Я прав?<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Все идеологически правильно и выдержано, не то что в це-крест-крест: это функция, а вот это оператор, а вот это вообще метод, а вот тут dynamic_cast мы придумали, но старайтесь избегать его использования, </div></div><br>
Жгучее желание использовать dynamic_cast - на лицо явная ошибка проектирования. Остановить и перепиши код.<br>
Для всех операторов так же есть рекомендованная семантика (должен ли быть методом или отдельной функцией и т.д.), здесь я проблем не вижу.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>а вот ту у нас контейнеры, но не для всех существуют определенные методы и пр. Про «читаемость» STL headers -- отдельная песня. А уж какие ошибки компилер временами пишет... Жесть&#33;</div></div><br>
А я и не включал STL или boost в число удобных библиотек.]]></description>
        <author>BugHunter</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1217982</guid>
        <pubDate>Sun, 13 Aug 2006 19:53:59 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1217982</link>
        <description><![CDATA[Ho Im: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1217978'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BugHunter &#064; <time class="tag-quote__quoted-time" datetime="2006-08-13T19:45:39+00:00">13.08.06, 19:45</time></span><div class='quote '>нифига Lisp не идеально читается, а <br>
+ x y<br>
это вообще жесть. Как там это называется?.. Польская запись что ли?.. <br>
Ну так это для приближения к машине, не нужно называть такие вещи &quot;интуитивно понятными&quot; и т.п. <br>
</div></div><br>
Ничо, мне после МК-52 и не такое понятно...]]></description>
        <author>Ho Im</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1217981</guid>
        <pubDate>Sun, 13 Aug 2006 19:51:09 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1217981</link>
        <description><![CDATA[linuxfan: Да ладно, не так ты читаешь: Lisp -- функциональный язык и на первом месте стоит вызов функции с именем &#39;+&#39; (можно даже ее адрес получить, если надо).<br>
Все идеологически правильно и выдержано, не то что в це-крест-крест: это функция, а вот это оператор, а вот это вообще метод, а вот тут dynamic_cast мы придумали, но старайтесь избегать его использования, а вот ту у нас контейнеры, но не для всех существуют определенные методы и пр. Про «читаемость» STL headers -- отдельная песня. А уж какие ошибки компилер временами пишет... Жесть&#33;<br>
То ли дело Lisp. Рассказывают, что даже дебажили Lisp&#39;овую программу управления спутником с Земли... удаленно дебажили, при этом в процессе отладки ничего не пострадало и не остановилсь. Вот это, я понимаю, модульность. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-08-13T19:52:08+00:00">13.08.06, 19:52</time></span></span><br>
А «не определился» больше для C++ подходит: и не импиративный, да и до объектного еще вроде как не дорос. Нечто аморфно-неопределенное.]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1217978</guid>
        <pubDate>Sun, 13 Aug 2006 19:45:39 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1217978</link>
        <description><![CDATA[BugHunter: в тему:<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><br>
-ты мальчик или девочка?<br>
-я ещё не определился.<br>
</div></div><br>
<br>
нифига Lisp не идеально читается, а <br>
+ x y<br>
это вообще жесть. Как там это называется?.. Польская запись что ли?.. <br>
Ну так это для приближения к машине, не нужно называть такие вещи &quot;интуитивно понятными&quot; и т.п.]]></description>
        <author>BugHunter</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1217848</guid>
        <pubDate>Sun, 13 Aug 2006 16:38:28 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1217848</link>
        <description><![CDATA[trainer: http://www.intuit.ru/department/pl/plintro/3/ <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Язык LISP для представления выражений использует префиксный тип записи, называемый кембриджской польской записью. Такая запись в отличие от польской записи содержит скобки, ограничивающие операнды, на которые действует операция. Таким образом, в кембриджской польской записи выражение представляет собой множество вложенных подвыражений, ограниченных скобками.<br>
<br>
Например:<br>
<br>
* (+ (z 2) +(x y))</div></div> http://en.wikipedia.org/wiki/Lisp_programming_language <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Expressions are written as lists, using prefix notation.</div></div> Кому верить? ;) :D]]></description>
        <author>trainer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1217825</guid>
        <pubDate>Sun, 13 Aug 2006 15:56:26 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1217825</link>
        <description><![CDATA[Relan: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1217391'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>trainer &#064; <time class="tag-quote__quoted-time" datetime="2006-08-13T08:12:02+00:00">13.08.06, 08:12</time></span><div class='quote '>Ну да, что-то меня переклинило, это префиксная запись <br>
Инфиксная - это традиционная математическая </div></div>Поверь мне на слово, это и не префиксная запись тоже. :) Это S-выражение.]]></description>
        <author>Relan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1217391</guid>
        <pubDate>Sun, 13 Aug 2006 08:12:02 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1217391</link>
        <description><![CDATA[trainer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1216931'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Relan &#064; <time class="tag-quote__quoted-time" datetime="2006-08-12T12:42:02+00:00">12.08.06, 12:42</time></span><div class='quote '>Это не инфиксная запись, это S-выражение</div></div>Ну да, что-то меня переклинило, это префиксная запись :D<br>
Инфиксная - это традиционная математическая :D]]></description>
        <author>trainer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1217010</guid>
        <pubDate>Sat, 12 Aug 2006 14:35:05 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1217010</link>
        <description><![CDATA[Relan: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1216963'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-08-12T13:20:24+00:00">12.08.06, 13:20</time></span><div class='quote '>Я тоже, но многим математикам функциональное программирование будет намного роднее императивного.</div></div>Угу.  :yes: Что вполне естественно. В императивном программировании очень извратили понятие переменной.<br>
<br>
Сейчас читаю литературу по Хаскелю. Прикольный язык. Одного не понимаю: почему монадические операции считаются чистыми? haskell.ru мне этого не прояснил. Буду признателен, если кто-нибудь растолкует на пальцах.]]></description>
        <author>Relan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216963</guid>
        <pubDate>Sat, 12 Aug 2006 13:20:24 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216963</link>
        <description><![CDATA[linuxfan: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1216931'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Relan &#064; <time class="tag-quote__quoted-time" datetime="2006-08-12T12:42:02+00:00">12.08.06, 12:42</time></span><div class='quote '>Сам от этого страдаю. :(</div></div><br>
Я тоже, но многим математикам функциональное программирование будет намного роднее императивного.]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216931</guid>
        <pubDate>Sat, 12 Aug 2006 12:42:02 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216931</link>
        <description><![CDATA[Relan: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1216896'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>trainer &#064; <time class="tag-quote__quoted-time" datetime="2006-08-12T11:57:58+00:00">12.08.06, 11:57</time></span><div class='quote '>А что такое + x y? Это ж еще объяснить надо про инфиксную запись.</div></div>Это не инфиксная запись, это S-выражение. :)<br>
<br>
На самом деле синтаксис Лиспа очень прост, но въехать в функциональное программирование людям, отягощенным опытом императивного программирования, очень тяжело. Сам от этого страдаю. :(]]></description>
        <author>Relan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216896</guid>
        <pubDate>Sat, 12 Aug 2006 11:57:58 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216896</link>
        <description><![CDATA[trainer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1216688'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-08-12T06:41:00+00:00">12.08.06, 06:41</time></span><div class='quote '>Человеку, далекому от программирования Lisp ИМХО будет выглядеть понятнее.</div></div>Человеку, далекому от программирования это будет темный лес.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1216688'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-08-12T06:41:00+00:00">12.08.06, 06:41</time></span><div class='quote '>Читается идеально:</div></div>Может быть идеально, когда знаешь. А когда нет - берешь словарь и разбираешь:<br>
for x = 0 then y&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;для x=0 затем/потом/тогда y<br>
Что затем y? Или что потом y? x затем y? Или просто затем y? А зачем(когда) затем? Или когда тогда?<br>
and y = 1 then (+ x y)&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;и y=1 затем/потом/тогда (+ x y)<br>
Аналогично. А что такое + x y? Это ж еще объяснить надо про инфиксную запись.<br>
Оно и dcfsnz x,1 читается идеально, когда знаешь, что это. :)]]></description>
        <author>trainer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216688</guid>
        <pubDate>Sat, 12 Aug 2006 06:41:00 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216688</link>
        <description><![CDATA[linuxfan: ~a == aesthetic (печать аргумента в красивом виде)<br>
~% == &#092;n<br>
Все остальное понятно, потому что там, где в C/C++/Pascal применяют хитрые языковые конструкции, в Lisp&#39;е пишут чуть ли не на естественном языке. Фнукциональные языки, как правило, позволяют писать более выразительный и понятный код. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-08-12T06:52:19+00:00">12.08.06, 06:52</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1216557'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BugHunter &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T22:03:45+00:00">11.08.06, 22:03</time></span><div class='quote '>Вот, например, код на Java или C# или даже Pascal - мне понятен всегда, несмотря на то, что я никогда их не изучал специально.</div></div><br>
Так они все похожи как сиамские близнецы. Человеку, далекому от программирования Lisp ИМХО будет выглядеть понятнее.<br>
Зацени подсчет чисел Фибоначчи:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">(loop repeat 5 </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;for x = 0 then y</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;and y = 1 then (+ x y)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;collect y)</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
Читается идеально:<br>
<em class='tag-i'>repeat 5</em>: повторям цикл пять раз;<br>
<em class='tag-i'>for x=0 then y</em>: изначально x приравниваем к 0, а на каждой последующей итерации присваиваем x значение y<br>
<em class='tag-i'>and y = 1 then (+ x y)</em>: а y изначально приравниваем к 1, а на каждой последующей итерации присваиваем y значение x+y<br>
<em class='tag-i'>collect y</em>: результатом выполнения цикла будет список из значений y<br>
Думаю, плюсовые заморочки были бы менее очевидными.]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216579</guid>
        <pubDate>Fri, 11 Aug 2006 23:15:23 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216579</link>
        <description><![CDATA[Ho Im: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1216557'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BugHunter &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T22:03:45+00:00">11.08.06, 22:03</time></span><div class='quote '>что здесь хотел афтор - хрен его не разберёт, а я даже и пытаться не буду. </div></div><br>
Я со всего только форматную строку не понял, ибо не ртфмил. Все остальное как на ладошке.]]></description>
        <author>Ho Im</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216565</guid>
        <pubDate>Fri, 11 Aug 2006 22:28:11 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216565</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1216548'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BugHunter &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T21:54:06+00:00">11.08.06, 21:54</time></span><div class='quote '>а какие нибудь классики, то тут начинается беда с биндерами и пр. mem_fun_ref, что ОФИГЕННО добавляет читаемости в коде (злая шутка). </div></div><br>
Ну так сейчас mem_fun_ref&#39;ами никто практически и не пользуется. Все больше boost::bind&#39;ерами... Но ты ведь boost не пользуешь - тебе нельзя... :)<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1216548'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BugHunter &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T21:54:06+00:00">11.08.06, 21:54</time></span><div class='quote '>Я и на русском, и на буржуйском бью 250 знаков в минуту, так что фигня война.<br>
Реализация непосредственно алгоритма занимает процентов 15-20% времени (максимум), затраченного на задачу.<br>
</div></div><br>
Дело не в том, как быстро ты (или я) по клаве стучишь, а в том, какими сущностями оперируешь. Я оперирую алгоритмами. Ты (судя по всему) - простыми языковыми конструкциями...]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216557</guid>
        <pubDate>Fri, 11 Aug 2006 22:03:45 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216557</link>
        <description><![CDATA[BugHunter: ну да, ну да.<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">(defun make-logger (filename)</div><div class="code_line">&nbsp;&nbsp;(let ((log (open filename</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; :direction :output</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; :if-does-not-exist :create</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; :if-exists :append)))</div><div class="code_line">&nbsp;&nbsp; &nbsp;(values</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;(lambda (string)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;(format log &quot;~a~%&quot; string))</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;(lambda ()</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;(close log)))))</div></ol></div></div></div></div><br>
<br>
что здесь хотел афтор - хрен его не разберёт, а я даже и пытаться не буду. Вот, например, код на Java или C# или даже Pascal - мне понятен всегда, несмотря на то, что я никогда их не изучал специально.]]></description>
        <author>BugHunter</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216554</guid>
        <pubDate>Fri, 11 Aug 2006 21:59:59 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216554</link>
        <description><![CDATA[linuxfan: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1216552'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BugHunter &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T21:58:13+00:00">11.08.06, 21:58</time></span><div class='quote '>Сосредоточимся на задачах, а не языковых средствах и синтаксических сахарах.</div></div><br>
Lisp как раз и позволяет это сделать, в отличие от... :)]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216552</guid>
        <pubDate>Fri, 11 Aug 2006 21:58:13 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216552</link>
        <description><![CDATA[BugHunter: Почему оффтоп? <br>Перевожу последние свои посты на русский.<br>Lisp ф топку, и извращённый C++ - туда же. Сосредоточимся на задачах, а не языковых средствах и синтаксических сахарах.]]></description>
        <author>BugHunter</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216550</guid>
        <pubDate>Fri, 11 Aug 2006 21:56:35 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216550</link>
        <description><![CDATA[linuxfan: Блин, опять в оффтоп скатились чтоли?]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216548</guid>
        <pubDate>Fri, 11 Aug 2006 21:54:06 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216548</link>
        <description><![CDATA[BugHunter: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><strong class='tag-b'>BugHunter</strong>, а твоя мегаконструкция связанные списки обработает? Все так же понятно?</div></div><br>
<br>
Связные списки она не обработает. ПОтому что они не поддерживают random access iterator. И фигли? Но этого и не было в начальном условии. Ну хоспади, заменил бы i на std::list&lt;...&gt;::iterator, Size() на .end(), и всё ништяк.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>В моем случае - одна, в которой явно указывается производимая операция.</div></div><br>
Тут главное, не увлечься. Поскольку плоский int я храню в контейнерах нечасто (точнее, часто, но над ними извращений не делается), а какие нибудь классики, то тут начинается беда с биндерами и пр. mem_fun_ref, что ОФИГЕННО добавляет читаемости в коде (злая шутка). <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-08-11T21:56:15+00:00">11.08.06, 21:56</time></span></span><br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Только тебе нужно 5 строчек</div></div><br>
Я и на русском, и на буржуйском бью 250 знаков в минуту, так что фигня война.<br>
Реализация непосредственно алгоритма занимает процентов 15-20% времени (максимум), затраченного на задачу.]]></description>
        <author>BugHunter</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216515</guid>
        <pubDate>Fri, 11 Aug 2006 21:16:01 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216515</link>
        <description><![CDATA[Flex Ferrum: И еще скажи, что этот код не понятен, и не читабелен. Для того, чтобы понять, что делает твой код, мне нужно просмотреть 3 строчки (for + if + break). В моем случае - одна, в которой явно указывается производимая операция. Почувствуй разницу.]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216514</guid>
        <pubDate>Fri, 11 Aug 2006 21:15:12 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216514</link>
        <description><![CDATA[Ho Im: <strong class='tag-b'>BugHunter</strong>, а твоя мегаконструкция связанные списки обработает? Все так же понятно?]]></description>
        <author>Ho Im</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216513</guid>
        <pubDate>Fri, 11 Aug 2006 21:14:29 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216513</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1216496'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>BugHunter &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T20:56:05+00:00">11.08.06, 20:56</time></span><div class='quote '>Посмотрю я на код через .. ну скаже, 10 лет. И всё будет понятно.  </div></div><br>
Угумс... Угумс... Только тебе нужно 5 строчек для того, для чего мне потребуется 1, и эта одна будет работать несколько эффективней и быстрее:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">vector&#60;...&#62;::iterator p = std::find_if(vec.begin(), vec.end(), CheckCondition);</div></ol></div></div></div></div>]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216496</guid>
        <pubDate>Fri, 11 Aug 2006 20:56:05 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216496</link>
        <description><![CDATA[BugHunter: Как там было у классика?.. &quot;Горе от ума&quot;?<br>
Все эти for_each и т.п. лямбды понятности в код не добавляют.<br>
Короче, я так и не понял, куда это - ф сад или ф топку.<br>
<br>
...<br>
ну, вот например:<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><br>
for( int i = 0; i &lt; vec.Size(); i++ ) {<br>
   if( CheckCondition( vec[i] ) ) {<br>
      break;<br>
   }<br>
}<br>
</div></div><br>
Посмотрю я на код через .. ну скаже, 10 лет. И всё будет понятно. Чего не скажешь о прожжоном STL коде.<br>
Да, если особо не злоупотреблять, то он будет таким же понятным. И почти без накладных расходов.<br>
именно за это я люблю C++ + STL::контейнеры.]]></description>
        <author>BugHunter</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216452</guid>
        <pubDate>Fri, 11 Aug 2006 19:55:04 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216452</link>
        <description><![CDATA[linuxfan: Пардон, вспомнил, что адекватные, но ограниченные.]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216441</guid>
        <pubDate>Fri, 11 Aug 2006 19:44:53 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216441</link>
        <description><![CDATA[best_lamer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1215758'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T15:00:11+00:00">11.08.06, 15:00</time></span><div class='quote '>Кстати, лямбды в питоне, кажется есть и вроде даже адекватные.</div></div><br>
<a class='tag-url' href='http://ru.diveintopython.org/apihelper_lambda.html' target='_blank'>В глубь языка Python</a><br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Python поддерживает интересный синтаксис, позволяющий определять небольшие однострочные функции на лету. <strong class='tag-b'>Позаимствованные из Lisp, так назыаемые lambda-функции</strong> могут быть использованы везде, где требуется функция.</div></div>]]></description>
        <author>best_lamer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216437</guid>
        <pubDate>Fri, 11 Aug 2006 19:40:42 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216437</link>
        <description><![CDATA[linuxfan: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1216424'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Red Devil &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T19:28:15+00:00">11.08.06, 19:28</time></span><div class='quote '>Все основные знаю, или по крайне мере знаком как с asm.</div></div><br>
Назови, плз ;)<br>
Вот список того, о чем я имею представление:<br>
C, C++, Pascal (сюде идет и Delphi), Java, basic (в т. ч. и с vba забавлялся), perl, php, python, bash (а чем не язык ;)), JavaScript, Rebol (было дело :), Lisp, Fortran, Assembler x86 (хоть для real mode, хоть для pm32; как intel&#39;овский, так и AT&#39;шный синтаксис).<br>
И вроде как получается Lisp с любым потягаться может. Не по скорости, конечно (хотя джаву, vba, perl, php, python, bash, javascript и rebol по скорости уделает без вопросов; с остальными может почти на равных быть, если icc в расчет не брать), но по удобству или хотя бы по красоте.]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216424</guid>
        <pubDate>Fri, 11 Aug 2006 19:28:15 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216424</link>
        <description><![CDATA[Red Devil: <strong class='tag-b'>linuxfan</strong><br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><br>
Или ты серьезно<br>
</div></div><br>
Сурьезно.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Ты так много инструментов разработки знаешь, чтобы такие выводы делать?</div></div><br>
Все основные знаю, или по крайне мере знаком как с asm.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Забабахай-ка мне на quick sort double&#39;ов на асме</div></div><br>
Я не могу полностью писать программы на asm. Только мелкие вставки. Прадва в скором времени исправлю этот недостаток.]]></description>
        <author>Red Devil</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216360</guid>
        <pubDate>Fri, 11 Aug 2006 18:46:01 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216360</link>
        <description><![CDATA[linuxfan: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1216330'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>trainer &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T18:18:22+00:00">11.08.06, 18:18</time></span><div class='quote '>Можно создать proxy-класс, перегрузить для него, например, operator&lt;&lt; и использовать примерно в таком стиле:</div></div><br>
А лишние накладные расходы, в т. ч. и на работу с прокси-классом и на написание прокси-классов для каждой функции?]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216330</guid>
        <pubDate>Fri, 11 Aug 2006 18:18:22 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216330</link>
        <description><![CDATA[trainer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1216135'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T17:03:52+00:00">11.08.06, 17:03</time></span><div class='quote '>А мне понадобилось законнектиться к localhost (host=NULL) без пароля, но к нестандартному порту 8765. У меня просто нет другого выхода, кроме как описать все параметры.</div></div>Можно создать proxy-класс, перегрузить для него, например, operator&lt;&lt; и использовать примерно в таком стиле:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">connect(default_connection_params()&#60;&#60;conn_port(8756));</div></ol></div></div></div></div><br>
или даже так:<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">connect(conn_port(8756));</div></ol></div></div></div></div>]]></description>
        <author>trainer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216312</guid>
        <pubDate>Fri, 11 Aug 2006 18:04:46 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216312</link>
        <description><![CDATA[linuxfan: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1216310'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Red Devil &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T18:02:59+00:00">11.08.06, 18:02</time></span><div class='quote '>У С++ есть только один конкурент - asm.</div></div><br>
Юмор прочитал. Шутку оценил.<br>
Или ты серьезно :blink:<br>
Ты так много инструментов разработки знаешь, чтобы такие выводы делать? :lol:<br>
Забабахай-ка мне на quick sort double&#39;ов на асме :D А потом говори кто кому конкурент :D <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-08-11T18:10:50+00:00">11.08.06, 18:10</time></span></span><br>
Желяющие померяться мультиметодами будут? ;)]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216310</guid>
        <pubDate>Fri, 11 Aug 2006 18:02:59 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216310</link>
        <description><![CDATA[Red Devil: У С++ есть только один конкурент - asm. Все остальное (тем более Лисп) и рядом не валялось.]]></description>
        <author>Red Devil</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216298</guid>
        <pubDate>Fri, 11 Aug 2006 17:55:11 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216298</link>
        <description><![CDATA[linuxfan: А еще в lisp&#39;е совершенно другой подход к ООП, поэтому там возможно легко и <em class='tag-i'>естественно</em> делать мультиметоды (интересующимся рекомендую просто почитать про этот паттерн).]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216228</guid>
        <pubDate>Fri, 11 Aug 2006 17:27:02 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216228</link>
        <description><![CDATA[mo3r: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1216135'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T17:03:52+00:00">11.08.06, 17:03</time></span><div class='quote '>И наглядно, и понятно, и удобно.</div></div><br>
В целом, да, но можно сделать перегрузки для различных комбинаций (но оно, конечно, будет менее удобно).]]></description>
        <author>mo3r</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216135</guid>
        <pubDate>Fri, 11 Aug 2006 17:03:52 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216135</link>
        <description><![CDATA[linuxfan: Кстати, вот такой вот изврат в lispe&#39;е можно осуществить:<br>
функция, возвращающая список из двух функций, одна из которых пишед в заданный файл, а другая -- закрывает его.<br>
Тут демонстируется то, что называется «lexical closure»<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">(defun make-logger (filename)</div><div class="code_line">&nbsp;&nbsp;(let ((log (open filename</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; :direction :output</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; :if-does-not-exist :create</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; :if-exists :append)))</div><div class="code_line">&nbsp;&nbsp; &nbsp;(values</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;(lambda (string)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;(format log &quot;~a~%&quot; string))</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;(lambda ()</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;(close log)))))</div></ol></div></div></div></div><br>
А вот так помле этого можно создавать функции, работающие с этим файлом (меня просто прикалывает этот изврат :D):<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">(mapcan</div><div class="code_line">&nbsp;&nbsp;#&#39;(lambda (name body)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;(setf (fdefinition name) body))</div><div class="code_line">&nbsp;&nbsp;&#39;(my-log my-log-close)</div><div class="code_line">&nbsp;&nbsp;(multiple-value-list (make-logger &quot;/tmp/out.log&quot;)))</div></ol></div></div></div></div><br>
Ессно, это полный изврат и так никто не делает. В этом случае в C++ создавать экземпляры классов с определенными методами, но тут другой интересный факт: лексическое связывание осуществляется в runtime. И это еще без макросов :) <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-08-11T17:12:22+00:00">11.08.06, 17:12</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1216103'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T16:55:36+00:00">11.08.06, 16:55</time></span><div class='quote '>count в данном случае для того, чтобы цикл не организовывать.</div></div><br>
:yes: Но его ведь можно и не указывать :)<br>
Покажи мне в C++ аналог именуюемых параметров.<br>
Со значениями по умолчанию -- есть, vararg&#39;и  (...) есть, а вот аналога &amp;key нету.<br>
Допустим, есть некая ф-ция подсоединения к БД, которая принимает на вход хост, логин, пароль и порт, причем хост, пароль и порт имеют значения по умолчанию, и пусть функция коннекта выглядит так (const не пишу из лени):<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">DBconnection *connect (char *login,char *pass=NULL,char *host=NULL,int port=5432)</div></ol></div></div></div></div><br>
А мне понадобилось законнектиться к localhost (host=NULL) без пароля, но к нестандартному порту 8765. У меня просто нет другого выхода, кроме как описать все параметры.<br>
Lisp-way:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">(defun connect (login &amp;key pass host (port 5432)) (...))</div></ol></div></div></div></div><br>
И вызов:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">(connect &quot;mylogin&quot; :port 8765)</div></ol></div></div></div></div><br>
И наглядно, и понятно, и удобно.]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216103</guid>
        <pubDate>Fri, 11 Aug 2006 16:55:36 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216103</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1216087'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T16:50:51+00:00">11.08.06, 16:50</time></span><div class='quote '>Ну хотя бы тем, что он умеет &quot;count&quot;</div></div><br>
И что? Методы типа erase тоже умеют удалять заданное количество элементов. count в данном случае для того, чтобы цикл не организовывать. Разве нет?]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216087</guid>
        <pubDate>Fri, 11 Aug 2006 16:50:51 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216087</link>
        <description><![CDATA[linuxfan: Ну хотя бы тем, что он умеет &quot;count&quot; :)]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216061</guid>
        <pubDate>Fri, 11 Aug 2006 16:34:10 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216061</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1216039'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T16:28:13+00:00">11.08.06, 16:28</time></span><div class='quote '>delte просто будет «покруче» плюсовых remove_if (кстати, в list и такое есть :))</div></div><br>
А чем именно?]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216039</guid>
        <pubDate>Fri, 11 Aug 2006 16:28:13 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1216039</link>
        <description><![CDATA[linuxfan: Не совсем так: delte просто будет «покруче» плюсовых remove_if (кстати, в list и такое есть :))]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215985</guid>
        <pubDate>Fri, 11 Aug 2006 16:10:08 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215985</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1215959'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T16:00:37+00:00">11.08.06, 16:00</time></span><div class='quote '>delete -- вызов функции delete (стандартная лисповская)<br>
затем идут два ее параметра: 0 (это то, чему должна равняться значение ключевой функции), затем a -- сам список.<br>
После этого идут keyword parameters (по-русски ИМХО это ближе всего к именованным параметрам):<br>
:cout 4 -- число удалений<br>
:from-end t -- булевый параметр, указывающий на то, что список надо ворошить с хвоста<br>
:key а тут надо предоставить функцию получения значения ключа; в качестве параметра передается элемент списка</div></div><br>
Т. е. в (не)монструозности лямбда-функции ни при чем. Ибо если бы небыло некоторых ограничений на предикаты (как то ограничение на сохранение состояния), то на С++ это тоже бы в одну строчку уместилось...]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215959</guid>
        <pubDate>Fri, 11 Aug 2006 16:00:37 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215959</link>
        <description><![CDATA[linuxfan: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1215926'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T15:49:13+00:00">11.08.06, 15:49</time></span><div class='quote '>Вопрос из за того, что с синтаксисом лиспа я не знаком.</div></div><br>
Не вопрос:<br>
delete -- вызов функции delete (стандартная лисповская)<br>
затем идут два ее параметра: <strong class='tag-b'>0</strong> (это то, чему должна равняться значение ключевой функции), затем <strong class='tag-b'>a</strong> -- сам список.<br>
После этого идут keyword parameters (по-русски ИМХО это ближе всего к именованным параметрам):<br>
:cout 4 -- число удалений<br>
:from-end t -- булевый параметр, указывающий на то, что список надо ворошить с хвоста<br>
:key а тут надо предоставить функцию получения значения ключа; в качестве параметра передается элемент списка<br>
#&#39; -- это что-то вроде операции взятия адреса функции (применимо только к функциям)<br>
а дальше идет сама лямбда-функция:<br>
(lambda (x) (mod x 3)) -- берет один аргумент, возвращает остаток от деления аргумента на 3.<br>
Ну а потом закрываются все скобки :)]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215951</guid>
        <pubDate>Fri, 11 Aug 2006 15:57:52 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215951</link>
        <description><![CDATA[mo3r: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1215915'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T15:46:33+00:00">11.08.06, 15:46</time></span><div class='quote '>Но все-таки тут нед лямбда-функций в чистом виде.</div></div><br>
Что значит --- в чистом виде? boost::lambda позволяет делать лямбды с if-ами, тернарным оператором, с киданием-ловлей исключений, с switch-case, for, while, do-while, конструкторами, деструкторами. Только goto нету (AFAIK). <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-08-11T15:58:44+00:00">11.08.06, 15:58</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1215948'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T15:55:58+00:00">11.08.06, 15:55</time></span><div class='quote '>Не, не проканает. Предикат не имеет право иметь состояние. А в данном случае count - это состояние предиката, хоть и неявное.</div></div><br>
Хм. Действительно...]]></description>
        <author>mo3r</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215948</guid>
        <pubDate>Fri, 11 Aug 2006 15:55:58 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215948</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1215933'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>mo3r &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T15:51:48+00:00">11.08.06, 15:51</time></span><div class='quote '>Значит, я неправильно понял. </div></div><br>
Не, не проканает. Предикат не имеет право иметь состояние. А в данном случае count - это состояние предиката, хоть и неявное.]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215933</guid>
        <pubDate>Fri, 11 Aug 2006 15:51:48 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215933</link>
        <description><![CDATA[mo3r: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1215858'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T15:31:43+00:00">11.08.06, 15:31</time></span><div class='quote '>mo3r, э нет. Это удалит все элементы, кратные трем из последних четырех.</div></div><br>
Значит, я неправильно понял. <br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">using namespace boost::lambda;//в прошлых примерах я забыл про это</div><div class="code_line">std::vector&#60;int&#62; vec;</div><div class="code_line">int count = 0;</div><div class="code_line">vec.erase(</div><div class="code_line">&nbsp;&nbsp;std::remove_if(</div><div class="code_line">&nbsp;&nbsp; &nbsp;vec.rbegin(),</div><div class="code_line">&nbsp;&nbsp; &nbsp;vec.rend(),</div><div class="code_line">&nbsp;&nbsp; &nbsp;(_1 % 3) == 0 &amp;&amp; var(count)++ &#60; 4</div><div class="code_line">&nbsp;&nbsp;),</div><div class="code_line">&nbsp;&nbsp;vec.end()</div><div class="code_line">);</div></ol></div></div></div></div><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1215858'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T15:31:43+00:00">11.08.06, 15:31</time></span><div class='quote '>Может в соседнюю тему переедем? Там вы меня попросите что-нибудь изобразить :)<br>
Только не слишком сложное -- lisp это хобби :)</div></div><br>
Тут уж я вряд ли смогу что-то сказать :) . Лисп я не особо знаю, но, думаю, что там можно <em class='tag-i'>многое</em>.]]></description>
        <author>mo3r</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215926</guid>
        <pubDate>Fri, 11 Aug 2006 15:49:13 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215926</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1215915'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T15:46:33+00:00">11.08.06, 15:46</time></span><div class='quote '>Но все-таки тут нед лямбда-функций в чистом виде. Это больше похоже на частный случай для предикатов.</div></div><br>
А что значит &quot;лямда-функций в чистом виде&quot;? Вопрос из за того, что с синтаксисом лиспа я не знаком. По этому если ты пояснишь что какая конструкция в твоей строчке:<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1215836'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T15:25:44+00:00">11.08.06, 15:25</time></span><div class='quote '>(delete 0 a :count 4 :from-end t :key #&#39;(lambda (x) (mod x 3)))</div></div><br>
обозначает - будет здорово.]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215915</guid>
        <pubDate>Fri, 11 Aug 2006 15:46:33 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215915</link>
        <description><![CDATA[linuxfan: Я так и знал, что в плюсах это будет выглядеть более монструозно.<br>
Кстати, я бы соптимизировал ;)<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;&nbsp; &nbsp;for (int n = 0; n &#60; 4; ++ n)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;std::vector&#60;int&#62;::reverse_iterator p = std::find_if(v.rbegin(), v.rend(), (_1 % 3) == 0);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if (p != v.rend())</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;v.erase((++p).base());</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;else</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div></ol></div></div></div></div><br>
Но все-таки тут нед лямбда-функций в чистом виде. Это больше похоже на частный случай для предикатов.]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215885</guid>
        <pubDate>Fri, 11 Aug 2006 15:39:42 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215885</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1215858'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T15:31:43+00:00">11.08.06, 15:31</time></span><div class='quote '>Я прошу четыре последних элемента, кратные трем.</div></div><br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;&nbsp; &nbsp;for (int n = 0; n &#60; 4; ++ n)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;std::vector&#60;int&#62;::reverse_iterator p = std::find_if(v.rbegin(), v.rend(), (_1 % 3) == 0);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if (p != v.rend())</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;v.erase((++p).base());</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div></ol></div></div></div></div><br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=150505' target='_blank'>Python vs Delphi</a>&quot;</span></span>]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215858</guid>
        <pubDate>Fri, 11 Aug 2006 15:31:43 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215858</link>
        <description><![CDATA[linuxfan: <strong class='tag-b'>mo3r</strong>, э нет. Это удалит все элементы, кратные трем из последних четырех.<br>
Я прошу <em class='tag-i'>четыре последних элемента, кратные трем</em>.<br>
Может в соседнюю тему переедем? Там вы меня попросите что-нибудь изобразить :)<br>
Только не слишком сложное -- lisp это хобби :)<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=150505' target='_blank'>Python vs Delphi</a>&quot;</span></span>]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215850</guid>
        <pubDate>Fri, 11 Aug 2006 15:28:59 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215850</link>
        <description><![CDATA[linuxfan: Что вам хочется увидеть из того, что на ваш взгляд элегеантно реализуется в плюсах?]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215849</guid>
        <pubDate>Fri, 11 Aug 2006 15:28:58 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215849</link>
        <description><![CDATA[mo3r: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1215836'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T15:25:44+00:00">11.08.06, 15:25</time></span><div class='quote '>А теперь удалять только последние 4, кратные трем :)</div></div><br>
Это, конечно, к лямбдам не относится, а скорее к алгоритмам, но...<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">std::vector&#60;int&#62; vec;</div><div class="code_line">vec.erase(</div><div class="code_line">&nbsp;&nbsp;std::remove_if(</div><div class="code_line">&nbsp;&nbsp; &nbsp;vec.size()&#60;4?vec.begin():vec.end()-4,</div><div class="code_line">&nbsp;&nbsp; &nbsp;vec.end(),</div><div class="code_line">&nbsp;&nbsp; &nbsp;(_1 % 3) == 0</div><div class="code_line">&nbsp;&nbsp;),</div><div class="code_line">&nbsp;&nbsp;vec.end()</div><div class="code_line">);</div></ol></div></div></div></div><br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=150505' target='_blank'>Python vs Delphi</a>&quot;</span></span>]]></description>
        <author>mo3r</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215836</guid>
        <pubDate>Fri, 11 Aug 2006 15:25:44 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215836</link>
        <description><![CDATA[linuxfan: А теперь удалять только последние 4, кратные трем :)<br>
Думаю, что беспокойство доставит удалить именно «последние четыре» :)<br>
Мне интересно, как это выглядит. Насколько близко это будет по простоте к<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">(delete 0 a :count 4 :from-end t :key #&#39;(lambda (x) (mod x 3)))</div></ol></div></div></div></div> <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-08-11T15:26:24+00:00">11.08.06, 15:26</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1215826'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T15:21:10+00:00">11.08.06, 15:21</time></span><div class='quote '>Дабы не было кивков в сторону &quot;накладных расходов&quot;. :)</div></div><br>
Сейчас я к накладным расходам придираться не буду, ибо в lisp&#39;е их по определению больше.<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=150505' target='_blank'>Python vs Delphi</a>&quot;</span></span>]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215826</guid>
        <pubDate>Fri, 11 Aug 2006 15:21:10 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215826</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1215776'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T15:04:11+00:00">11.08.06, 15:04</time></span><div class='quote '>Приведи пример кода, удаляющий все четные элементы из вектора с лямбдами.</div></div><br>
Пожалуйте:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&nbsp;&nbsp; &nbsp;using namespace lambda;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::vector&#60;int&#62; v(20);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;for (int n = 0; n &#60; v.size(); ++ n)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;v[n] = n;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::for_each(v.begin(), v.end(), std::cout &#60;&#60; _1 &#60;&#60; &quot;\n&quot;);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::cout &#60;&#60; std::endl;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;v.erase(std::remove_if(v.begin(), v.end(), (_1 % 2) == 0), v.end());</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::for_each(v.begin(), v.end(), std::cout &#60;&#60; _1 &#60;&#60; &quot;\n&quot;);</div></ol></div></div></div></div><br>
Выдает законные:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">0</div><div class="code_line">1</div><div class="code_line">2</div><div class="code_line">3</div><div class="code_line">4</div><div class="code_line">5</div><div class="code_line">6</div><div class="code_line">7</div><div class="code_line">8</div><div class="code_line">9</div><div class="code_line">10</div><div class="code_line">11</div><div class="code_line">12</div><div class="code_line">13</div><div class="code_line">14</div><div class="code_line">15</div><div class="code_line">16</div><div class="code_line">17</div><div class="code_line">18</div><div class="code_line">19</div><div class="code_line">&nbsp;</div><div class="code_line">1</div><div class="code_line">3</div><div class="code_line">5</div><div class="code_line">7</div><div class="code_line">9</div><div class="code_line">11</div><div class="code_line">13</div><div class="code_line">15</div><div class="code_line">17</div><div class="code_line">19</div></ol></div></div></div></div> <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-08-11T15:24:04+00:00">11.08.06, 15:24</time></span></span><br>
Если интересно - приведу ассемблерный листиг любого из for_each. Дабы не было кивков в сторону &quot;накладных расходов&quot;. :)<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=150505' target='_blank'>Python vs Delphi</a>&quot;</span></span>]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215813</guid>
        <pubDate>Fri, 11 Aug 2006 15:16:21 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215813</link>
        <description><![CDATA[mo3r: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1215776'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T15:04:11+00:00">11.08.06, 15:04</time></span><div class='quote '>Кстати, а в каком языке лямбда может быть lecsical closure (т. е. захватывать биндинги из точки основания)? Мне на ум приходит только Java с ее anonymous (так чтоли называются?) классами.</div></div><br>
Например, в тех же плюсах. Используя boost::lambda::var, boost::lambda::constant, boost::lambda::constant_ref.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1215776'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T15:04:11+00:00">11.08.06, 15:04</time></span><div class='quote '>Приведи пример кода, удаляющий все четные элементы из вектора с лямбдами.</div></div><br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">std::vector&#60;int&#62; vec;</div><div class="code_line">vec.erase(</div><div class="code_line">&nbsp;&nbsp;std::remove_if(</div><div class="code_line">&nbsp;&nbsp; &nbsp;vec.begin(),</div><div class="code_line">&nbsp;&nbsp; &nbsp;vec.end(),</div><div class="code_line">&nbsp;&nbsp; &nbsp;_1 % 2 == 0</div><div class="code_line">&nbsp;&nbsp;),</div><div class="code_line">&nbsp;&nbsp;vec.end()</div><div class="code_line">);</div></ol></div></div></div></div><br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=150505' target='_blank'>Python vs Delphi</a>&quot;</span></span>]]></description>
        <author>mo3r</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215776</guid>
        <pubDate>Fri, 11 Aug 2006 15:04:11 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215776</link>
        <description><![CDATA[linuxfan: Кстати, а в каком языке лямбда может быть lecsical closure (т. е. захватывать биндинги из точки основания)? Мне на ум приходит только Java с ее anonymous (так чтоли называются?) классами.<br>
А в плюсах лямбды -- это чистой воды костыль.<br>
C++ и Delphi вообще языки с полустатической типизацией. Как их можно с Python сравнивать? <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-08-11T15:05:31+00:00">11.08.06, 15:05</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1215769'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T15:02:15+00:00">11.08.06, 15:02</time></span><div class='quote '>Ткни пальцем в уродливость...</div></div><br>
Приведи пример кода, удаляющий все четные элементы из вектора с лямбдами.<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=150505' target='_blank'>Python vs Delphi</a>&quot;</span></span>]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215769</guid>
        <pubDate>Fri, 11 Aug 2006 15:02:15 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215769</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1215758'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>linuxfan &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T15:00:11+00:00">11.08.06, 15:00</time></span><div class='quote '>Выглядит эта возможность именно костылем. Уродливо т. е.</div></div><br>
Ткни пальцем в уродливость...<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=150505' target='_blank'>Python vs Delphi</a>&quot;</span></span>]]></description>
        <author>Flex Ferrum</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215758</guid>
        <pubDate>Fri, 11 Aug 2006 15:00:11 +0000</pubDate>
        <title>Lisp vs C++</title>
        <link>https://forum.sources.ru/index.php?showtopic=151132&amp;view=findpost&amp;p=1215758</link>
        <description><![CDATA[linuxfan: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1215591'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T13:48:42+00:00">11.08.06, 13:48</time></span><div class='quote '>Это означает, что эти функции могут быть реализованы средставми языка.</div></div><br>
Знаешь, на ассемблере ведь тоже можно написать веб-сервер, но что-то никто желания пока не изъявлял.<br>
Спасибо, но меня воротит от плюсового синтаксиса в области шаблонов. Я асм легче читаю, чем <em class='tag-i'>такой</em> код.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=151132&view=findpost&p=1215591'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2006-08-11T13:48:42+00:00">11.08.06, 13:48</time></span><div class='quote '>По этому про &quot;костыли&quot; - не надо.</div></div><br>
Выглядит эта возможность именно костылем. Уродливо т. е.<br>
<br>
Раз уж все равно в оффтоп скатились, может, померяемся стандартными библиотеками?<br>
Как там у вас в плюсах/дельфях/питоне удаляют элементы из контейнера?<br>
Хочу удалить четыре последних элемента, кратных трем.<br>
Прошу заметить, что первая строчка всего лишь инициализирует последовательность.<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">(setq a (loop for i from 1 to 32 collect i))</div><div class="code_line">(remove 0 a :count 4 :from-end t :key #&#39;(lambda (x) (mod x 3)))</div></ol></div></div></div></div><br>
Ну давайте ваши лямбды сюда&#33; <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2006-08-11T15:01:20+00:00">11.08.06, 15:01</time></span></span><br>
Кстати, лямбды в питоне, кажется есть и вроде даже адекватные.<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Это сообщение было перенесено сюда или объединено из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=150505' target='_blank'>Python vs Delphi</a>&quot;</span></span>]]></description>
        <author>linuxfan</author>
        <category>Holy Wars</category>
      </item>
	
      </channel>
      </rss>
	