<?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>Mon, 13 Feb 2012 10:42:29 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>Object.equals</title>
		<link>http://www.rsdn.ru/Forum/philosophy/4612137.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/4612137.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/4612137.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=4612137</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/4612137.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=4612137</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Задача (Java): Определить класс EqualToTheObject, экземпляр которого ссылается на экземпляр класса Object, и переопределяет equals таким образом, что equals возвращает true тогда и только тогда, когда его аргумент является тем же экземпляром класса Object, на который ссылается this, или экземпляром класса EqualToTheObject ссылающегося на тот же экземпляр класса Object, на который ссылается this.&lt;br /&gt;
&lt;br /&gt;
Отношение эквивалентности должно является рефлексивным, симметричным и транзитивным, но симметричным его похоже на Java сделать не удастся. То есть задача непротиворечива, но отсутствие мультиметодов делает ее решение невозможным.&lt;br /&gt;
&lt;br /&gt;
Аналогично для .NET.&lt;br /&gt;
&lt;br /&gt;
Если так, то вся эта сраная единая Java/.NET иерархия классов ущербна в самом своем корне.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/4LLNznFSpPA" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Fri, 10 Feb 2012 09:54:26 GMT</pubDate>
		
			<author>igna &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>23</slash:comments>
		
	</item>

	<item>
		<title>самый простой язык программирования.</title>
		<link>http://www.rsdn.ru/Forum/philosophy/4611931.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/4611931.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/4611931.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=4611931</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/4611931.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=4611931</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;вот задумался вопросом: чтобы создать самый элементарный язык программирования, сколько нужно минимум операторов?&lt;br /&gt;
&lt;br /&gt;
достаточно иметь IF, GOTO и LABEL? что-то еще?&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/L1WmDNNcXac" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Fri, 10 Feb 2012 08:02:54 GMT</pubDate>
		
			<author>goondick &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>40</slash:comments>
		
	</item>

	<item>
		<title>Будущее программирования - обсудим?</title>
		<link>http://www.rsdn.ru/Forum/philosophy/4608399.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/4608399.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/4608399.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=4608399</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/4608399.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=4608399</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;&lt;a href="http://ajc.su/koding/budushhee-programmirovaniya/" class="m" target="_blank"&gt;http://ajc.su/koding/budushhee-programmirovaniya/&lt;/a&gt;&lt;br /&gt;
&lt;blockquote class='q'&gt;&lt;p&gt;[Автор оригинального текста — Paul Chiusano, программист, работает в Capital IQ, пишет преимущественно на Scala. Один из разработчиков библиотеки scalaz — прим. пер.]&lt;br /&gt;
&lt;br /&gt;
Как будет выглядеть программирование через 10-20 лет? В канун нового года самое время пофилософствовать о будущем нашей индустрии. Мы находимся на пороге значительных изменений в деле написания программ, по сравнению с которыми нынешние, 2011 года, техники и идеи будут выглядеть примитивными. Изменения будут происходить в нескольких важных областях: инструментария и инфраструктуры, языков и систем типов, систем времени исполнения.&lt;br /&gt;
...&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/YCj70GaKRXw" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Tue, 07 Feb 2012 22:09:41 GMT</pubDate>
		
			<author>LaptevVV &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>126</slash:comments>
		
	</item>

	<item>
		<title>Что-то не так с головой</title>
		<link>http://www.rsdn.ru/Forum/philosophy/4605524.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/4605524.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/4605524.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=4605524</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/4605524.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=4605524</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;br /&gt;
 &lt;br /&gt;
 Мне кажется, основная причина в том, что разработка происходит стихийно, каждый пишет, что ему придет в голову. &lt;br /&gt;
&lt;br /&gt;
 1) Не формулируется математическая модель предметной области, не доказываются необходимые теоремы. Возможно не везде это требуется, но в нетривиальных случаях без этого не обойтись. &lt;br /&gt;
 2) Не учитываются свойства системы, о которых надо помнить при проектировании каждой операции (например, это могут быть такие свойства, как безопасность, одновременный доступ к ресурсам, блокировки, какие-то инварианты предметной области)&lt;br /&gt;
 3) Не осуществляется полный анализ всех возможных вариантов. Такой анализ вообще возможен только в случае, когда у нас есть нечто хотя бы напоминающее абстрактную* математическую модель, в противном случае количество вариантов будет слишком большим для такого анализа. Например, нужен анализ всех вариантов одновременных операций при доступе нескольких пользователей к иерархии ресурсов.&lt;br /&gt;
&lt;br /&gt;
 Есть ли какой-то способ проектирования, который бы позволил если не избавиться от ошибок, то хотя бы минимизировать их число?&lt;br /&gt;
 Может ли существовать какой-то паттерн мышления, которому надо следовать, чтобы добиться этого?&lt;br /&gt;
