<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" version="2.0">
  <channel>
    <title>Форум 'Философия программирования' на RSDN.RU</title>
    <link>http://www.rsdn.ru/Forum/philosophy/</link>
    <description />
    <category>philosophy</category>
    <language>ru-ru</language>
    <copyright>Copyright ©, RSDN.ru, 2001-2007</copyright>
    <webMaster>webmaster@rsdn.ru</webMaster>
    <generator>RSDN RSS Generator 1.3</generator>
    <image>
      <url>http://www.rsdn.ru/rsdn.gif</url>
      <title>RSDN.RU</title>
      <link>http://www.rsdn.ru</link>
    </image>
    <lastBuildDate>Fri, 12 Mar 2010 02:31:03 GMT</lastBuildDate>
    <ttl>5</ttl>
	<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/rsdn/philosophy" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="rsdn/philosophy" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Свежий взгляд на IDE</title>
		<link>http://www.rsdn.ru/Forum/philosophy/3732256.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/3732256.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/3732256.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=3732256</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/3732256.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=3732256</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Доброго времени суток,&lt;br /&gt;
&lt;br /&gt;
натнулся тут на любопытный ролик &lt;a href="http://www.cs.brown.edu/people/acb/codebubbles_site.htm" class="m" target="_blank"&gt;здесь&lt;/a&gt;&lt;br /&gt;
Он демонстрирует свежий подход к организации интерфейсп пользователя IDE (по крайней мере авторы нашли применение огромным расширениям современных широкоформатных дисплеев). Авторы предлагают опять-таки отойти от привычной парадигмы работы с текстовыми файлами, и рассматривать отдельные куски кода, которые пользователь в процессе работы может как угодно группировать, для облегчения навигации по коду. При этом не затрагивая структуры файлов.&lt;br /&gt;
По крайней мере выглядит это эффектно. &lt;br /&gt;
Вопрос собственно говоря следующий &amp;mdash; имеет ли подобная технология право на жизнь, или это просто никому не нужное украшательство, за которым приятно наблюдать, но не работать?&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/0-TPQMvADUA" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Thu, 11 Mar 2010 18:36:56 GMT</pubDate>
		
			<author>DrDred &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>18</slash:comments>
		
	</item>

	<item>
		<title>Цена МН</title>
		<link>http://www.rsdn.ru/Forum/philosophy/3728786.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/3728786.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/3728786.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=3728786</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/3728786.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=3728786</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Навеяно веткой "[ООП] Хочу странного".&lt;br /&gt;
&lt;br /&gt;
Как известно, все имеет свою цену. В том числе, наличие множественного наследования и его отсутствие. Поэтому для вменяемых людей вопроса "Быть МН или не быть" не стоит. Стоит вопрос, что перевешивает в данных конкретных обстоятельствах. Если бы МН ничего не стоил, так кому бы он мешал.&lt;br /&gt;
&lt;br /&gt;
Так вот, пытаясь сообразить, какова цена МН, понял, что все читанные мной дискуссии крутятся вокруг того, что МН позволяет наделать гадостей. Но ведь это цена, которую платит создатель языка, а не программист. Микрософту захотелось, чтобы язык пользовался репутацией надежного, и они поубирали оттуда все, что представляло опасность, в том числе, наследование. Но это именно цена, предъявленная Микрософту, потому, что программисты одной группы какого-нибудь ISV вполне могут просто договориться не пользоваться МН, и сам язык тут не при чем.&lt;br /&gt;
&lt;br /&gt;
Так вот, а какова цена, предъявленная за наличие МН именно программисту? Допустим, в C# добавили бы МН, что бы мы неизбежно потеряли? Студия бы тормозила от повысившейся сложности?&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/IACFJLbOd54" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Tue, 09 Mar 2010 10:11:14 GMT</pubDate>
		
			<author>SV. &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>9</slash:comments>
		
	</item>

	<item>
		<title>Какой длины должно быть имя файла?</title>
		<link>http://www.rsdn.ru/Forum/philosophy/3728668.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/3728668.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/3728668.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=3728668</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/3728668.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=3728668</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Не знаю, соответствует ли данный форум вопросу, но пока спрошу тут.&lt;br /&gt;
Какой максимальной длины должно быть имя файла?&lt;br /&gt;
И какой максимальной длины может быть имя пекеджа?&lt;br /&gt;
Как вы думаете?&lt;br /&gt;
Есть какие-то ограничения?&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/lbqhfA9bTX0" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Tue, 09 Mar 2010 08:56:11 GMT</pubDate>
		
			<author>dneprq &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>4</slash:comments>
		
	</item>

	<item>
		<title>Современные проблемы программирования</title>
		<link>http://www.rsdn.ru/Forum/philosophy/3727873.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/3727873.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/3727873.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=3727873</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/3727873.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=3727873</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Пишу код и решил проанализировать, почему несмотря на наличие среды разработки, простой язык, всяческие конструкции управления так долго приходится писать вообщем то простые вещи. Пришел к выводу, что большую часть времени занимает написание кода преобразования данных их одних форматов в другие: из полей в таблицы, из массивов в строки и наборот.&lt;br /&gt;
Вот получили результат вычисления, но дальше кго надо перепаковать в другой формат и отдать другой процедуре на обработку, определить соответсвие переменных, считай  &amp;mdash; понятий. Понятия эти проходят НАД программой в момент её проектирования, но прячутся, как жевачка в волосах В ТЕКСТЕ, когда программу пишешь или еще хуже &amp;mdash; читаещь чужой код.&lt;br /&gt;
&lt;br /&gt;
Прихожу к выводу, что объекты &amp;mdash; это только "часть правды". Объекты, как концентрация нашего "проектного представления" о программе безусловно полезны. Но вот если бы еще вынети ДАННЫЕ на верхушку программы и вынести их как обязательную конструкцию. Данные &amp;mdash; унифицировать по строению,  &amp;mdash; как таблицы в СУБД. А между ними прописать явняе отношения &amp;mdash; как особые конструкции вроде SQL. Вызова процедур и функций как последовательности операторов избегать совсем. Функция &amp;mdash; пусть будет как объект, который может принять на себя ДАННЫЕ, и выдать ДАННЫЕ, которые уже вынесены в отдельную область программы. Функция &amp;mdash; по сути носитель отношения. Они могут образовывать суперпозиции &amp;mdash; опять аналогия с SQL. Добавить принцип &amp;mdash; любые данные могут быть рождены только одной функцией, но потребляться могут несколькими &amp;mdash; и программы превратятся в понятные, легко конструируемые графы. &lt;br /&gt;
Ваше мнение.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/MPyRMbRf-GU" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Mon, 08 Mar 2010 12:26:37 GMT</pubDate>
		
			<author>salog &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>23</slash:comments>
		
	</item>

	<item>
		<title>[ООП] Хочу странного</title>
		<link>http://www.rsdn.ru/Forum/philosophy/3727795.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/3727795.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/3727795.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=3727795</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/3727795.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=3727795</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;При спорах вида "С++ vs X", где Х &amp;mdash; любой объектно-ориентированный ЯП, поддерживающий единичное наследование, неизбежно возникает ответвление спора на тему "множественное наследование vs. единичное наследование". Защитники МН упирают на бОльшую гибкость и возможности, которые дает МН, противники &amp;mdash; на то, что МН усложняет реализацию языка, сам язык и что МН вообще не нужно. &lt;br /&gt;