&lt;br /&gt;
 Программирование &amp;mdash; еще молодая область, возможно лет через сто появится нормальная методология разработки, которая позволит человеку не совершать ошибок...&lt;br /&gt;
&lt;br /&gt;
*Под абстракцией понимается выделение существенного.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/F0DmmBVABHY" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Mon, 06 Feb 2012 09:44:46 GMT</pubDate>
		
			<author>HrorH &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>134</slash:comments>
		
	</item>

	<item>
		<title>Тюринг-полные ли шаблоны C++?</title>
		<link>http://www.rsdn.ru/Forum/philosophy/4603266.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/4603266.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/4603266.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=4603266</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/4603266.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=4603266</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Здравствуйте, catbert, Вы писали:&lt;br /&gt;
&lt;span class='lineQuote'&gt;&lt;br /&gt;
C&amp;gt;Тем не менее, шаблоны не "плохи". Они чудесно выполняют свою главную функцию (поддержка обобщенного программирования), да еще и Тюринг-полны. Но в реалиях .НЕТ-а, имхо, более оптимальным выбором метапрограммирования являются макросы+генерики.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Тьюринг полны это ты погорячился, по определению "В теории вычислимости исполнитель (множество вычисляющих элементов) называется тьюринг-полным, если на нём можно реализовать любую вычислимую функцию", можно ли на шаблонах реализовать любую? Мы пришли к выводу что нет.&lt;br /&gt;
&lt;br /&gt;
Но вот макросы + генерики это хорошая комбинация, но как оказалось еще не совсем совершенная, если мы не можем использовать аргументы типа T в самих макросах, тут нужно еще промежуточное решение.&lt;br /&gt;
&lt;br /&gt;
&lt;div class='mod'&gt;05.02.12 03:18: Ветка выделена из темы &lt;a href="http://www.rsdn.ru/forum/nemerle/4603177.aspx" title="чем плохи шаблоны?" class=" tips m" rel="#m4603177" target="_blank"&gt;чем плохи шаблоны?&lt;div class="tooltip" id="m4603177"&gt;Автор: &lt;br /&gt;Дата: 04.02 09:49&lt;/div&gt;&lt;/a&gt; &amp;mdash; VladD2&lt;/div&gt;&lt;div class='mod'&gt;05.02.12 03:19: Перенесено модератором из 'Nemerle' &amp;mdash; VladD2&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/IW7R5khuawU" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Sat, 04 Feb 2012 10:02:51 GMT</pubDate>
		
			<author>CodingUnit &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>112</slash:comments>
		
	</item>

	<item>
		<title>Иерархия геометрических фигур</title>
		<link>http://www.rsdn.ru/Forum/philosophy/4601071.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/4601071.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/4601071.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=4601071</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/4601071.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=4601071</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;В начале было слово, и слово это было &lt;a href="http://www.rsdn.ru/forum/philosophy/4581044.1.aspx" title="Что-то нетак с ООП" class=" tips m" rel="#m4581044" target="_blank"&gt;Что-то нетак с ООП&lt;div class="tooltip" id="m4581044"&gt;Автор: Artifact&lt;br /&gt;Дата: 18.01 15:20&lt;/div&gt;&lt;/a&gt;, потом было второе слово &amp;mdash; &lt;a href="http://www.rsdn.ru/forum/philosophy/4594823.1.aspx" title="Так все-таки, что же не так с ООП?" class=" tips m" rel="#m4594823" target="_blank"&gt;Так все-таки, что же не так с ООП?&lt;div class="tooltip" id="m4594823"&gt;Автор: 0x7be&lt;br /&gt;Дата: 29.01 15:42&lt;/div&gt;&lt;/a&gt;. Так вот, во втором слове говорится, что примеры иерархии для геометрических фигур Shape-&amp;gt;Circle и Shape-&amp;gt;Rectangle &amp;mdash; это глупость и некомильфо в целом. Если так, то как же правильно это делать?&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/04gvO-kpueo" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Thu, 02 Feb 2012 13:18:36 GMT</pubDate>
		
			<author>monax &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>50</slash:comments>
		
	</item>

	<item>
		<title>Кол-во скриптов на странице</title>
		<link>http://www.rsdn.ru/Forum/philosophy/4601282.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/4601282.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/4601282.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=4601282</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/4601282.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=4601282</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;открыл тут исходник веб-страницы (аспх), а там строк 300 жава скрипта.&lt;br /&gt;