&lt;br /&gt;
Мое личное мнение состоит в том, что если рассматривать классическое ООП в стиле Smalltalk, то правы оппоненты МН. Если же рассматривать ООП и как инструмент создания архитектурного каркаса ПО, то я выступаю за МН, ибо он дает хорошие возможности по комбинации функциональности, в частности реализуя возможность mixin-style. &lt;br /&gt;
&lt;br /&gt;
Теперь, собственно, к странному. А надо ли вообще в языке иметь наследование реализации в том виде, в котором это сделано в том же C++/C#/Deplhi/Java т.д.? Что в этих языках имеется в виду, когда говорится "Класс Б наследует класс А"? Имеется в виду две вещи:&lt;br /&gt;
1. Класс Б является подтипом А, т.е. поддерживает интерфейс класса А, и является легальным для применения везде, где можно применять А. Это Liskov substitution principle (&lt;a href="http://en.wikipedia.org/wiki/Liskov_substitution_principle" class="m" target="_blank"&gt;http://en.wikipedia.org/wiki/Liskov_substitution_principle&lt;/a&gt;). &lt;br /&gt;
2. Класс Б наследует всю реализацию класса А, его поля и методы, т.е. повторно использует реализацию класса А. &lt;br /&gt;
&lt;br /&gt;
Другими словами, в таком наследовании мы имеем смешение двух идей:&lt;br /&gt;
1. Абстракция через обобщение.&lt;br /&gt;
2. Повторное использование кода.&lt;br /&gt;
&lt;br /&gt;
Что если принципиально разделить эти вещи? Абстракция через обобщение в чистом виде есть во многих языка в виде интерфейсов, которые, кстати, поддерживают множественное наследование даже там, где классы поддерживают только единичное. Повторное использование кода тоже возможно другим способом &amp;mdash; через композицию объектов. Единственное, чего нет &amp;mdash; это синтаксически хорошо оформленное делегирование реализации интерфейса/части интерфейса композитам, из которых составлен класс-композиция. Но это не сложный аспект, который можно реализовать.&lt;br /&gt;
&lt;br /&gt;
Данный подход не имеет тех недостатков МН, на которые упирают его противники и в то же время он обеспечивает все его возможности + кое-что сверху. Ваши мнения, коллеги?&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/3QRuYeTOdoI" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Mon, 08 Mar 2010 10:31:51 GMT</pubDate>
		
			<author>0x7be &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>126</slash:comments>
		
	</item>

	<item>
		<title>Динамические языки и переменные</title>
		<link>http://www.rsdn.ru/Forum/philosophy/3726222.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/3726222.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/3726222.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=3726222</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/3726222.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=3726222</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Вопрос такой.&lt;br /&gt;
Многие динамические языки позволяют неявно объявлять переменные (некоторые даже и вовсе не имеют синтаксиса для явного объявления, но это другой вопрос).&lt;br /&gt;
При этом в ряде случае такое объявление не рекомендуется.&lt;br /&gt;
&lt;br /&gt;
Возьмем всем известный ДжаваСкрипт. Там объявление переменной без var считается моветоном, хотя бы потому что его семантика кардинально отличается от объявления с var (однако по коду это совершенно неочевидно):&lt;br /&gt;
&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
&lt;span class='kw'&gt;function&lt;/span&gt; Foo()
{
  &lt;span class='kw'&gt;var&lt;/span&gt; x = 1; &lt;span class='com'&gt;//переменная в скопе Foo&lt;/span&gt;
  y = 2; &lt;span class='com'&gt;//А вот уже переменная в глобальном скопе&lt;/span&gt;
}&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
Если рассматривать проблему с т.з. ДжаваСкрипта, то там и вовсе становится непонятно, зачем нужна возможность неявного объявления. Я, к примеру, так не пишу никогда.&lt;br /&gt;
Но с другой стороны вышеуказанный пример и:&lt;br /&gt;
&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
&lt;span class='kw'&gt;var&lt;/span&gt; obj = {};
...
obj.y = 2;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
Вещи в принципе родственные.&lt;br /&gt;
&lt;br /&gt;
Собственно, мой вопрос, как вы считаете &amp;mdash; если в языке есть синтаксис для явного объявления переменных, насколько необходима поддержка неявного объявления? Если эту возможность убрать (т.е. в примере выше была бы ошибка) потеряет ли язык в выразительности?&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/iNmnOt3SH7I" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Fri, 05 Mar 2010 15:46:00 GMT</pubDate>
		
			<author>Воронков Василий &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>106</slash:comments>
		
	</item>

	<item>
		<title>var/alias</title>
		<link>http://www.rsdn.ru/Forum/philosophy/3724819.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/3724819.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/3724819.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=3724819</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/3724819.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=3724819</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Неоднократно видел в коде, как переменные создавались только для того, чтоб не писать везде далее исходное выражение.&lt;br /&gt;
&lt;br /&gt;
Например:&lt;br /&gt;
&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
&lt;span class='kw'&gt;bool&lt;/span&gt; bLalamba = pEnga-&amp;gt;InternalLalamba.LalambaMember;
...
Foo(bLalamba);
Bar(bLalamba);
&lt;span class='kw'&gt;return&lt;/span&gt; bLalamba;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
С выведением типов это немножко красивее:&lt;br /&gt;
&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
&lt;span class='kw'&gt;var&lt;/span&gt; lalamba = enga.InternalLalamba.LalambaMember;
...
Foo(lalamba);
Bar(lalamba);
&lt;span class='kw'&gt;return&lt;/span&gt; lalamba;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
Созрели вопросы: что эффективнее в современных компиляторах &amp;mdash; заводить переменную на стеке или несколько раз находить адрес? Кэшируется ли для этого адрес? Есть ли языки, где кроме var'а доступен какой-нибудь alias (если бы не глобальность плюсовых макросов, они бы сгодились)?&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/G5OFWUQRKdM" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Thu, 04 Mar 2010 11:06:25 GMT</pubDate>
		
			<author>SV. &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>6</slash:comments>
		
	</item>

	<item>
		<title>Вопрос по грамматике</title>
		<link>http://www.rsdn.ru/Forum/philosophy/3724605.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/3724605.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/3724605.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=3724605</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/3724605.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=3724605</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Бизон выдает 2 конфликта сдвиг/свертка на следующей грамматике:&lt;br /&gt;
&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
%left ADD
%left MUL

%%

expr : expr bin_op expr
    | NAT
    ;

bin_op : ADD
    | MUL
    ;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
Один человек, разбирающийся в подобных вещах, сказал, что грамматик, допускающих подобным образом выделение bin_op в отдельное правило без кофликтов, не существует. Мне не верится &amp;mdash; ни GLR, ни Earley? Выглядит так просто. Хотелось бы услышать еще подтверждение &amp;mdash; он прав?&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/nYUBBUVZ_sc" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Thu, 04 Mar 2010 08:11:28 GMT</pubDate>
		
			<author>DSblizzard &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>18</slash:comments>
		
	</item>

	<item>
		<title>out- и ref-параметры.</title>
		<link>http://www.rsdn.ru/Forum/philosophy/3714074.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/3714074.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/3714074.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=3714074</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/3714074.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=3714074</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Коллеги!&lt;br /&gt;
Предлагаю обсудить применение out- и ref-параметров, их достоинства и недостатки. Причем, в рамках существующих индустриальных языков (лично меня интересуют C++ и С#). У меня сложилось интуитивное ощущение, что их использование &amp;mdash; это code-smell и вообще дело нехорошее. У меня есть на этот счет кое-какая аргументация, но хочу услышать мнения корифеев. Ссылки на статьи, где плюсы и минусы сабжа хорошо раскрываются, приветствуются.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/OOMXtnmmw2E" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Mon, 22 Feb 2010 20:02:16 GMT</pubDate>
		
			<author>0x7be &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>72</slash:comments>
		
	</item>

	<item>
		<title>Вопрос по приемлемости синтаксисической конструкции</title>
		<link>http://www.rsdn.ru/Forum/philosophy/3712741.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/3712741.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/3712741.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=3712741</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/3712741.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=3712741</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Как бы вы отнеслись к конструкции&lt;br /&gt;
&lt;table width='96%'&gt;&lt;tr&gt;&lt;td nowrap='nowrap' class='c'&gt;&lt;pre&gt;
for i in 0..10&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;в которой 0..10 означает от 0 (включительно) до 9 (включительно), а не от 0 до 10?&lt;br /&gt;
На странице "syntax across languages" нет ни одного ЯП с таким правилом.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/SxE1PjeRsTU" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Sun, 21 Feb 2010 07:17:04 GMT</pubDate>
		
			<author>DSblizzard &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>30</slash:comments>
		
	</item>

	<item>
		<title>Фокус с копирайтом</title>
		<link>http://www.rsdn.ru/Forum/philosophy/3707559.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/3707559.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/3707559.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=3707559</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/3707559.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=3707559</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Производим следующие действия, следите за руками &lt;img border='0' width='15' height='15' src='http://www.rsdn.ru/Forum/images/smile.gif' /&gt;&lt;br /&gt;
&lt;br /&gt;
Берём исходники ядра linux и лезем, например, в файл cgroup_debug.с&lt;br /&gt;
В license header этого файла читаем:&lt;br /&gt;
  Copyright (C) Google Inc, 2007&lt;br /&gt;
&lt;br /&gt;
Или, например, в relay.c видим:&lt;br /&gt;
  Copyright (C) 2002-2005 &amp;mdash; Tom Zanussi (zanussi@us.ibm.com), IBM Corp&lt;br /&gt;
&lt;br /&gt;
Получается, GPL &amp;mdash; не GPL, а копирайты всё равно торчат, как опята на пне?&lt;br /&gt;
Я всегда думал: копирайт == исключительное право копирования. Проведите ликбез, пожалуйста, а то я даже не знаю, как вопрос для гугла сформировать.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/th_cF-Xwj1Q" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Wed, 17 Feb 2010 07:26:20 GMT</pubDate>
		
			<author>Кирилл Блаженнов &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>2</slash:comments>
		
	</item>

	<item>
		<title>Linq : неудачный маркетинг?</title>
		<link>http://www.rsdn.ru/Forum/philosophy/3707138.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/3707138.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/3707138.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=3707138</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/3707138.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=3707138</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Добрый день.&lt;br /&gt;
&lt;br /&gt;
По опыту своих бесед с программистами, не знакомыми с linq, я собрал ряд стереотипных заблуждений и проблем с пониманеим linq, которые у них встречаются. В целом среди них преобладает такое мнение "это убогий SQL в С#, зачем он нужен?". Все попытки объяснить, что linq является воплощением аппарата операций над множествами, который ортогонален языку, и с необходимостью которого никто не спорит, сталкиваются с такой стеной непонимания. Это приводит меня к мысли, что linq подан неудачно. Его SQL-подобный синтаксис вызывает затруднения и у тех кто не знаком с SQL (выглядит больно непривычно) и у тех, кто знаком (не совсем понимают, что SQL делает в языке и сталкиваются с тем, что синтаксис всего лишь похож, а не повторяет SQL). Мое мнение по этому поводу: Linq &amp;mdash; хорошая штука, но неудачно подан. Ваши мнения?&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/rUSSEjNmPgE" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Tue, 16 Feb 2010 20:55:36 GMT</pubDate>
		
			<author>0x7be &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>464</slash:comments>
		
	</item>

	<item>
		<title>что есть приемлемо...</title>
		<link>http://www.rsdn.ru/Forum/philosophy/3704952.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/3704952.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/3704952.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=3704952</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/3704952.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=3704952</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Тема, конечно, не новая, но вот недавно проскочило одно сообщение, из-за которого я решил ее еще раз поднять.&lt;br /&gt;
&lt;br /&gt;
Мне тут уже сто раз говорили : качественное ПО &amp;mdash; это ПО, которое удовлетворяет требованиям пользователя.&lt;br /&gt;
&lt;br /&gt;
И вот такое сообщение&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.rsdn.ru/forum/dotnet/3701783.1.aspx" title="BinaryFormatter.Deserialize работает медленно :(" class=" tips m" rel="#m3701783" target="_blank"&gt;http://rsdn.ru/forum/dotnet/3701783.1.aspx&lt;div class="tooltip" id="m3701783"&gt;Автор: marx paul&lt;br /&gt;Дата: 11.02 22:57&lt;/div&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Я не намерен здесь обсуждать дотнет.&lt;br /&gt;
Я не намерен обсуждать сериализацию ни как идею, ни как автор ее использует. Тем более, что ниже по ветке приведено иное решение, с иными совсем характеристиками. Его я также не намерен обсуждать.&lt;br /&gt;
&lt;br /&gt;
Я просто одну фразу хочу прокомментировать.&lt;br /&gt;
&lt;span class='lineQuote'&gt;&lt;br /&gt;
&amp;gt;Сериализация проходит за приемлемое время...Скажем, 3 милиона элементов Dictionary сериализуются за 2 минуты в файл размером 150 МБ. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Так вот.&lt;br /&gt;
&lt;br /&gt;
Вывод данных в файл размером в 150 Мб , если данные уже готовы и находятся в ОП, должен производиться за несколько секунд. &lt;br /&gt;
&lt;br /&gt;
А автор пишет &amp;mdash; 2 минуты приемлемое время. &lt;br /&gt;
&lt;br /&gt;
А что значит приемлемое ? Пользователя устраивает ? Видимо, да. Появляется какой-то там диалог с песочными часами, ждите 2 минуты... Пользователь доволен &amp;mdash; все работает, ну а то, что приходится ждать 2 минуты &amp;mdash; что же поделать, программа сложная, данных много (миллионы!), так что терпите. Вот 20 минут на десериализацию убедить пользователя подождать, видимо, уже не удается.&lt;br /&gt;
&lt;br /&gt;
Вот к чему приводит этот критерий "качества", с позволения сказать.&lt;br /&gt;
&lt;br /&gt;
Вот и имеем дело мы с таким "качественным" ПО. С Visual Studio, которая solution с парой проектов грузит десяток-два секунд. С Office или Open Office, который стартует десяток секунд.&lt;br /&gt;
&lt;br /&gt;
Мы к этому уже привыкли. Это для нас приемлемо. Использовать мощность компьютера на 5-10% &amp;mdash; это приемлемо.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/ecOixBCgN3k" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Mon, 15 Feb 2010 10:08:53 GMT</pubDate>
		
			<author>Pavel Dvorkin &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>245</slash:comments>
		
	</item>

	<item>
		<title>Джоэл. И снова о программировании</title>
		<link>http://www.rsdn.ru/Forum/philosophy/3703639.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/3703639.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/3703639.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=3703639</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/3703639.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=3703639</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;&lt;b&gt;Статья:&lt;/b&gt; &lt;br /&gt;
&lt;a href="http://www.rsdn.ru/article/?1040" title="Джоэл Спольски. Джоэл. И снова о программировании" class=" tips m" rel="#a1040" target="_blank"&gt;Джоэл Спольски. Джоэл. И снова о программировании&lt;div class="tooltip" id="a1040"&gt;Автор(ы): Джоэл Спольски&lt;br /&gt;
&lt;br /&gt;
Продолжение вышедшего в 2006 году бестселлера &amp;quot;Джоэл о программировании&amp;quot; представляет собой подборку самых популярных статей. Исключительный писательский талант, техническая эрудиция и язвительный ум Джоэла создали ему высочайшую профессиональную репутацию и принесли его сайту скандальную известность. В книге затронуты разнообразные вопросы, касающиеся разработки и проектирования программного обеспечения, управления софтверным бизнесом, эффективного поиска и привлечения высококлассных сотрудников, организации рабочего места и общения с заказчиками. Автор предлагает практические советы как программистам, так и тем, кто руководит их работой.&lt;/div&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Авторы:&lt;/b&gt;&lt;br /&gt;
 &lt;a href="http://www.rsdn.ru/users/34036.aspx" class="m" target="_blank"&gt;Сергей Тепляков&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Аннотация:&lt;/b&gt; &lt;br /&gt;
Продолжение вышедшего в 2006 году бестселлера "Джоэл о программировании" представляет собой подборку самых популярных статей. Исключительный писательский талант, техническая эрудиция и язвительный ум Джоэла создали ему высочайшую профессиональную репутацию и принесли его сайту скандальную известность. В книге затронуты разнообразные вопросы, касающиеся разработки и проектирования программного обеспечения, управления софтверным бизнесом, эффективного поиска и привлечения высококлассных сотрудников, организации рабочего места и общения с заказчиками. Автор предлагает практические советы как программистам, так и тем, кто руководит их работой.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/6htqk1W0STo" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Sat, 13 Feb 2010 13:18:21 GMT</pubDate>
		
			<author>Сергей Тепляков &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>2</slash:comments>
		
	</item>

	<item>
		<title>Формальные ЯП и мейнстрим</title>
		<link>http://www.rsdn.ru/Forum/philosophy/3699528.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/3699528.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/3699528.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=3699528</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/3699528.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=3699528</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Навеяно веткой &lt;a href="http://www.rsdn.ru/forum/education/3698061.1.aspx" title="Интересная статья Парнаса о верификации программ." class=" tips m" rel="#m3698061" target="_blank"&gt;Интересная статья Парнаса о верификации программ&lt;div class="tooltip" id="m3698061"&gt;Автор: LaptevVV&lt;br /&gt;Дата: 09.02 00:59&lt;/div&gt;&lt;/a&gt;. Чтобы не оффтопить, вынес сюда.&lt;br /&gt;
&lt;br /&gt;
Исходный посыл (deniok):&lt;br /&gt;
&lt;blockquote class='q'&gt;&lt;p&gt;Уже всем давно понятно, что современные мейнстримовые языки должны умереть — у них абстракции текут; нет определенной формальной семантики, только стандарты "юридического" качества; ПО на них написанное без аннотирования, требующего работы на порядок бОльшей, чем затрачено на его написание, не допускает мало-мальски содержательного формального анализа.&lt;/p&gt;&lt;/blockquote&gt;
&lt;br /&gt;
Вопрос: а как вы представляете формальные ЯП, способные потеснить сегодняшний мейнстрим?&lt;br /&gt;
&lt;br /&gt;
Я вот никак, по ряду причин:&lt;br /&gt;
&lt;br /&gt;
1) Как уже упоминалоь где-то рядом, разработка ПО хорошо так специализирована. Что хорошо для "ПО на выброс", то не пойдёт в корпоратив и наоборот. Сегодняшний мейнстрим &amp;mdash; жуткая солянка, где каждый язык хорош в своей нише и недостаточно силён, чтобы влезть в чужую.&lt;br /&gt;
1.1) На самом деле, слегка неправильно вообще говорить только об ЯП в контексте "кто кого заборет". Сопутствующий toolset и возможность взаимодёйствия с внешним API зачастую куда важнее всех фишек языка, особенно если mind model не совпадают.&lt;br /&gt;
&lt;br /&gt;
2) Мейнстрим такой мейнстрим &amp;mdash; либо решаем насущные задачи быстро/легко/дёшево/поддерживаемо (нужное зачеркнуть), либо в мейнстрим не лезем. А из насущных задач у нас что?&lt;br /&gt;
а) докрутить TUniversalComponent до рабочего состояния&lt;br /&gt;
б) автоматизировать бардак&lt;br /&gt;
в) как бы изловчиться и пнуть чужую систему чтобы она заработала.&lt;br /&gt;
г) найти ошибку в сложной логике с кучей условий и неочевидным code flow.&lt;br /&gt;
Как тут помогут формальные ЯП &amp;mdash; хз.&lt;br /&gt;
2.1) Единственный почти декларативный мейнстримовый язык &amp;mdash; SQL &amp;mdash; хорошо показывает результат "хорошая идея vs суровая действительность".&lt;br /&gt;
&lt;br /&gt;
3) Практически весь "свежий мейнстрим" &amp;mdash; либо императивщина + чуть-чуть фп, либо декларативные высокоуровневые протоколы/стандарты описания данных (читай XML). На описание семантики никто не замахивается. Т.к. много их, ваших семантик. Плюс потихоньку пролазит декларативщина на низкий уровень, главным образом для описания state-машин (описание драйверов в сингулярити, &lt;a href="http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx" class="m" target="_blank"&gt;Axum&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
4) Если посмотреть на "мейнстрим из завтра",  то у нас чётко видно 2 направления: виртуализация чего только можно и смесь DSL с императивщиной. На "формальная модель-&amp;gt;код" никто пока не замахивается.&lt;br /&gt;
&lt;br /&gt;
5) Возможность формальной валидации тьюринг-полного языка очень и очень сомнительна из-за нереальной размерности пространства состояний и слишком сложной формальной модели (по сравнению с реализацией "в лоб").&lt;br /&gt;
5.1) Валидность формальной модели вовсе не означает отсутствие ошибок в алгоритме, т.е. решающего превосходства формального подхода что-то не видно.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/p6losxcAJ3s" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Wed, 10 Feb 2010 09:13:05 GMT</pubDate>
		
			<author>Sinix &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>25</slash:comments>
		
	</item>

	<item>
		<title>обособление аргументов</title>
		<link>http://www.rsdn.ru/Forum/philosophy/3675662.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/3675662.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/3675662.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=3675662</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/3675662.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=3675662</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Здравствуйте всем.&lt;br /&gt;
Вопрос как по мне слегка надуманный, да и вообще у кого-то может вызвать праведную истерику. Кто-нибудь из присутствующих программистов когда-нибудь наперекор code конвенциям обособлял аргументы функций по краям пробелами? func( a, b ), вместо func(a, b), или это сродни придури? Спасибо.&lt;br /&gt;
&lt;br /&gt;
&lt;div class='mod'&gt;24.01.10 02:56: Перенесено модератором из 'Архитектура программного обеспечения' &amp;mdash; AndrewVK&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/v-7J6Z6hHas" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Thu, 21 Jan 2010 05:11:24 GMT</pubDate>
		
			<author>Daemon 0xFF &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>29</slash:comments>
		
	</item>

	<item>
		<title>Security@RSDN revealed</title>
		<link>http://www.rsdn.ru/Forum/philosophy/3674099.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/3674099.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/3674099.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=3674099</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/3674099.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=3674099</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Итак, позволю себе потихоньку &lt;a href="http://www.rsdn.ru/Forum/Message.aspx?mid=3662425&amp;amp;only=1" title="Security@RSDN revealed, было бы интересно такое?" class=" tips m" rel="#m3662425" target="_blank"&gt;начать&lt;div class="tooltip" id="m3662425"&gt;Автор: kochetkov.vladimir&lt;br /&gt;Дата: 08.01 03:31&lt;/div&gt;&lt;/a&gt; со введения (ибо без него &amp;mdash; никак) &lt;img border='0' width='15' height='20' src='http://www.rsdn.ru/Forum/images/shuffle.gif' /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3 class='formatter'&gt;"Don't be evil" (c) Google Inc.&lt;/h3&gt;&lt;br /&gt;