и это без учета того, что еще js файл грузится.&lt;br /&gt;
&lt;br /&gt;
вообще какие есть критерии на размер загружаемых скриптов на страницу?&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/2fN_wAIsqcA" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Thu, 02 Feb 2012 12:25:10 GMT</pubDate>
		
			<author>snaphold &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>2</slash:comments>
		
	</item>

	<item>
		<title>Что такое полиморфизм?</title>
		<link>http://www.rsdn.ru/Forum/philosophy/4599786.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/4599786.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/4599786.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=4599786</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/4599786.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=4599786</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;
Вот что такое Инкапсуляция, Наследование &amp;mdash; это понятно. Это я вижу где приминить можно, где воспользоваться и т.д. А вот Полиморфизм вообще никуда не упирается.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/vMak43KTvbo" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Wed, 01 Feb 2012 21:53:40 GMT</pubDate>
		
			<author>Zender &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>193</slash:comments>
		
	</item>

	<item>
		<title>Наводит на определённые размышления. [hate]javacript[/hate]</title>
		<link>http://www.rsdn.ru/Forum/philosophy/4598330.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/4598330.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/4598330.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=4598330</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/4598330.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=4598330</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;&lt;a href="http://www.codeproject.com/Articles/321716/The-New-Emperors-Clothes-Abuse-of-Web-Technology" class="m" target="_blank"&gt;http://www.codeproject.com/Articles/321716/The-New-Emperors-Clothes-Abuse-of-Web-Technology&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
после прочтения этой новости чувствую себя бобладателем мощного аргумента за то, чтобы в законодательном порядке запретить всякие жабаскрипт, и иные языки ы error-prone level 9000 и выше.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/ub9LKknYb0I" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Wed, 01 Feb 2012 03:12:35 GMT</pubDate>
		
			<author>konstardiy &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>73</slash:comments>
		
	</item>

	<item>
		<title>[Firefox] Битва за память</title>
		<link>http://www.rsdn.ru/Forum/philosophy/4598315.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/4598315.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/4598315.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=4598315</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/4598315.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=4598315</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Интересный доклад о том, как команда MemShrink борется за уменьшение отъедаемой лисичкой памяти&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class='q'&gt;&lt;p&gt;Notes on Reducing Firefox’s Memory Consumption&lt;br /&gt;
&lt;a href="http://blog.mozilla.com/nnethercote/2012/01/17/notes-on-reducing-firefoxs-memory-consumption/" class="m" target="_blank"&gt;http://blog.mozilla.com/nnethercote/2012/01/17/notes-on-reducing-firefoxs-memory-consumption/&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;br /&gt;
Особенно порадовали примеры безбашенных запросов памяти типа 1МБ+2байта и профилировщик памяти SQLite, который сам по себе удваивает отжираемую SQLite-ом память.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/ZLkQqKW-bn8" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Wed, 01 Feb 2012 02:42:16 GMT</pubDate>
		
			<author>jazzer &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>0</slash:comments>
		
	</item>

	<item>
		<title>Так все-таки, что же не так с ООП?</title>
		<link>http://www.rsdn.ru/Forum/philosophy/4594823.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/4594823.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/4594823.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=4594823</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/4594823.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=4594823</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Коллеги, &lt;br /&gt;
хочу в отдельной теме высказаться в продолжение топика &lt;a href="http://www.rsdn.ru/forum/philosophy/4581044.aspx" title="Что-то нетак с ООП" class=" tips m" rel="#m4581044" target="_blank"&gt;Что-то нетак с ООП&lt;div class="tooltip" id="m4581044"&gt;Автор: Artifact&lt;br /&gt;Дата: 18.01 15:20&lt;/div&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Я думаю, что главная проблема ООП совсем не в ООП, а в людях, которые некогда превратили его в религию. Даже в университете, как я помню, наc учили в духе, что ООП &amp;mdash; это Единственный Истинный Путь (как любил говорить один художник: "Ein Volk, ein Reich, ein Führer"). Отсюда и проблемы. Когда же к ООП относятся просто как к ещё одному инструменту из арсенала разработчика, таких проблем не возникает. &lt;br /&gt;
&lt;br /&gt;
Только, вот, это беда не только ООП &amp;mdash; это беда нашей индустрии вообще. Периодически появляются какие-то мессии в виде отдельных людей или корпораций, которые начинают двигать очередную модную идею или технологию, провозглашая её спасением от всех наших бед (в какой уж раз!) и будущим разработки программного обеспечения. Если этот посыл подхватывается массами, то проблемы гарантированы: много людей начнет следовать новым идеям, не понимая их до конца, и тем яростнее их отстаивая, чем примитивнее их понимание. Сколько таких религий уже было и прошло! ООБД ("реляционные СУБД умрут!"), разный веб ("десктопные приложения умрут!"), виртуальные машины ("нативный код умрёт!"), разные новые языки ("С++ умрёт!") и платформы ("вообще все умрут...").&lt;br /&gt;
&lt;br /&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;
Вот сейчас, например, такой "модной фишкой" является agile и scrum. Подчас его пытаются силой натянуть на те проекты, где он совсем не нужен, как тот презерватив на глобус. Опять же, проблема не в agile, проблема в тех, кто слишком уверовал в его чудодейственную силу.&lt;br /&gt;
&lt;br /&gt;
Проблема в людях.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/5ttN95opTQk" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Sun, 29 Jan 2012 11:42:12 GMT</pubDate>
		
			<author>0x7be &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>79</slash:comments>
		
	</item>

	<item>
		<title>Фундаментальный постулат программирования</title>
		<link>http://www.rsdn.ru/Forum/philosophy/4593873.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/4593873.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/4593873.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=4593873</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/4593873.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=4593873</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;br /&gt;