Мне нравится этот девиз, именно поэтому он заменил собой уже примелькавшееся слово "дисклеймер", а также потому, что он будет являться редлайном всего, что планируется здесь опубликовать. Хочу подчеркнуть, что цель данных публикаций &amp;mdash; научить разработчиков защищаться, а не нападать. Поэтому, не будьте злыми, используйте полученные знания только в рамках принадлежащих вам проектов и систем, либо в которых вы принимаете непосредственное участие, с согласия их владельцев. &lt;br /&gt;
&lt;br /&gt;
Для начала, предлагаю расставить точки над i относительно того, ЧТО здесь будет публиковаться, КАК, ЗАЧЕМ и КОГДА:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1. Что?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Постепенное раскрытие информации о мерах, предпринимаемых командой RSDN для усиления безопасности как данного ресурса, так и его пользователей (в рамках их сессий на данном ресурсе, разумеется).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2. Как?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Серией постов в этом топике, в формате, весьма близком к т.н. tutorials. Объясню, почему не статьи: к статьям предъявляются гораздно более жесткие требования по части оформления и содержания, а следовательно, на их подготовку уйдет больше времени и усилий, а следовательно, меньше времени и усилий получится потратить на, собственно, процесс. Т.к. процесс важнее, то предпочтительнее, на мой вгзляд, публикация постов в режиме online и живой диалог с их читателями, с возможной публикацией в будущем серии статей, основанных на этой теме с учетом высказанных тут пожеланий и заданных вопросов.&lt;br /&gt;
&lt;br /&gt;
Кроме того, у меня пока еще нет опыта в подготовки настоящих, серьезных статей, и хочется сначала сделать дело, а уже потом пытаться завернуть это в красивую упаковку &lt;img border='0' width='15' height='20' src='http://www.rsdn.ru/Forum/images/shuffle.gif' /&gt; &lt;img border='0' width='15' height='15' src='http://www.rsdn.ru/Forum/images/biggrin.gif' /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3. Зачем&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Целей две:&lt;br /&gt;
&lt;br /&gt;
1. Сведение к минимуму рисков реализации информационных угроз как в отношении инфраструктуры ресурса, так и в отношении его пользователей.&lt;br /&gt;
2. Повышение осведомленности местного сообщества в вопросах обеспечения информационной безопасности на различных стадиях разработки, внедрения и эксплуатации информационных систем, через наглядные и живые примеры реализации тех или иных подходов и методик.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;4. Когда?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Дабы не достичь эффекта, обратного озвученной в предыдущем пункте цели №1, информация будет публиковаться по мере того, как будут полностью устраняться выявленные угрозы. Этим, в частности, будут обусловлены значительные перерывы между публикациями, просьба отнестись к этому с пониманием. Со своей стороны, постараюсь выкладывать новые материалы не реже раза в неделю, но это не всегда будет зависеть только от меня.&lt;br /&gt;
&lt;br /&gt;
Планируемая продолжительность первой итерации этого процесса колеблется в пределах 2-3 месяцев, что при традиционном умножении на e и pi дает нам сроки приблизительно в 6-9 месяцев соответственно. От них и будем отталкиваться &lt;img border='0' width='15' height='15' src='http://www.rsdn.ru/Forum/images/biggrin.gif' /&gt;&lt;br /&gt;
&lt;br /&gt;
и еще одно:&lt;br /&gt;
&lt;b&gt;5. Где?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Здесь, а не в "Веб-программировании" или "Обсуждении сайта", потому что речь пойдет не только о веб-приложениях (и не только о .NET-приложениях &amp;mdash; см. ниже), а большинство подходов, методик, инструментов, уязвимостей и т.п. вполне применимы не только к вебу и rsdn.ru, но и к любому другому проекту, следовательно &amp;mdash; это ontopic для ФП.&lt;br /&gt;
&lt;br /&gt;
Забегая вперед (т.к. не проведя предварительный анализ исследуемого ресурса, мы не можем строить какие-либо планы по конкретным действиям с нашей стороны), озвучу &lt;b&gt;приблизительный roadmap первой итерации&lt;/b&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style='margin-top:0; margin-bottom:0;'&gt;&lt;li /&gt;#1. Собственно, проведем анализ инфраструктуры этого ресурса, чтобы аргументированно построить данный roadmap &lt;img border='0' width='15' height='15' src='http://www.rsdn.ru/Forum/images/smile.gif' /&gt; Узнаем как планировать меры по насаждению ИБ в проектах и какие подходы и методики мы можем при этом использовать.&lt;br /&gt;
&lt;li /&gt;#2. Проведем blackbox-тестирование библиотеки Rsdn.Framework.Formatting, в ходе которого построим и успешно испытаем свой собственный XSS-фаззер. Затем перейдем к проведению ревью безопасности кода этой библиотеки, после чего, самостоятельно закроем все найденные в ней уязвимости и выработаем рекомендации по дальнейшей безопасной разработке этого проекта. Кроме того, оставим после себя тяжелое наследие в виде unit-тестов, как-никак, но обеспечивающих снижение в будущем вероятности появления в библиотеке XSS-уязвимостей.&lt;br /&gt;
&lt;li /&gt;#3. Проделаем то же самое для библиотеки BLToolkit. Поскольку, если ничего не поменялось с лета прошлого года (я уже занимался тестированием BLT в рамках внедрения системы, ее использовавшей), серьезных уязвимостей мы там не обнаружим, то у нас будет уникальная возможность на живом примере понять: "а что же теперь делать с ней дальше? можно ли считать ее безопасной? ('конечно же нельзя' &amp;mdash; прим. автора)"&lt;br /&gt;
&lt;li /&gt;#4. Проделаем то же самое для оффлайн-клиента RSDN@Home aka Janus + научимся строить полноценные модели угроз, адекватно оценивать риски информационной безопасности в проектах с нетривиальной архитектурой и вырабатывать/внедрять контрмеры по их снижению.&lt;br /&gt;
&lt;li /&gt;#5. Проведем несколько, различных с т.з. зрения используемых подходов, тестов на проникновение (пентестов) в веб-приложения rsdn.ru&lt;br /&gt;
&lt;li /&gt;#6. Проведем пентесты в окружение rsdn.ru (веб-сервер, сервер БД, ОС сервера, сетевая инфраструктура)&lt;br /&gt;
&lt;li /&gt;#7(бонусный). Опыт, полученный при исследовании Janus'а перенесем на другой оффлайн-клиент: RSDN@Linux aka Avalon. Наглядно увидим, чем отличается тестирование безопасности нативного приложения, от практически аналогичного ему .NET-приложения &lt;img border='0' width='15' height='15' src='http://www.rsdn.ru/Forum/images/wink.gif' /&gt;&lt;/ul&gt;
&lt;br /&gt;
Описания всех уязвимостей, используемого инструментария и т.п. будут приводиться по мере необходимости там, где они будут упомянуты или непосредствено перед этим. В конце каждого поста будет указываться реальный текущий статус этого процесса.&lt;br /&gt;
&lt;br /&gt;
Дополнения и пожелания приветствуются.&lt;br /&gt;
&lt;br /&gt;
Текущий статус: &lt;br /&gt;
&lt;br /&gt;
#1 &amp;mdash; завершен, публикация оформляется. &lt;br /&gt;
#2 &amp;mdash; тестирование и ревью завершены, идет устранение обнаруженных уязвимостей.&lt;br /&gt;
#остальные &amp;mdash; еще не были начаты.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/KyKsjXephm8" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Tue, 19 Jan 2010 22:38:24 GMT</pubDate>
		
			<author>kochetkov.vladimir &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>1</slash:comments>
		
	</item>

	<item>
		<title>Что такое "абстрактная интерпретация"?</title>
		<link>http://www.rsdn.ru/Forum/philosophy/3673808.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/3673808.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/3673808.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=3673808</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/3673808.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=3673808</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Объясните "на пальцах", на наглядных примерах?&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/DopUBR6V92s" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Tue, 19 Jan 2010 17:27:37 GMT</pubDate>
		
			<author>Andrei F. &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>14</slash:comments>
		
	</item>

	<item>
		<title>К вопросу о безопасности веб-приложений</title>
		<link>http://www.rsdn.ru/Forum/philosophy/3673741.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/3673741.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/3673741.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=3673741</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/3673741.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=3673741</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Решил я себе все-таки завести блог. А если быть точным, то не завести, а оживить старый, давно заброшенный. Сижу, настраиваю, никого не трогаю, после тяжелого трудового дня. И, придумывая название для блога, подумал о том, что неплохо было бы назвать его как-то, типа:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class='q'&gt;&lt;p&gt;'';!--"&amp;lt;kochetkov.vladimir@security&amp;gt;=&amp;amp;{()}&lt;/p&gt;&lt;/blockquote&gt;
&lt;br /&gt;
что как-бы должно символизировать (хинт: указанная строка, за исключением моего имени, является популярным вектором тестирования на подверженность XSS-атакам)... &lt;br /&gt;
&lt;br /&gt;
Результат превзошел все ожидания, за подробностями &amp;mdash; прошу в мой несостоявшийся блог: &lt;a href="http://vkochetkov.blogspot.com/" class="m" target="_blank"&gt;http://vkochetkov.blogspot.com/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Почему в философию? Видимо, потому что сие является наглядной демонстрацией:&lt;br /&gt;
&lt;br /&gt;
а) железного правила написания безопасного кода: "все входящие данные &amp;mdash; от лукавого"&lt;br /&gt;
б) того, как часто разработчики забивают на это правило &lt;img border='0' width='30' height='30' src='http://www.rsdn.ru/Forum/images/crash.gif'/ &gt; &lt;br /&gt;
&lt;br /&gt;
P.S: Подскажите плс, движок блога, который нормально схавает придуманное мной называние, плс. Уж очень оно мне понравилось &lt;img border='0' width='15' height='20' src='http://www.rsdn.ru/Forum/images/shuffle.gif' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/qmZtEYiWDkU" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Tue, 19 Jan 2010 16:49:52 GMT</pubDate>
		
			<author>kochetkov.vladimir &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>7</slash:comments>
		
	</item>

	<item>
		<title>[ANN] Quick Security References</title>
		<link>http://www.rsdn.ru/Forum/philosophy/3672936.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/3672936.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/3672936.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=3672936</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/3672936.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=3672936</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Новая инициатива от Microsoft'овских безопасников: цикл небольших статей, предназначенных для разработчиков и рассказывающих о наиболее наспространенных уязвимостях, причинах их появления и способах устранения в разрабатываемых продуктах (с уклоном на специфику MS платформ, разумеется). &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=79042476-951f-48d0-8ebb-89f26cf8979d&amp;amp;displaylang=en#filelist" class="m" target="_blank"&gt;Здесь&lt;/a&gt; уже доступны статьи по XSS и SQL Injection.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/xD1Zc9iyLpI" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Tue, 19 Jan 2010 08:12:29 GMT</pubDate>
		
			<author>kochetkov.vladimir &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>0</slash:comments>
		
	</item>
</channel>
</rss>