б) Ветвление, развилки (конструкции if-else, switch)&lt;br /&gt;
в) Повтор (циклы любого рода)&lt;br /&gt;
&lt;br /&gt;
Это означает: Язык программирования может быть каким угодно, но если в нем есть конструкции 3 указанных типов, то любую решаемую задачу на нем можно решить.&lt;br /&gt;
&lt;br /&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/Wz1m6OX0Wv4" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Sat, 28 Jan 2012 12:18:53 GMT</pubDate>
		
			<author>Дмитрий Писаренко &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>38</slash:comments>
		
	</item>

	<item>
		<title>Пишем опердень (краткое руководство)</title>
		<link>http://www.rsdn.ru/Forum/philosophy/4593633.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/4593633.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/4593633.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=4593633</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/4593633.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=4593633</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;:p.&lt;br /&gt;
Знакомьтесь: опердень, от слов "операционный день" — система автоматизации банка. Очень сложная и запутанная штука, кстати. Что надо знать, чтобы написать настоящую опердень? Это целая традиция программирования.&lt;br /&gt;
&lt;br /&gt;
:p.&lt;br /&gt;
Во-первых, для того, чтобы написать её, требуется оператор безусловного перехода "goto". В языках Алгол, Фортран и M$ Visual Basic он так и назывался: "goto". В более современных языках он называется "trycatch" — теперь это *так* называется.&lt;br /&gt;
&lt;br /&gt;
:p.&lt;br /&gt;
Во-вторых, подлинная, настоящая опердень требует глобальных переменных. Без них создать её не удастся. "Не боги горшки обжигают". Попросту не удастся. Так вот, в далёком прошлом, когда программы были маленькими, а компьютеры большими, они так и назывались: перем^bнныя общ^bга пользованнiа, они же глобальные. Переменные. Сегодня это называется "поля в объектах". Те же глобальные переменные, только для ограниченного числа подпрограмм (процедур, функций: теперь это *так* называется).&lt;br /&gt;
&lt;br /&gt;
:p.&lt;br /&gt;
В-третьих, истинная опердень требует указателей. Совершенно необходимо, чтобы все данные были свалены в общую кучу с доступом через указатели — это традиция программирования. Раньше это так и называлось: "указатели", но пользоваться ими обжигатели горшков не могли, поэтому указатели заменили на ссылки (не забыв и пустые ссылки). Другая обёртка, но смысл тот же.&lt;br /&gt;
&lt;br /&gt;
:p.&lt;br /&gt;
В-четвёртых, опердень недостижима без смешения кода и данных. И наоборот, достижима исключительно посредством смешения кода (и данных). Раньше всё так и было: смешение кода и данных, а сегодня это выглядит как доступ к объектам по ссылке и вызов функций (методов классов) для работы с данными в объектах, вызванных по ссылке, когда эти функции получают ссылки на данные, через которые они же и вызваны (по ссылке: если вы не зарыдали на этом месте, то вы сможете написать опердень — хотя для настоящего программирования вы, безусловно, потеряны... но кого это волнует?)&lt;br /&gt;
&lt;br /&gt;
:p.&lt;br /&gt;
В-пятых, и это самое важное, опердень недостижима без наследования. Поскольку заказчик постоянно меняет требования, вначале он хочет пулемёт, затем тачанку, затем танк... надо просто "унаследовать" тачанку от пулемёта, а затем танк — от тачанки. При этом не забыть перемешать не только код (и данные), но и указатели внутри данных, чтобы тачанка ссылалась на пулемёт, пулемёт ссылался на танк, танк ссылался на пулемёт, пулемёт ссылался на танк, и танк — на тачанку.&lt;br /&gt;
&lt;br /&gt;
:p.&lt;br /&gt;
И последнее: не должно быть никакого предварительного связывания. А с типами данных будет разбираться сама опердень, она большая и сложная. Иначе танк может не взлететь, а это очень опасно. Так что всё то, что раньше называлось "оверлейные модули", сегодня называется "полиморфизм", "инкапсуляция", "наследование" и "объектно-ориентированное программирование". Как стало известно из новейших археологических изысканий, традиция идёт от языка Алгол-58.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/I2Q3PcKrnjk" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Fri, 27 Jan 2012 23:39:55 GMT</pubDate>
		
			<author>os24ever &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>3</slash:comments>
		
	</item>

	<item>
		<title>Mind map - buzzword or ...?</title>
		<link>http://www.rsdn.ru/Forum/philosophy/4590977.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/4590977.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/4590977.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=4590977</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/4590977.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=4590977</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Приветствую, коллеги!&lt;br /&gt;
&lt;br /&gt;
Вот в инетах много шумят по поводу карт памяти/ума/разума aka mind maps.&lt;br /&gt;
Но шум все больше сводится к продаже книг и тренингов, а примеры карт, которые я видел, сводятся к банальной классификации (т.е. просто составлению многоуровневого списка, но в прикольной графической форме).&lt;br /&gt;
Т.е. все это выглядит очередной серебряной пулей и банальным разводиловом, особенно учитывая то, что сам термин "Mind map" зарегистрирован в качестве торговой марки автором книг по сабжу.&lt;br /&gt;
&lt;br /&gt;
Так вот, это просто очередной buzzword, или кто-нибудь в реальной работе успешно пользуется этими картами (если это не работа тренером по использованию этих самых карт, ессно)?&lt;br /&gt;
Поделитесь своими соображениями и опытом.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/ty-sbJHxtcw" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Thu, 26 Jan 2012 06:05:16 GMT</pubDate>
		
			<author>jazzer &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>15</slash:comments>
		
	</item>

	<item>
		<title>Что почитать по javascript?</title>
		<link>http://www.rsdn.ru/Forum/philosophy/4586769.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/4586769.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/4586769.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=4586769</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/4586769.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=4586769</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;На javascript не пишу.&lt;br /&gt;
Но периодически замечаю, что народ или сильно хвалит или сильно ругает.&lt;br /&gt;
Посоветуйте какие-нибудь книги, чтобы после прочтения проникнуться и тоже присоединится к какому-нибудь лагерю &lt;img border='0' width='15' height='15' src='http://www.rsdn.ru/Forum/images/smile.gif' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/4ziVC4Hu--w" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Mon, 23 Jan 2012 11:02:26 GMT</pubDate>
		
			<author>dneprq &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>19</slash:comments>
		
	</item>

	<item>
		<title>Фантазии на тему повторного использования в ООП...</title>
		<link>http://www.rsdn.ru/Forum/philosophy/4586385.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/4586385.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/4586385.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=4586385</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/4586385.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=4586385</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;...Или умный copy/past.&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;public class&lt;/span&gt; X
{
    &lt;span class='kw'&gt;public void&lt;/span&gt; Method() {}
    &lt;span class='kw'&gt;public void&lt;/span&gt; AnotherMethod() {}
}

&lt;span class='kw'&gt;public class&lt;/span&gt; Y
{
    &lt;span class='kw'&gt;public void&lt;/span&gt; Method() {}
    &lt;span class='kw'&gt;public void&lt;/span&gt; AnotherMethod() {}
}

&lt;span class='kw'&gt;public class&lt;/span&gt; B
{
    &lt;span class='kw'&gt;private&lt;/span&gt; X x;

    &lt;span class='kw'&gt;public&lt;/span&gt; B(X x) { &lt;span class='kw'&gt;this&lt;/span&gt;.x = x; }

    &lt;span class='kw'&gt;public void&lt;/span&gt; Method() { x.Method(); }
    &lt;span class='kw'&gt;public void&lt;/span&gt; AnotherMethod() {}
}

&lt;span class='kw'&gt;public class&lt;/span&gt; C
{
    &lt;span class='kw'&gt;private&lt;/span&gt; Y y;

    &lt;span class='kw'&gt;public&lt;/span&gt; C(Y y) { &lt;span class='kw'&gt;this&lt;/span&gt;.y = y; }

    &lt;span class='kw'&gt;public void&lt;/span&gt; Method() { y.Method(); }
    &lt;span class='kw'&gt;public void&lt;/span&gt; AnotherMethod() {}
}

&lt;span class='kw'&gt;public class&lt;/span&gt; A
{
    &lt;span class='kw'&gt;private&lt;/span&gt; B b;
    &lt;span class='kw'&gt;private&lt;/span&gt; C c;

    &lt;span class='kw'&gt;private string&lt;/span&gt; name;
    &lt;span class='kw'&gt;private string&lt;/span&gt; anotherName;
    &lt;span class='kw'&gt;private int&lt;/span&gt; count;
    &lt;span class='kw'&gt;private int&lt;/span&gt; anotherCount;

    &lt;span class='kw'&gt;public&lt;/span&gt; A(B b, C c, &lt;span class='kw'&gt;string&lt;/span&gt; name, &lt;span class='kw'&gt;string&lt;/span&gt; anotherName, &lt;span class='kw'&gt;int&lt;/span&gt; count, &lt;span class='kw'&gt;int&lt;/span&gt; anotherCount)
    {
        &lt;span class='kw'&gt;this&lt;/span&gt;.b = b;
        &lt;span class='kw'&gt;this&lt;/span&gt;.c = c;
        &lt;span class='kw'&gt;this&lt;/span&gt;.name = name;
        &lt;span class='kw'&gt;this&lt;/span&gt;.anotherName = anotherName;
        &lt;span class='kw'&gt;this&lt;/span&gt;.count = count;
        &lt;span class='kw'&gt;this&lt;/span&gt;.anotherCount = anotherCount;
    }

    &lt;span class='kw'&gt;public void&lt;/span&gt; ImportantMethod()
    {
        b.Method();

        &lt;span class='kw'&gt;this&lt;/span&gt;.name = &lt;span class='str'&gt;"Some message..."&lt;/span&gt;;
        &lt;span class='kw'&gt;this&lt;/span&gt;.count = 1234;

        c.Method();
    }

    &lt;span class='kw'&gt;public void&lt;/span&gt; AnotherImportantMethod()
    {
        b.AnotherMethod();

        &lt;span class='kw'&gt;this&lt;/span&gt;.anotherName = &lt;span class='str'&gt;"Some another message..."&lt;/span&gt;;
        &lt;span class='kw'&gt;this&lt;/span&gt;.anotherCount = 1357;

        c.AnotherMethod();
    }
}&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
Предположим теперь, что имеется тулза, которой мы могли бы указать, что мы хотим из готовых исходников повторно использовать метод ImportantMethod.&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;public class&lt;/span&gt; A
{
    &lt;span class='kw'&gt;private string&lt;/span&gt; name;
    &lt;span class='kw'&gt;private int&lt;/span&gt; count;

    &lt;span class='kw'&gt;public&lt;/span&gt; A(..., &lt;span class='kw'&gt;string&lt;/span&gt; name, &lt;span class='kw'&gt;int&lt;/span&gt; count)
    {
        ...
        &lt;span class='kw'&gt;this&lt;/span&gt;.name = name;
        &lt;span class='kw'&gt;this&lt;/span&gt;.count = count;
    }

    &lt;span class='kw'&gt;public void&lt;/span&gt; ImportantMethod()
    {
        ...

        &lt;span class='kw'&gt;this&lt;/span&gt;.name = &lt;span class='str'&gt;"Some message..."&lt;/span&gt;;
        &lt;span class='kw'&gt;this&lt;/span&gt;.count = 1234;

        ...
    }
}&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
Далее для каждого ипользуемого в методе класса тулза предложит на выбор:&lt;br /&gt;
1. Создать интерфейс по этому классу&lt;br /&gt;
2. Cоздать используемый класс вместе с используемыми методами&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;public class&lt;/span&gt; BServer &lt;span class='com'&gt;// Первый вариант&lt;/span&gt;
{
    &lt;span class='kw'&gt;void&lt;/span&gt; Method();
}

&lt;span class='kw'&gt;public class&lt;/span&gt; C &lt;span class='com'&gt;// Второй вариант&lt;/span&gt;
{
    &lt;span class='kw'&gt;public&lt;/span&gt; C(...) { ... }

    &lt;span class='kw'&gt;public void&lt;/span&gt; Method() { ... }
}

&lt;span class='kw'&gt;public class&lt;/span&gt; A
{
    &lt;span class='kw'&gt;private&lt;/span&gt; BServer b;
    &lt;span class='kw'&gt;private&lt;/span&gt; C c;

    &lt;span class='kw'&gt;private string&lt;/span&gt; name;
    &lt;span class='kw'&gt;private int&lt;/span&gt; count;

    &lt;span class='kw'&gt;public&lt;/span&gt; A(BServer b, C c, &lt;span class='kw'&gt;string&lt;/span&gt; name, &lt;span class='kw'&gt;int&lt;/span&gt; count)
    {
        &lt;span class='kw'&gt;this&lt;/span&gt;.b = b;
        &lt;span class='kw'&gt;this&lt;/span&gt;.c = c;
        &lt;span class='kw'&gt;this&lt;/span&gt;.name = name;
        &lt;span class='kw'&gt;this&lt;/span&gt;.count = count;
    }

    &lt;span class='kw'&gt;public void&lt;/span&gt; ImportantMethod()
    {
        b.Method();

        &lt;span class='kw'&gt;this&lt;/span&gt;.name = &lt;span class='str'&gt;"Some message..."&lt;/span&gt;;
        &lt;span class='kw'&gt;this&lt;/span&gt;.count = 1234;

        c.Method();
    }
}&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;br /&gt;
Соответственно, если после этого мы укажем тулзе, что хотим повторно использовать метод AnotherImportantMethod из класса A, она проделает всю ту же работу, только для новых исходников будет использовать уже ранее скопированные. Т.е. в данном примере мы получим практически первоначальные классы A, B, C и так далее зависимые:&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;public class&lt;/span&gt; BServer
{
    &lt;span class='kw'&gt;void&lt;/span&gt; Method();
    &lt;span class='kw'&gt;void&lt;/span&gt; AnotherMethod();
}

&lt;span class='kw'&gt;public class&lt;/span&gt; C
{
    &lt;span class='kw'&gt;public&lt;/span&gt; C(...) { ... }

    &lt;span class='kw'&gt;public void&lt;/span&gt; Method() { ... }
    &lt;span class='kw'&gt;public void&lt;/span&gt; AnotherMethod() {}
}

&lt;span class='kw'&gt;public class&lt;/span&gt; A
{
    &lt;span class='kw'&gt;private&lt;/span&gt; BServer b;
    &lt;span class='kw'&gt;private&lt;/span&gt; C c;

    &lt;span class='kw'&gt;private string&lt;/span&gt; name;
    &lt;span class='kw'&gt;private string&lt;/span&gt; anotherName;
    &lt;span class='kw'&gt;private int&lt;/span&gt; count;
    &lt;span class='kw'&gt;private int&lt;/span&gt; anotherCount;

    &lt;span class='kw'&gt;public&lt;/span&gt; A(BServer b, C c, &lt;span class='kw'&gt;string&lt;/span&gt; name, &lt;span class='kw'&gt;string&lt;/span&gt; anotherName, &lt;span class='kw'&gt;int&lt;/span&gt; count, &lt;span class='kw'&gt;int&lt;/span&gt; anotherCount)
    {
        &lt;span class='kw'&gt;this&lt;/span&gt;.b = b;
        &lt;span class='kw'&gt;this&lt;/span&gt;.c = c;
        &lt;span class='kw'&gt;this&lt;/span&gt;.name = name;
        &lt;span class='kw'&gt;this&lt;/span&gt;.anotherName = anotherName;
        &lt;span class='kw'&gt;this&lt;/span&gt;.count = count;
        &lt;span class='kw'&gt;this&lt;/span&gt;.anotherCount = anotherCount;
    }

    &lt;span class='kw'&gt;public void&lt;/span&gt; ImportantMethod()
    {
        b.Method();

        &lt;span class='kw'&gt;this&lt;/span&gt;.name = &lt;span class='str'&gt;"Some message..."&lt;/span&gt;;
        &lt;span class='kw'&gt;this&lt;/span&gt;.count = 1234;

        c.Method();
    }

    &lt;span class='kw'&gt;public void&lt;/span&gt; AnotherImportantMethod()
    {
        b.AnotherMethod();

        &lt;span class='kw'&gt;this&lt;/span&gt;.anotherName = &lt;span class='str'&gt;"Some another message..."&lt;/span&gt;;
        &lt;span class='kw'&gt;this&lt;/span&gt;.anotherCount = 1357;

        c.AnotherMethod();
    }
}&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
Найдет ли подобная тулза применение?&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/IVhlCmDlgV0" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Mon, 23 Jan 2012 02:09:56 GMT</pubDate>
		
			<author>richyape &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>1</slash:comments>
		
	</item>

	<item>
		<title>Баланс клиента: хранить или вычислять</title>
		<link>http://www.rsdn.ru/Forum/philosophy/4583044.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/4583044.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/4583044.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=4583044</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/4583044.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=4583044</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;
Как лучше? сделать поле Balance в таблице Карты и изменять его после каждой операции или же динамически вычеслять баланс на основании операций?&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/eKO1ubQdNJY" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Thu, 19 Jan 2012 13:44:50 GMT</pubDate>
		
			<author>merge &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>16</slash:comments>
		
	</item>

	<item>
		<title>Java vs. C#</title>
		<link>http://www.rsdn.ru/Forum/philosophy/4581620.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/4581620.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/4581620.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=4581620</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/4581620.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=4581620</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;То, что C# вышел из Java &amp;mdash; несомненно.&lt;br /&gt;
То, что дальше они развивались в одном и том же направлении до поры до времени &amp;mdash; тоже. И дженерики, и аннотации (атрибуты) появились и там и здесь (пусть и есть отличия в деталях). Кто ввел раньше, кто позже &amp;mdash; не в этом суть.&lt;br /&gt;
&lt;br /&gt;
А вот дальше &amp;mdash; стоп. C# полез в ФП, а Java &amp;mdash; нет.&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/5T9fgOcqih4" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Wed, 18 Jan 2012 16:47:22 GMT</pubDate>
		
			<author>Pavel Dvorkin &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>27</slash:comments>
		
	</item>

	<item>
		<title>Что-то нетак с ООП</title>
		<link>http://www.rsdn.ru/Forum/philosophy/4581044.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/4581044.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/4581044.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=4581044</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/4581044.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=4581044</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Почему так получается, что когда код представляет из себя набор классов, то такой код очень затрудлителен для понимания. Точнее трудно понять не столько код, сколько что же это всё вместе делает и в каком порядке. И это даже при отсутствии злоупотребления наследованием. С кодом написанным, что называется в лоб, таких проблем нет, и, что характерно, его объём в разы меньше. Я сильно начинаю сомневаться в полезности ООП. Складывается впечатление, что ООП это такой хорошо замаскированный современный GOTO. И ещё я не понимаю, почему как только люди беруться за проект, то тут же как грибы после дождя начинают появляться классы. На самую простую функциональность количество порой приближается к сотни. И почему такая уверенность, что так и надо делать? Как им вдолбить простую истину, высказанную к сожалению не помню кем, что хороший код, это не тот код, в который нечего добавить, а код, из которого нечего выкинуть?&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/DCizfkKUy5U" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Wed, 18 Jan 2012 11:20:23 GMT</pubDate>
		
			<author>Artifact &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>277</slash:comments>
		
	</item>

	<item>
		<title>GoingNative 2012</title>
		<link>http://www.rsdn.ru/Forum/philosophy/4578668.1.aspx</link>
		<guid isPermaLink="true">http://www.rsdn.ru/Forum/philosophy/4578668.aspx</guid>
		<comments>http://www.rsdn.ru/Forum/philosophy/4578668.aspx</comments>
		<wfw:comment>http://www.rsdn.ru/Forum/PostRssComment.aspx?mid=4578668</wfw:comment>
		<wfw:commentRss>http://www.rsdn.ru/Forum/RSS/4578668.aspx</wfw:commentRss>
		<trackback:ping>http://www.rsdn.ru/Forum/Trackback.aspx?mid=4578668</trackback:ping>
		<description>&lt;div style="@import url(http://www.rsdn.ru/Forum/Forum.css);"&gt;Думал сначала в С++ запостить, но раз уж это даже на LtU есть (с пометкой "For those of you who don't hate C++" &lt;img border='0' width='15' height='15' src='http://www.rsdn.ru/Forum/images/smile.gif' /&gt; ), решил сюда&lt;br /&gt;
&lt;blockquote class='q'&gt;&lt;p&gt;Day 1 (Theme: C++11 Today)&lt;br /&gt;
•	Opening Keynote: C++11 Style (Bjarne Stroustrup, TAMU)&lt;br /&gt;
•	Threads and Shared Variables in C++11 (Hans Boehm, Hewlett-Packard)&lt;br /&gt;
•	STL11 – Magic &amp;amp;&amp;amp; Secrets (Stephan T. Lavavej, Microsoft)&lt;br /&gt;
•	Variadic Templates are Funadic (Andrei Alexandrescu, Facebook)&lt;br /&gt;
•	Panel: The Importance of Being Native (Andrei Alexandrescu, Hans Boehm, Bjarne Stroustrup, Herb Sutter)&lt;br /&gt;
&lt;br /&gt;
Day 2 (Theme: C++11 Today and Tomorrow)&lt;br /&gt;
•	C++11, VC++11 and Beyond (Herb Sutter, Microsoft)&lt;br /&gt;
•	C++11 and Clang (Chandler Garruth, Google)&lt;br /&gt;
•	Static If I Had a Hammer (Andrei Alexandrescu, Facebook)&lt;br /&gt;
•	A Concept Design for C++ (Bjarne Stroustrup and Andrew Sutton, TAMU)&lt;br /&gt;
•	Panel: Ask Us Anything! (all speakers)&lt;/p&gt;&lt;/blockquote&gt;
&lt;a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012" class="m" target="_blank"&gt;http://channel9.msdn.com/Events/GoingNative/GoingNative-2012&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Главный рулез в том, что все это будет транслироваться в инете, так что необязательно ехать в Редмонд  &lt;img border='0' width='57' height='16' src='http://www.rsdn.ru/Forum/images/beer.gif' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rsdn/philosophy/~4/jE1lnjWINxc" height="1" width="1"/&gt;</description>
		
		<category>philosophy</category>
		<pubDate>Tue, 17 Jan 2012 00:16:28 GMT</pubDate>
		
			<author>jazzer &lt;forum@rsdn.ru&gt;</author>
		
		
			<slash:comments>3</slash:comments>
		
	</item>
</channel>
</rss>

