<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3734533</guid>
        <pubDate>Fri, 28 Jul 2017 20:07:57 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3734533</link>
        <description><![CDATA[Руслан: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3734371'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2017-07-27T21:19:25+03:00">27.07.17, 18:19</time></span><div class='quote '>&gt; Обсудим идеи как можно радикально облегчить и упростить программирование?</div></div><br>
В случае с вэбом, неплохой вариант начинать с создания толкового языка гипертекстовой разметки <span class="tag-color tag-color-named" data-value="gray" style="color: gray">(соответственно и браузера, понимающего как html-css-js, так и более толковый формат)</span>. В данный момент html(в широком смысле слова) - огромная жопа, с довольно таки вольно интерпретируемыми правилами.<br>
<br>
Впрочем, это вроде как обо всём и ни о чём.  :rolleyes:]]></description>
        <author>Руслан</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3734371</guid>
        <pubDate>Thu, 27 Jul 2017 18:19:25 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3734371</link>
        <description><![CDATA[Исмаил Прокопенко: Нучо там?<br>Какие идеи?]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3720440</guid>
        <pubDate>Sat, 06 May 2017 18:46:06 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3720440</link>
        <description><![CDATA[Исмаил Прокопенко: <a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=410629&view=findpost&p=3720438' target='_blank'>Тут</a> я сделал пару намёков &quot;куда дальше двигаться&quot;.<br>
<br>
Умному и по фантику от конфеты разгадает устройство вселенной, а дураку сколько не объясняй....<br>
<br>
Вообщем смотрите ссылку. Кому надо - тот поймет.<br>
А кто не поймёт о чем я - значит тому и не надо <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2017-05-06T18:49:14+00:00">06.05.17, 18:49</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3720368'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>OpenGL &#064; <time class="tag-quote__quoted-time" datetime="2017-05-06T06:12:54+00:00">06.05.17, 06:12</time></span><div class='quote '>Такое под силу только инженерам с зарплатой не более 25 тысяч</div></div><br>
Медсестра в Йошкар-Оле получает 5 тысяч, выполняет свою работу на &quot;5+&quot; и не жужит. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2017-05-06T18:50:45+00:00">06.05.17, 18:50</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3720368'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>OpenGL &#064; <time class="tag-quote__quoted-time" datetime="2017-05-06T06:12:54+00:00">06.05.17, 06:12</time></span><div class='quote '>Программисты же тупые. Как можно ожидать от них решение этой задачи? </div></div><br>
Вот и докажите, что это не так. Что Вы не зря едите свой хлеб и называете себя гордо &quot;ПРОГРАММИСТ&quot;. Разработайте семантик вьювер и диф. вифер]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3720368</guid>
        <pubDate>Sat, 06 May 2017 06:12:54 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3720368</link>
        <description><![CDATA[OpenGL: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3719572'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2017-05-02T15:55:32+00:00">02.05.17, 15:55</time></span><div class='quote '>Ждёшь когда её кто-то спроектирует за тебя?<br>
А ты тогда зачем нужен?<br>
Какой-же ты тогда программист?</div></div><br>
 :lool: <br>
Программисты же тупые. Как можно ожидать от них решение этой задачи? Такое под силу только инженерам с зарплатой не более 25 тысяч :D]]></description>
        <author>OpenGL</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3720145</guid>
        <pubDate>Thu, 04 May 2017 18:17:35 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3720145</link>
        <description><![CDATA[Исмаил Прокопенко: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3719836'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2017-05-03T20:54:38+00:00">03.05.17, 20:54</time></span><div class='quote '>Сколько раз приходилось переформатировать чужой код, чтобы его элементарно можно было читать. Сем антика при этом правда совсем не меняется, но CVS при этом мне показывает, что я вообще весь файл переписал. </div></div><br>
О том и речь.<br>
Если у тебя в репозитории ЧУЖОГО код только основные версии, и от версии в версии программисты увлекались рефакторингом, то встроенным (или внешним - без разницы) диф. вьювером определить &quot;чем же версии отличаются?&quot; практически невозможно.<br>
<br>
Т.е. понять &quot;что изменилось в семантике, идеологии, логике приложения?&quot; как правило невозможно.<br>
Потому что это займет столько времени, что проще переписать весь код с нуля]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719836</guid>
        <pubDate>Wed, 03 May 2017 20:54:38 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719836</link>
        <description><![CDATA[amk: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3719826'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2017-05-03T18:37:08+00:00">03.05.17, 18:37</time></span><div class='quote '>Когда например над кодом делают ревью, рефакторинг и т.п.<br>
Короче причесывают и приводят в Божеский Вид.<br>
Семантика при этом мало меняется. А вот внешний вид может поменяться радикально</div></div> А вот это для существующих систем действительно проблема. Сколько раз приходилось переформатировать чужой код, чтобы его элементарно можно было читать. Сем антика при этом правда совсем не меняется, но CVS при этом мне показывает, что я вообще весь файл переписал. Хотя я только некоторые строки на несколько разбил, и пробелы в начало строк вставлял, и кое-где внутри.<br>
С другой стороны, текст я всё-таки изменил, и мне нужно видеть эти изменения. Даже если я только пробелы в конце строк убрал.]]></description>
        <author>amk</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719826</guid>
        <pubDate>Wed, 03 May 2017 18:37:08 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719826</link>
        <description><![CDATA[Исмаил Прокопенко: <strong class='tag-b'>amk</strong> Да я просто первый пришедший в голову простейший пример привел.<br>
Можно придумать и другие.<br>
Когда например над кодом делают ревью, рефакторинг и т.п.<br>
Короче причесывают и приводят в Божеский Вид.<br>
Семантика при этом мало меняется. А вот внешний вид может поменяться радикально]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719811</guid>
        <pubDate>Wed, 03 May 2017 16:30:47 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719811</link>
        <description><![CDATA[amk: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3719572'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2017-05-02T15:55:32+00:00">02.05.17, 15:55</time></span><div class='quote '>Ждёшь когда её кто-то спроектирует за тебя?</div></div> У меня версионируется слишком много неструктурированных данных. В этом случае выигрыш от &quot;умной&quot; системы будет исчезающе мал. так стоит ли тратить силы?<br>
К тому же, даже в программах у меня редко встречается переименование переменных. И никогда такая переменная не встречалась аж в 50 местах. Судя по такой встречаемости, это глобальная переменная, используемая для связи процедур, а я глобальными переменными стараюсь для этой цели не пользоваться.]]></description>
        <author>amk</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719603</guid>
        <pubDate>Tue, 02 May 2017 19:27:55 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719603</link>
        <description><![CDATA[Славян: Не программист, к счастью. ;)]]></description>
        <author>Славян</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719600</guid>
        <pubDate>Tue, 02 May 2017 19:10:14 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719600</link>
        <description><![CDATA[Исмаил Прокопенко: <strong class='tag-b'>Славян</strong> А ВЫ что ваяете?<br>
Семантическую систему контроля версий сможете запилить за месяц?<br>
Программист Вы или где?]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719578</guid>
        <pubDate>Tue, 02 May 2017 16:32:57 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719578</link>
        <description><![CDATA[Славян: <strong class='tag-b'>Суровый</strong> уже тут ваял свою ОС. Результаты плачевны, сколько я помню... :lol:]]></description>
        <author>Славян</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719572</guid>
        <pubDate>Tue, 02 May 2017 15:55:32 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719572</link>
        <description><![CDATA[Исмаил Прокопенко: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3719448'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2017-05-01T05:14:29+00:00">01.05.17, 05:14</time></span><div class='quote '>Да я не против.</div></div><br>
Не понял.<br>
Что значит ты не против.<br>
Ты что?<br>
Ждёшь когда её кто-то спроектирует за тебя?<br>
А ты тогда зачем нужен?<br>
Какой-же ты тогда программист?<br>
Вобщем давай, &quot;вперёд и с песней&quot;©<br>
Чтобы через месяц семантическая система контроля версий тобой была сделана.]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719448</guid>
        <pubDate>Mon, 01 May 2017 05:14:29 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719448</link>
        <description><![CDATA[amk: Да я не против. Главное, чтобы она с простым и текстами продолжала работать. Иначе она нафиг никому не нужна.<br>Так же как визуальные среды разработки. Они хороши, пока остаётся возможность напрямую работать с текстом.<br>Только вот где ты увидел системы искусственного разума? Тем более &quot;повсюду&quot;.<br>И вообще надо было написать &quot;почти в 30-м&quot;. Круче выглядело бы.]]></description>
        <author>amk</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719446</guid>
        <pubDate>Mon, 01 May 2017 04:47:15 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719446</link>
        <description><![CDATA[Исмаил Прокопенко: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3719439'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2017-04-30T22:04:44+00:00">30.04.17, 22:04</time></span><div class='quote '> А чтобы семантику отследить, надо инструмент сравнимый по сложности с компилятором </div></div><br>
А никто не говорил, что будет легко.<br>
Но мы же не в 19-в веке живём, а почти что в 22-м. &quot;Будущее наступило&quot;© Повсюду внедряются системы искусственного разума.<br>
...<br>
Значит CVS должна подерживать язык описания семантики языков и прикладной области :victory:]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719439</guid>
        <pubDate>Sun, 30 Apr 2017 22:04:44 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719439</link>
        <description><![CDATA[amk: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3719430'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2017-04-30T20:34:00+00:00">30.04.17, 20:34</time></span><div class='quote '>А толку?</div></div> За их изменениями тоже приходится следить. А чтобы семантику отследить, надо инструмент сравнимый по сложности с компилятором делать. Фактически это и есть полный компилятор, только без генерации кода.]]></description>
        <author>amk</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719430</guid>
        <pubDate>Sun, 30 Apr 2017 20:34:00 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719430</link>
        <description><![CDATA[Исмаил Прокопенко: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3719426'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2017-04-30T19:58:36+00:00">30.04.17, 19:58</time></span><div class='quote '>Зато существующие CVS-системы хорошо работают с файлами с неизвестной им семантикой. </div></div><br>
А толку?]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719426</guid>
        <pubDate>Sun, 30 Apr 2017 19:58:36 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719426</link>
        <description><![CDATA[amk: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3719412'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2017-04-30T17:24:04+00:00">30.04.17, 17:24</time></span><div class='quote '>к слову, UML-диаграммы на работе я пишу, а не рисую. Их так элементарно проще версионировать.</div></div> Это говорит о том, что описание диаграммы хранится в текстовом файле. Если визуальный редактор не пересортировывает блоки диаграммы, то и его выход тоже должен неплохо версионироваться. Хуже, если он сортирует их в каком-нибудь порядке отображения на экране. Тогда простое перемещение блока вызывает не просто изменение его координат в тексте, а перетасовывает половину текста.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3719419'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2017-04-30T17:48:19+00:00">30.04.17, 17:48</time></span><div class='quote '>Настоящие системы контроля версий должны показывать не разницу в тексте, а разницу в СЕМАНТИКЕ</div></div> <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3719419'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2017-04-30T17:48:19+00:00">30.04.17, 17:48</time></span><div class='quote '>Обычная CVS покажет 157 изменений.<br>
А семантический диф вифер покажэт &quot;отличий нет&quot;</div></div> Как это нет? А переименованный идентификатор? Хотя бы одно это изменение всё равно должно отображаться.<br>
Зато существующие CVS-системы хорошо работают с файлами с неизвестной им семантикой.]]></description>
        <author>amk</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719419</guid>
        <pubDate>Sun, 30 Apr 2017 17:48:19 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719419</link>
        <description><![CDATA[Исмаил Прокопенко: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3719402'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Gus_Tarantoga &#064; <time class="tag-quote__quoted-time" datetime="2017-04-30T14:04:10+00:00">30.04.17, 14:04</time></span><div class='quote '>Парня, который высказал подобное (не помню где) конечно же обсмеяли. </div></div><br>
Не удивительно.<br>
Как говаривал, ЕМНИП, старина Нильс Бор (нобелевский лауреат): &quot;Все новые революционные научные идеи проходят 3 этапа отношения к ним людей:<br>
<br>
1. Да это же полная чушь (&quot;да это же курам насмех&quot;)<br>
2. А ведь в этом что-то есть<br>
3. А разве можно иначе?<br>
<br>
<br>
<br>
 &quot; <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2017-04-30T17:50:08+00:00">30.04.17, 17:50</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3719402'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Gus_Tarantoga &#064; <time class="tag-quote__quoted-time" datetime="2017-04-30T14:04:10+00:00">30.04.17, 14:04</time></span><div class='quote '> “Plain text” – прошлое. </div></div><br>
А современные системы контроля версий?<br>
Это же каменный век.<br>
Настоящие системы контроля версий должны показывать не разницу в тексте, а разницу в СЕМАНТИКЕ <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2017-04-30T17:51:38+00:00">30.04.17, 17:51</time></span></span><br>
Вот переименовал я идентификатор в 157-ми местах.<br>
Обычная CVS покажет 157 изменений.<br>
А семантический диф вифер покажэт &quot;отличий нет&quot; <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2017-04-30T17:53:31+00:00">30.04.17, 17:53</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3719412'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2017-04-30T17:24:04+00:00">30.04.17, 17:24</time></span><div class='quote '>Их так элементарно проще версионировать.</div></div><br>
А почему. А потому что CVS застряли в каменном веке]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719412</guid>
        <pubDate>Sun, 30 Apr 2017 17:24:04 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719412</link>
        <description><![CDATA[Flex Ferrum: <strong class='tag-b'>amk</strong>, к слову, UML-диаграммы на работе я пишу, а не рисую. Их так элементарно проще версионировать.]]></description>
        <author>Flex Ferrum</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719409</guid>
        <pubDate>Sun, 30 Apr 2017 15:53:56 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719409</link>
        <description><![CDATA[amk: <strong class='tag-b'>Gus_Tarantoga</strong><br>
Если отбросить в сторону рисование GUI, то из перечисленных задач остаются: моделирование систем в MATLAB, генерация кода на основе UML-диаграмм, формирование запросов к БД.<br>
И даже при этом большую часть сгенерированного кода (кроме разве MATLAB-а) приходится вводить вручную, либо непосредственно, либо в виде параметров.<br>
При этом как-то забывается, что и блок-схема в MATLAB, и UML-диаграмма, и описание формы GUI физически на диске представлены пусть и размеченным, но тем-же самым Plain Text.<br>
<br>
Было время (во времена FORTRAN-66), когда при сдаче программы требовалось обязательно предоставить её блок-схему. Но с появлением структурных языков типа Algol, Pascal, C внезапно обнаружилось, что разбираться с работой программы по этой блок-схеме труднее, чем непосредственно по грамотно оформленному тексту.<br>
Предлагаешь вернуться в те времена? <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2017-04-30T15:58:36+00:00">30.04.17, 15:58</time></span></span><br>
Кстати, написать класс генерации диалога на том же wxWidget вручную не намного сложнее, чем набросать его в визуальном редакторе. Мешает в основном плохое знание библиотеки - при пользовании визуальным редактором подробно знать библиотеку нет нужды. Однако многие возможности библиотеки в редакторе остаются недоступны. Хотя бы потому, что редактор может работать только со статическими формами, а библиотека создаёт их динамически.]]></description>
        <author>amk</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719402</guid>
        <pubDate>Sun, 30 Apr 2017 14:04:10 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3719402</link>
        <description><![CDATA[Gus_Tarantoga: Захотелось высказаться, что даже зарегистрировался. Тема застоя в ИТ.<br>Исмаил Прокопенко поднял интересную тему, но как обычно толкового разговора не получилось, с некоторой страницы пошло не то. У проф. программистов несколько суженое видение ситуации, это правда.<br>Хотя то о чем ТС говорил – plain text не лучшее и не единственное представление кода вполне обосновано.<br>Простой пример все знают, но почему-то не приводят – построение пользовательского интерфейса. Мышкой в основном, ага. Кропотливая задача превратилась в развлечение для школьника. Ну и чем не реализация этой идеи? В матлабе есть возможность строить блок-схемы для вычислений, которые затем трансформируются в исполняемый код. Так что кое, что уже давно реализовано и даже отлично работает. Генерация кода из UML реализована давно.<br>Вот, к примеру, задача. Есть пользовательский интерфейс описанный в xml. Задача – создать некий компилятор, который это описание трансформирует в С++ код. Qt это удалось.<br>Текст программы структурирован? Да. Какие из этого следуют выводы? Видимо этим надо как-то воспользоваться. Как?<br>Как то пришла идея (не мне первому и последнему) хранить код в некоей БД. С++ в реляционной, потому, что ООП имхо неплохо под нее ложится. Тогда некоторые задачи типа рефакторинг, построение разных диаграмм, IntelliSense решаются на раз-два. Парня, который высказал подобное (не помню где) конечно же обсмеяли. Хотя Qt нечто в этом роде и реализовали (использовали xml для построения GUI) и получилось весьма толково.<br>Как сделать с любым кодом? Пока вопрос, но думаю разрешимый. Например, одна функция это одна таблица. Тело функции запихать в поле мемо (в зазипованом виде?), плюс поля – сигнатура + флаги разные. Класс – таблица с реляционными связями на функции и другие классы. В общем, вполне можно, нужно только отбросить стереотипы и подумать. Сделать специализированную IDE не проблема, готовые компоненты для создания простой IDE (типа codeblock) есть, осталось только скрутить все вместе + прилада, которая будет из БД выдергивать или записывать текст по необходимости. Изменили интерфейс класса/сигнатуру функции? IDE либо изменит все дальше сама, по цепочке (если простой случай), либо покажет куда дальше лезть исправлять. Несколько толковых людей даже не самого высокого уровня вполне смогут реализовать подобное.<br>Максима: какой бы не был язык программирования, структурированный текст должен хранится в соответствующем удобном контейнере. Контейнер может быть даже текстовый, как html или xml, не суть. Придумали новый язык – придумайте и контейнер для него. И компилятор/интерпретатор должен его (контейнер) понимать. “Plain text” – прошлое.]]></description>
        <author>Gus_Tarantoga</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692714</guid>
        <pubDate>Wed, 09 Nov 2016 20:04:47 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692714</link>
        <description><![CDATA[wind: программирование - зло, что же ещё]]></description>
        <author>wind</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692707</guid>
        <pubDate>Wed, 09 Nov 2016 17:55:35 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692707</link>
        <description><![CDATA[prografix: Мне тоже интересно. Вот <strong class='tag-b'>Исмаил Прокопенко</strong> доказал себе, что ООП - это плохо. Дальше то что?]]></description>
        <author>prografix</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692527</guid>
        <pubDate>Tue, 08 Nov 2016 15:01:41 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692527</link>
        <description><![CDATA[applegame: Отстаньте от Исмаила Прокопенко. Я хочу приобщиться к новому&#33;<br>
Исмаил, вы говорите ООП - это плохо. Допустим вы правы и ООП - действительно плохо.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692135'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T07:51:54+00:00">07.11.16, 07:51</time></span><div class='quote '>Годами и ДЕСЯТИЛЕТИЯМИ создается то, что можно было создавать за пару недель.</div></div>Я прочитал этот текст и бросил ООП, и теперь внимательно слушаю, как можно написать за пару недель, то что Flex Ferrum пишет десятилетиями. Я верю, что вы не пустословите и такое действительно возможно, осталось самая мелочь: ответить в общих чертах на вопрос КАК?<br>
А то я уже получил деньги на разработку двух новых операционных систем в течение месяца (по две недели на каждую ОС), не хотелось бы их возвращать.]]></description>
        <author>applegame</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692345</guid>
        <pubDate>Tue, 08 Nov 2016 07:35:08 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692345</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692263'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T16:38:46+00:00">07.11.16, 16:38</time></span><div class='quote '>Это понятно. Но при этом в программирование вносится достаточно сложный и трудоемкий процесс проектирования архитекуры.</div></div><br>
Как-то я это пропустил.<br>
Ну да, вносится. Вы можете, не обладая архитектурными навыками, построить халупу у себя на даче. И она даже не развалится (наверное). Но чтобы построить что-то серьёзное - надо таки знать, <em class='tag-i'>как</em> строить.]]></description>
        <author>Flex Ferrum</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692343</guid>
        <pubDate>Tue, 08 Nov 2016 07:30:00 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692343</link>
        <description><![CDATA[OpenGL: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692263'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T16:38:46+00:00">07.11.16, 16:38</time></span><div class='quote '>Это понятно. Но при этом в программирование вносится достаточно сложный и трудоемкий процесс проектирования архитекуры.</div></div><br>
Ну да. И что? Или вы можете предложить какой-то способ избежать этот этап, сохранив при этом плюсы его наличия?]]></description>
        <author>OpenGL</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692342</guid>
        <pubDate>Tue, 08 Nov 2016 07:27:06 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692342</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692284'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T19:29:18+00:00">07.11.16, 19:29</time></span><div class='quote '>Давайте не будем затуманивать детям мозги.<br>
И скажем проще: набор методов для каждого из которых определена &quot;морда лица&quot; и для чего нужен (за что отвечает) каждый элемент &quot;морды&quot; в отдельности или в совокупности с другими элементами.</div></div><br>
А давайте без &quot;давайте&quot;. Вы спросили как я считаю. Я ответил так, как считаю, без излишней примитивизации. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-11-08T07:28:11+00:00">08.11.16, 07:28</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692304'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T21:36:45+00:00">07.11.16, 21:36</time></span><div class='quote '>А при процедурном подходе, этого что, знать не нужно? Только при процедурном подходе вся эта &quot;морда&quot; размазана по всей программе и имеет длиннющие имена процедур, за которыми приходится следить.</div></div><br>
Да это при любом подходе нужно. Если есть взаимодействующие сущности - значит, нужен специфицированный протокол их взаимодействия, ака интерфейс. На какую музыку этот протокол будет переложен - это уже вопрос реализации.]]></description>
        <author>Flex Ferrum</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692304</guid>
        <pubDate>Mon, 07 Nov 2016 21:36:45 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692304</link>
        <description><![CDATA[amk: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692284'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T19:29:18+00:00">07.11.16, 19:29</time></span><div class='quote '>Я же пытался убедить их, что интерфейс это не только &quot;морда лица&quot;, что в интерфейс также входит инфа (опять раздувание интерфейса) для чего нужен (за что отвечает) каждый элемент &quot;морды&quot;.</div></div> А при процедурном подходе, этого что, знать не нужно? Только при процедурном подходе вся эта &quot;морда&quot; размазана по всей программе и имеет длиннющие имена процедур, за которыми приходится следить.]]></description>
        <author>amk</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692284</guid>
        <pubDate>Mon, 07 Nov 2016 19:29:18 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692284</link>
        <description><![CDATA[Исмаил Прокопенко: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692277'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T17:42:38+00:00">07.11.16, 17:42</time></span><div class='quote '>В общем случае - это набор методов, для каждого из которого сформулирован чёткий контракт </div></div><br>
Давайте не будем затуманивать детям мозги.<br>
И скажем проще: набор методов для каждого из которых определена &quot;морда лица&quot; и для чего нужен (за что отвечает) каждый элемент &quot;морды&quot; в отдельности или в совокупности с другими элементами.<br>
<br>
И кстати, Вы правильно сказали: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692141'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T07:58:24+00:00">07.11.16, 07:58</time></span><div class='quote '>Вам не приходило в голову, что сигнатура метода - это лишь часть контракта? Не приходило в голову, что вы далеко не всегда можете описать контракт средствами языка программирования? </div></div><br>
Мне это &quot;приходило в голову&quot;.<br>
Более того. Я кричал об этом на программистских форумах программистам, уверявшим меня, что для работы с классом им ничего кроме его &quot;морды&quot; знать не надо. Что имя метода уже содержит достаточно инфы.<br>
Я же пытался убедить их, что интерфейс это не только &quot;морда лица&quot;, что в интерфейс также входит инфа (опять раздувание интерфейса) для чего нужен (за что отвечает) каждый элемент &quot;морды&quot;. За что они отвечают по отдельности и/или в совокупности.<br>
А чтобы получить эту инфу нужно либо лезть в исходный код класса либо курить какое-то описалово. А значит только имени НЕЗНАКОМОГО метода в НЕЗНАКОМОЙ программе недостаточно, для его правильного использования.]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692277</guid>
        <pubDate>Mon, 07 Nov 2016 17:42:38 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692277</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692275'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T17:26:22+00:00">07.11.16, 17:26</time></span><div class='quote '>Я точно с программистом разговариваю? </div></div><br>
Не, не с программистом. С архитектором. :) <br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692275'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T17:26:22+00:00">07.11.16, 17:26</time></span><div class='quote '>Тогда вопрос от &quot;дилетанта&quot;.<br>
Что такое &quot;интерфейс&quot; в Вашем понимании.</div></div><br>
Интерфейс - это формализованный способ взаимодействия объектов в проектируемой системы. В общем случае - это набор методов, для каждого из которого сформулирован чёткий контракт - Какие варианты входных параметров к каким результатам приводят. Если приводят.<br>
<br>
В коде (в зависимости от характера интерфейса) он описывается либо в виде абстрактного класса, если это интерфейс крупной подсистемы, либо совокупностью публичных/защищенных/свободных/статических методов класса, если речь о конкретном классе.<br>
<br>
Предвосхищая вопрос. Классы, которые являются параметрами этих методов, тоже являются частью интерфейса, так как у них есть свои контракты, на которые полагаются взаимодействующие стороны.]]></description>
        <author>Flex Ferrum</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692275</guid>
        <pubDate>Mon, 07 Nov 2016 17:26:22 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692275</link>
        <description><![CDATA[Исмаил Прокопенко: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692274'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T17:20:14+00:00">07.11.16, 17:20</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692273'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T17:13:10+00:00">07.11.16, 17:13</time></span><div class='quote '>Т.е. я и про полиморфизм не в курсе?</div></div><br>
С учётом того, как вы употребляйте &lt;прим. СОВСЕМ ДРУГИЕ. НЕ ОТНОСЯЩИЕСЯ К ПОЛИМОРФИЗМУ&gt; термины - высока вероятность, что нет, не в курсе.</div></div><br>
Телепатия, вероятность,..<br>
Я точно с программистом разговариваю? <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-11-07T17:29:13+00:00">07.11.16, 17:29</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692274'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T17:20:14+00:00">07.11.16, 17:20</time></span><div class='quote '>как вообще проектировать интерфейсы.</div></div><br>
Тогда вопрос от &quot;дилетанта&quot;.<br>
Что такое &quot;интерфейс&quot; в Вашем понимании.<br>
<br>
Конкретно в коде как он выглядит и что из себя представляет]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692274</guid>
        <pubDate>Mon, 07 Nov 2016 17:20:14 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692274</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692273'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T17:13:10+00:00">07.11.16, 17:13</time></span><div class='quote '>Т.е. я и про полиморфизм не в курсе?</div></div><br>
С учётом того, как вы употребляйте термины - высока вероятность, что нет, не в курсе. <br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692273'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T17:13:10+00:00">07.11.16, 17:13</time></span><div class='quote '>Что еще (из того что я НЕ говорил, но Вы используя телепатию узнали) я не знаю?</div></div><br>
Что такое ООП на самом деле, как правильно декомпозировать проектируемую систему/предметную область на объекты/подсистемы, как выстраивать между ними взаимосвязи, как проектировать фасады подсистем, как вообще проектировать интерфейсы. Как-то так.]]></description>
        <author>Flex Ferrum</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692273</guid>
        <pubDate>Mon, 07 Nov 2016 17:13:10 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692273</link>
        <description><![CDATA[Исмаил Прокопенко: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692264'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T16:55:40+00:00">07.11.16, 16:55</time></span><div class='quote '> что - полиморфизм</div></div><br>
Т.е. я и про полиморфизм не в курсе?<br>
Хотя о нем пока разговора не было, но Вы уже как-то поняли, что и про него я НИЧЕГО не понимаю.<br>
Опять телепатия?<br>
Что еще (из того что я НЕ говорил, но Вы используя телепатию узнали) я не знаю?<br>
<br>
Не. &lt;_&lt; <br>
Не получится у нас с Вами разговора.<br>
Вы телепат, а я нет.<br>
Силы не равные.<br>
<br>
Будьте здравы.]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692272</guid>
        <pubDate>Mon, 07 Nov 2016 17:10:08 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692272</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692268'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T17:03:31+00:00">07.11.16, 17:03</time></span><div class='quote '>Что же Вы совершенно незнакомого человека, об опыте и знаниях которого Вы не имеете НИКАКИХ представлений, фактически лузером называете?</div></div><br>
Вы знаете, я достаточно в своей жизни провёл собеседований, чтобы по тому, как и что человек говорит, делать выводы о его квалификации. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-11-07T17:12:07+00:00">07.11.16, 17:12</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692271'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T17:08:01+00:00">07.11.16, 17:08</time></span><div class='quote '>Только почему об этом никто не пишет, не орет на каждом углу?<br>
Зачем детям врут? Почему не говорят всей правды?</div></div><br>
Мне кажется, проблема не в том, что детям врут, а в том, как вы поняли то, что прочитали. :)]]></description>
        <author>Flex Ferrum</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692271</guid>
        <pubDate>Mon, 07 Nov 2016 17:08:01 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692271</link>
        <description><![CDATA[Исмаил Прокопенко: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692264'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T16:55:40+00:00">07.11.16, 16:55</time></span><div class='quote '>А то, что пользователь класса зависит от того, какие типы используются в интерфейсе класса - ну да, факт</div></div><br>
Только почему об этом никто не пишет, не орет на каждом углу?<br>
Зачем детям врут? Почему не говорят всей правды?]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692270</guid>
        <pubDate>Mon, 07 Nov 2016 17:07:07 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692270</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692263'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T16:38:46+00:00">07.11.16, 16:38</time></span><div class='quote '>декларируется одно, а по факту имеем куча запутанных трудно прослеживаемых зависимостей. В которых только профи путем многолетнего натаскивания могут разобраться.</div></div><br>
Мало про инструмент знать. Надо ещё уметь им пользоваться. А ООП - не самая простая в освоении методология.<br>
<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692263'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T16:38:46+00:00">07.11.16, 16:38</time></span><div class='quote '>программист должен определить кортежи СРАЗУ многих классов и он не имеет права на ошибку. Т.е. по частям проектировать архитектуру не получится. А если архитектура очень большая? </div></div><br>
Если архитектура &quot;очень большая&quot;, то она строится методом декомпозиции. На каждом уровне иерархии системы определяются интерфейсы, и только в их терминах происходит/формулируется взаимодействие. Как таковой проблемы нет. И да, я строил такие архитектуры.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692263'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T16:38:46+00:00">07.11.16, 16:38</time></span><div class='quote '>Так как переделка архитектуры на этапе когда код уже почти написан - тот еще геморрой. <br>
</div></div><br>
Не такой геморрой,  как кажется. Если связи и высокоуровневые интерфейсы изначально выстраивались грамотно, то всё относительно несложно.]]></description>
        <author>Flex Ferrum</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692269</guid>
        <pubDate>Mon, 07 Nov 2016 17:05:38 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692269</link>
        <description><![CDATA[AVA12: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Оказывается Вы до сих пор ходите на курсы (упоминалась аббревиатура RUP). Сколько можно учиться?</div></div><br>
Хе-хе. Ну прям анекдот про студентку и Эйнштейна.]]></description>
        <author>AVA12</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692268</guid>
        <pubDate>Mon, 07 Nov 2016 17:03:31 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692268</link>
        <description><![CDATA[Исмаил Прокопенко: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692264'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T16:55:40+00:00">07.11.16, 16:55</time></span><div class='quote '>Исмаил Прокопенко, на пассаж про собственную школу отвечать не буду. Считайте, что я лузер, если вам от этого будет легче. Мне то всё равно пофиг, что вы там для себя решите.</div></div><br>
Что неприятно?<br>
Что же Вы совершенно незнакомого человека, об опыте и знаниях которого Вы не имеете НИКАКИХ представлений, фактически лузером называете?<br>
Даже толком не разобравшись в том, что он предлагает и даже не попытавшись найти рациональное зерно в его рассуждениях.<br>
<br>
Быстры вы на суд  &lt;_&lt;]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692264</guid>
        <pubDate>Mon, 07 Nov 2016 16:55:40 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692264</link>
        <description><![CDATA[Flex Ferrum: <strong class='tag-b'>Исмаил Прокопенко</strong>, на пассаж про собственную школу отвечать не буду. Считайте, что я лузер, если вам от этого будет легче. Мне то всё равно пофиг, что вы там для себя решите.<br>
<br>
На счёт фразы - ну, вы сами виноваты, что выделили её капсом. Вас никто не заставлял это делать. Про инкапсуляцию... Вы явно путаете этот термин со связностью. Потому что инкапсуляция - это совсем про другое. А то, что пользователь класса зависит от того, какие типы используются в интерфейсе класса - ну да, факт. Так, собственно, и задумано. Это нормально. Но в ваших руках, руках проектировщика интерфейса, не превратить эту зависимость в ад. Для этого существует несколько техник, но вам для начала нужно разобраться с тем, что есть такое инкапсуляция, что - связность, что - полиморфизм. Ну, коль скоро боретесь рассуждать на такие темы.]]></description>
        <author>Flex Ferrum</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692263</guid>
        <pubDate>Mon, 07 Nov 2016 16:38:46 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692263</link>
        <description><![CDATA[Исмаил Прокопенко: Отвечу на это.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692215'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T12:39:12+00:00">07.11.16, 12:39</time></span><div class='quote '>что вы говорили в этой теме, очень похоже на советы бабулек в очереди к терапевту. Примерно тот же уровень компетенции</div></div><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692254'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T15:57:43+00:00">07.11.16, 15:57</time></span><div class='quote '>Ваши рассуждения - рассуждения дилетанта</div></div><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692148'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T08:07:39+00:00">07.11.16, 08:07</time></span><div class='quote '> вы совершенно не разбираетесь в предмете. </div></div><br>
<br>
Вот Вы, типа, как профи себя позиционируете.<br>
Только возникает вопрос: вот у Вас 30 лет опыта коддинга, куча сделанных проектов, куча законченных курсов и сертификатов. И прочая и прочая.<br>
<br>
Казалось бы такой как Вы должен уже иметь свое направление в программировании, кучу учеников из США, которые ездят послушать Ваш курс лекции и получше освоить предложенную Вами новую концепцию в программировании.<br>
<br>
А что мы видим? Оказывается Вы до сих пор ходите на курсы (упоминалась аббревиатура RUP). Сколько можно учиться?<br>
Может пора уже учить? А?<br>
Иметь свою научную школу. Учеников, которые ездят на Ваш курс со всего мира. Не?<br>
Придумать наконец СВОЮ СОБСТВЕННУЮ концепцию в программировании.<br>
Не?<br>
<br>
Сколько можно?<br>
<br>
Почему все новое в АйТи идет к нам с запада, а мы только на осваиваем и на курсы ходим. Неужели же мы, россияне, сами настолько слабоумные дауны, что имея 30 лет опыта в коддинге, не может свою собственную концепцию/парадигму в программировании разработать и чтобы у нас весь мир учился.<br>
<br>
А? <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-11-07T16:45:34+00:00">07.11.16, 16:45</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692254'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T15:57:43+00:00">07.11.16, 15:57</time></span><div class='quote '>В результате не получается, что &quot;всё связано со всем&quot;.</div></div><br>
Да что вы все докопались до этой фразы?<br>
Я же сказал что это бал сарказм, гипербола, аллегория. Просто выражение негативных эмоций по поводу большого числа трудно прослеживаемых зависимостей между классами.<br>
Мне написать это себе на лбу, чтобы мне каждый раз не тыкали этой фразой: &quot;все связано со всем&quot;.<br>
<br>
<br>
А главное негатив относился к тому, почему в книжках ВРУТ про интерфейс и инкапсуляцию.<br>
<br>
Почему не говорят, что в общем случае интерфейс класса - это не только список заголовков его методов. А в общем случае еще и список заголовков методов всех классов, которые данный класс использует как поля, параметры или базовые<br>
Почему врут про инкапсуляцию? Ведь на самом деле инкапсуляции никакой нет если ты юсаешь объекты в качестве параметров. Так как ты НЕ МОЖЕШЬ менять внешний, по отношению к классу код классов-параметров, как тебе вздумается <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-11-07T16:47:56+00:00">07.11.16, 16:47</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692254'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T15:57:43+00:00">07.11.16, 15:57</time></span><div class='quote '>Вообще же, уменьшение внутренней связности проектируемой системы - это одна из основных задач и целей ООП/ООД. </div></div><br>
Я в курсе. Поэтому меня и возмутило: декларируется одно, а по факту имеем куча запутанных трудно прослеживаемых зависимостей. В которых только профи путем многолетнего натаскивания могут разобраться.<br>
<br>
А казалось бы с такими декларациями &quot;любая домохозяйка ...&quot;.<br>
<br>
Ан нет. Выкуси. Не любая. И никакого упрощения не произошло <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-11-07T16:52:28+00:00">07.11.16, 16:52</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692262'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T16:38:05+00:00">07.11.16, 16:38</time></span><div class='quote '>Я писал, что набор типов/классов, используемых в интерфейсах, ограничевается на этапе проектирования этого самого интерфейса как раз, чтобы избежать ситуации, когда все связаны со всеми. Вы разбиваете все, что у вас есть, на группы классов, объединяете эти группы в пакеты/модули и выбираете - что будет использоваться на границе пакета/модуля, а что всегда будет внутри. Или опять не понятно? </div></div><br>
Это понятно. Но при этом в программирование вносится достаточно сложный и трудоемкий процесс проектирования архитекуры.<br>
Как я уже писал,программист должен определить кортежи СРАЗУ многих классов и он не имеет права на ошибку. Т.е. по частям проектировать архитектуру не получится. А если архитектура очень большая? Вот где раздолье для багов. Это по вашему упрощение?<br>
А переделка архитектуры на этапе когда код уже почти написан - тот еще геморрой. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-11-07T16:53:37+00:00">07.11.16, 16:53</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692262'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T16:38:05+00:00">07.11.16, 16:38</time></span><div class='quote '>Где я предложил использовать в интерфейсах только базовые типы? Правильно, нигде. Я писал, что набор типов/классов, используемых в интерфейсах, ограничевается на этапе проектирования этого самого интерфейса </div></div><br>
Так я же и говорил: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692261'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T16:28:35+00:00">07.11.16, 16:28</time></span><div class='quote '>или в крайнем случает 1-2 класса на все классы программы?</div></div><br>
Не заметили?]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692262</guid>
        <pubDate>Mon, 07 Nov 2016 16:38:05 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692262</link>
        <description><![CDATA[Flex Ferrum: <strong class='tag-b'>Исмаил Прокопенко</strong>, вы внимательно меня читаете? Где я предложил использовать в интерфейсах только базовые типы? Правильно, нигде. Я писал, что набор типов/классов, используемых в интерфейсах, ограничевается на этапе проектирования этого самого интерфейса как раз, чтобы избежать ситуации, когда все связаны со всеми. Вы разбиваете все, что у вас есть, на группы классов, объединяете эти группы в пакеты/модули и выбираете - что будет использоваться на границе пакета/модуля, а что всегда будет внутри. Или опять не понятно?]]></description>
        <author>Flex Ferrum</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692261</guid>
        <pubDate>Mon, 07 Nov 2016 16:28:35 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692261</link>
        <description><![CDATA[Исмаил Прокопенко: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692254'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T15:57:43+00:00">07.11.16, 15:57</time></span><div class='quote '>То, что при описании интерфейса одного класса могут использоваться другие классы (или интерфейсы), ещё не означает, что &quot;всё связано со всем&quot;. Более того, использование в интерфейсах любых доступных классов будет скорее говорить о низком качестве проектирования. </div></div><br>
<br>
Повторю, что на подобные возражения я говорил на другом форуме:<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Ну если ограничиваться только базовыми/встроенными типами (имеются в виду типы формальных параметров у методов) и писать программы уровня &quot;Халоу Ворлд&quot; - то нет проблем. А если ты разрабатываешь (как я) систему искусственного разума, то быстро упираешься в ограничения и проблемы ООП</div></div><br>
<br>
Т.е., как я понял, Вы предлагаете НЕ использовать параметры-объекты?<br>
Использовать только базовые/встроенные типы (int, char, float, ...) или в крайнем случает 1-2 класса на все классы программы?<br>
Так?<br>
В этом заключена сермяжная правда ООП? <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-11-07T16:31:53+00:00">07.11.16, 16:31</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692254'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T15:57:43+00:00">07.11.16, 15:57</time></span><div class='quote '>Ваши рассуждения - рассуждения дилетанта</div></div><br>
Иногда дилетант решает проблему, которую не могли решить профи.<br>
Просто потому, что профи полагали, что задача не имеет решения.]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692254</guid>
        <pubDate>Mon, 07 Nov 2016 15:57:43 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692254</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692247'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T15:06:52+00:00">07.11.16, 15:06</time></span><div class='quote '>Докажите. Если Вы не тролль. Дам Вам еще один шанс. </div></div><br>
О как&#33; Исмаил, тут вам в пору доказывать, что вы - не тролль. :)<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692247'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T15:06:52+00:00">07.11.16, 15:06</time></span><div class='quote '>Распишите, где я допустил ошибку в своих рассуждениях.</div></div><br>
Эм... Как бы так сказать, по-культурнее. Ваши рассуждения - рассуждения дилетанта. Если конкретно, то ошибка вот в этом переходе:<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3691987'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-06T09:50:43+00:00">06.11.16, 09:50</time></span><div class='quote '>Бинго&#33;<br>
Получается, что раскрутив всю логическую цепочку, мы видим, что фактически интерфейсом класса является СПИСОК ОПИСАННЫХ ВОВНЕ ДРУГИХ КЛАССОВ. А у тех классов интерфейс – это тоже список описанных вне их классов. И т.д.<br>
<br>
Короче, получается, что ВСЕ СВЯЗАНО СО ВСЕМ.<br>
Т.е. при ООП никакого упрощения программирования не происходит.</div></div><br>
То, что при описании интерфейса одного класса могут использоваться другие классы (или интерфейсы), ещё не означает, что &quot;всё связано со всем&quot;. Более того, использование в интерфейсах любых доступных классов будет скорее говорить о низком качестве проектирования. В реальной жизни и реальных же задачах в интерфейсе класса используется ограниченное количество других сущностей (классов, типов), что достаточно сильно улучшает управляемость всей конструкции. Вся совокупность классов в проектируемой системе разбивается на пакеты с высокой степенью изолированности друг от друга. Связи между пакетами - по строго специфицированным интерфейсам, при описании которых используется ограниченное число публичных (для пакета) типов. Внутренние (для пакетов) классы наружу не лезут. Ну и всё в том же духе. В результате <em class='tag-i'><strong class='tag-b'>не</strong></em> получается, что &quot;всё связано со всем&quot;. Если при этом проектировщик специально заботится о количестве и качестве связей между пакетами - то система выходит достаточно стройной и легко управляемой. Такие дела.<br>
<br>
Вообще же, уменьшение внутренней связности проектируемой системы - это одна из основных задач и целей ООП/ООД. Пресловутая аббревиатура SOLID - как раз об этом.]]></description>
        <author>Flex Ferrum</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692247</guid>
        <pubDate>Mon, 07 Nov 2016 15:06:52 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692247</link>
        <description><![CDATA[Исмаил Прокопенко: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692215'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T12:39:12+00:00">07.11.16, 12:39</time></span><div class='quote '>То, что вы говорили в этой теме, очень похоже на советы бабулек в очереди к терапевту. Примерно тот же уровень компетенции</div></div><br>
Докажите. Если Вы не тролль. Дам Вам еще один шанс. <br>
Распишите, где я допустил ошибку в своих рассуждениях.<br>
<br>
Только без хамства, &quot;переходов на личности&quot; и без общих фраз типа &quot;как всем известно ...&quot; и жонглирования терминологией. <div class="tag-spoiler spoiler closed"><div class="spoiler_header" onclick="openCloseParent(this)">Гы :) Про &quot;терминологию&quot;</div><div class="body">На другом форуме один из участников, желая меня &quot;уесть&quot; и показать мне свою крутость скопипастил из википедии &quot;интерфейс - это абстрактный класс&quot;. Когда я его спросил: &quot;а что? Не абстрактный класс не имеет интерфейса?&quot; он сразу стал хамить и в конце концов слился так и не сумев ответить на вопрос. Надеюсь Вы так не сделаете когда я Вам начну задавать &quot;неудобные вопросы&quot; </div></div> А конкретно, понятно и по существу того, что я говорил, а не вообще.<br>
<br>
А то Ваши сентенции в стиле &quot;мне кажется&quot; и &quot;переходы на личности&quot; убедительности Вашим словам не добавляют.<br>
<br>
Может мой взгляд и отличается от Вашего на некоторые вещи, но это не говорит о том, что Ваша точка зрения правильная, а моя нет.<br>
<br>
А то, что у меня в трудовой книжке нет записи &quot;программист&quot; - это еще не значит, что я ничего не смыслю в программировании.]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692237</guid>
        <pubDate>Mon, 07 Nov 2016 14:25:14 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692237</link>
        <description><![CDATA[amk: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692091'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>wind &#064; <time class="tag-quote__quoted-time" datetime="2016-11-06T21:58:16+00:00">06.11.16, 21:58</time></span><div class='quote '>в смехогрехе санитарный день?</div></div> День открытых дверей.]]></description>
        <author>amk</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692215</guid>
        <pubDate>Mon, 07 Nov 2016 12:39:12 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692215</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692214'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T12:30:59+00:00">07.11.16, 12:30</time></span><div class='quote '>Да я &quot;консерваториев не кончал&quot; может коряво выражаюсь.<br>
Ну так я же не программист. Никогда на него не учился. И никогда им не работал. Я самоучка. Но тем не менее. Код пописывал довольно долго.<br>
И книжечки почитывал. И о многих вещах, о которых никто не задумывался, задумывался.</div></div><br>
ЧДТ. То, что вы говорили в этой теме, очень похоже на советы бабулек в очереди к терапевту. Примерно тот же уровень компетенции, о чём вам и было мною сказано несколько постов назад. Если хотите поговорить о том, как ООП используется в реальных проектах - нет проблем, задавайте вопросы, обсудим. А приходить и с умным видом вещать, что через микроскоп звёзды не видно и им гвозди неудобно забивать - ну так, эмм, пардон, аудитория не та.]]></description>
        <author>Flex Ferrum</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692214</guid>
        <pubDate>Mon, 07 Nov 2016 12:30:59 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692214</link>
        <description><![CDATA[Исмаил Прокопенко: <strong class='tag-b'>AVA12</strong><br>
Ладно. Закончим с Вами.<br>
Вижу что серьезного вдумчивого разговора о проблемах с Вами не получится. Как не получилось с <strong class='tag-b'>Flex Ferrum</strong>.<br>
Вы тоже начинаете передергивать, подтролливать и играть в игру &quot;я умный ты дурак&quot; и &quot;ты дурак потому что дурак&quot;. Вместо того, чтобы попытаться найти рациональное зерно в том, что я пишу.<br>
Да я &quot;<em class='tag-i'>консерваториев не кончал</em>&quot; может коряво выражаюсь.<br>
Ну так я же не программист. Никогда на него не учился. И никогда им не работал. Я самоучка. Но тем не менее. Код пописывал довольно долго.<br>
И книжечки почитывал. И о многих вещах, о которых никто не задумывался, задумывался.<br>
<br>
Вообще, пока не вижу смысла с Вами общаться.<br>
Все что хотел Вам сказать, я сказал.<br>
А принимать это или не принимать - Ваше дело.<br>
<br>
А вести спор ради спора, чтобы поразвлечь Вас, мне не интересно]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692211</guid>
        <pubDate>Mon, 07 Nov 2016 12:01:57 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692211</link>
        <description><![CDATA[AVA12: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Таким образом, класс X уже &quot;завязался&quot; на 4 класса: Y,Z,W,U.</div></div><br>
И чо? Один класс зависит от других - это нормально. Вы лучше расскажите, какой из этих классов вам пришлось перелопачивать, зачем пришлось это делать и почему именно так, а не иначе. Вот это будет пример.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Кто-то не знаком с такими литературными приемами как &quot;гипербола&quot;, &quot;аллегория&quot; и &quot;сарказм&quot;?<br>
 Нельзя же все буквально понимать.</div></div><br>
Так может <em class='tag-i'>все</em>, что вы написали - это гиперболическая аллегория, и воспринимать это всерьез не нужно?<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Вас приучили (надрессировали) к стилю программирования, когда не стоит что-то менять в архитектуре даже если ошибся или знаешь как ее улучшить.</div></div><br>
Да как же у вас получается <em class='tag-i'>настолько</em> ошибаться? Вы что, сразу плодите божественных монстров на все случаи жизни, а потом выясняете, что случаи бывают <em class='tag-i'>очень</em> разные? Ну так не надо этого делать.]]></description>
        <author>AVA12</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692203</guid>
        <pubDate>Mon, 07 Nov 2016 11:23:02 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692203</link>
        <description><![CDATA[Исмаил Прокопенко: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692189'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>AVA12 &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T10:45:56+00:00">07.11.16, 10:45</time></span><div class='quote '>Мне ни разу не приходилось продумывать <strong class='tag-b'><span class='tag-u'>одновременно все</span></strong> контракты</div></div><br>
<br>
Кто-то не знаком с такими литературными приемами как &quot;гипербола&quot;, &quot;аллегория&quot; и &quot;сарказм&quot;?<br>
Нельзя же все буквально понимать.<br>
<br>
Естественно чтобы АБСОЛЮТНО ВСЕ И СРАЗУ - такое редко бывает.<br>
А вот что несколько классов завязаны друг на друга - такое сплошь и рядом.<br>
Когда класс нельзя изменить &quot;без оглядки&quot; на другие <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-11-07T11:24:14+00:00">07.11.16, 11:24</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692189'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>AVA12 &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T10:45:56+00:00">07.11.16, 10:45</time></span><div class='quote '>А если следовать вашей логике, то никакие API в принципе невозможны.</div></div><br>
Ну это уже передергивание.<br>
&quot;Сложно&quot; не значит &quot;невозможно&quot; <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-11-07T11:28:20+00:00">07.11.16, 11:28</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692189'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>AVA12 &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T10:45:56+00:00">07.11.16, 10:45</time></span><div class='quote '>Зачем это делать?</div></div><br>
Я понимаю чем вызвано Ваше недоумение. Потому что Вас приучили (надрессировали) к стилю программирования, когда не стоит что-то менять в архитектуре даже если ошибся или знаешь как ее улучшить. Так как это повлечет изрядный гимор и большой объем по переделке кода. Поэтому процветает такой подход, когда баги в архитектуре не исправляются, а обходятся и завуалируются. Разного рода обертками, переопределениями в потомках и т.п.<br>
Вот поэтому я и говорю.<br>
Что мало того, что нужно сразу продумать довольно большой набор кортежей вида <strong class='tag-b'><em class='tag-i'>имя_метода_класса(класс1, класс2, ..., классN)</em></strong>.<br>
А если ошибся - потом уже не исправишь. Слишком большой гимор потому что будет.<br>
И обычная практика это не исправлять баги проектирования.<br>
А завуалировать и обходить их.<br>
Разного рода обертками, переопределениями в потомках и т.п. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-11-07T11:34:58+00:00">07.11.16, 11:34</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692189'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>AVA12 &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T10:45:56+00:00">07.11.16, 10:45</time></span><div class='quote '>Вообще же самые серьезные проблемы создания правильных интерфейсов возникают при проектировании всяких API. Вот тут действительно приходится вертеться, ведь готовые приложения уже не перепишешь. Документация по Win32 API, например, читается, как приключенческий роман - четко видна история развития и то, как разработчики стелили соломку и обходили грабли. </div></div><br>
Да я в курсе.<br>
Изучал для общего развития исходники MFC.<br>
Там гавнокод на гавнокоде.<br>
И никакой книжной красоты ОО-архитектуры и в помине нет]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692201</guid>
        <pubDate>Mon, 07 Nov 2016 11:19:12 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692201</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692186'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>OpenGL &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T10:28:30+00:00">07.11.16, 10:28</time></span><div class='quote '>А вот кстати - какие бы ты книги посоветовал на эту тему, кроме уже упомянутой? </div></div><br>
Помимо этого - &quot;Object-Oriented Software Construction&quot; Мэйера. Но лично у меня основные знания - от прослушанных курсов по RUP.]]></description>
        <author>Flex Ferrum</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692200</guid>
        <pubDate>Mon, 07 Nov 2016 11:17:06 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692200</link>
        <description><![CDATA[Исмаил Прокопенко: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692189'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>AVA12 &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T10:45:56+00:00">07.11.16, 10:45</time></span><div class='quote '>Ну предъявите же этот худший случай&#33; Я просто не представляю, как можно так влипнуть. </div></div><br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>&quot;ИсмаилПркопенко</span><div class='quote '>Ну ладно. Раз Вы так умоляете (хотя ей Богу не пойму: что непонятного-то в том, что я написал выше?)<br>
Самой простой случай.<br>
Есть класс X.<br>
В нем метод g(Y,Z)<br>
Классы Y,Z описаны, естественно, вне класса X.<br>
В теле g вызываются метод h(W) класса Y и метод j(U) класса Z.<br>
Таким образом, класс X уже &quot;завязался&quot; на 4 класса: Y,Z,W,U.<br>
А ведь это очень примитивный пример.<br>
В реале все гораздо сложней и запутанней.</div></div>]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692189</guid>
        <pubDate>Mon, 07 Nov 2016 10:45:56 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692189</link>
        <description><![CDATA[AVA12: <strong class='tag-b'>Исмаил Прокопенко</strong>:<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Но ситуация выглядит так: программист, в худшем случае, должен БЕЗОШИБОЧНО написать СРАЗУ ВСЕ кортежи сразу ВСЕХ зависимых классов</div></div><br>
Ну предъявите же этот худший случай&#33; Я просто не представляю, как можно так влипнуть. Мне ни разу не приходилось продумывать одновременно все контракты (тем более, что программы развиваются, порой непредсказуемым образом). Я не держу в голове детали работы всех-всех классов, мне вполне хватает &quot;кэша&quot; на несколько нужных в данный момент. Да, мне приходится иногда перелопачивать интерфейсы и зависящие от них классы, но только для новых интерфейсов, когда &quot;примеряю&quot; их на новые классы, а далее приходится только расширять, ничего не ломая. Правда, я пишу не энерпрайзные мегапроекты и не на плюсах, так что, возможно, в плюсах все действительно так плохо. Ну так покажите пример&#33;<br>
<br>
Вообще же самые серьезные проблемы создания правильных интерфейсов возникают при проектировании всяких API. Вот тут действительно приходится вертеться, ведь готовые приложения уже не перепишешь. Документация по Win32 API, например, читается, как приключенческий роман - четко видна история развития и то, как разработчики стелили соломку и обходили грабли. И ведь справлялись же&#33; А если следовать вашей логике, то никакие API в принципе невозможны.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Примеры в студию.</div></div><br>
Вы же утверждаете, что граблепад неизбежен, я же только сомневаюсь, так что примеры с вас.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Как можно изменить имя метода класса X, чтобы использующие его другие классы &quot;не заметили&quot; этого?</div></div><br>
<em class='tag-i'>Зачем</em> это делать? Коллизия имен? Ну так это можно заранее предусмотреть - чем специфичнее поведение, тем специфичнее имя.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Как можно изменить типа параметра в классе X или вообще его убрать, чтобы использующие его другие классы &quot;не заметили&quot; этого?</div></div><br>
<em class='tag-i'>Зачем</em> это делать? Устаревший параметр? Ну так можно просто его игнорировать. Или просто убрать, и пусть устаревший код не компилируется.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Как можно вообще удалить из интерфейса некоторый метод в классе X, чтобы использующие его другие классы &quot;не заметили&quot; этого?</div></div><br>
<em class='tag-i'>Зачем</em> это делать? Устаревший метод? Опять же, поставить заглушку или пусть не компилируется.]]></description>
        <author>AVA12</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692186</guid>
        <pubDate>Mon, 07 Nov 2016 10:28:30 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692186</link>
        <description><![CDATA[OpenGL: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692145'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T08:02:16+00:00">07.11.16, 08:02</time></span><div class='quote '>Читать умные книжки про принципы проектирования систем, системный анализ, архитектуру, паттерны проектирования и т. п. Хотя бы осилить букварь Гарди Буча &quot;Объектно-ориентированный анализ и проектирование&quot;.<br>
</div></div><br>
А вот кстати - какие бы ты книги посоветовал на эту тему, кроме уже упомянутой? :)]]></description>
        <author>OpenGL</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692150</guid>
        <pubDate>Mon, 07 Nov 2016 08:09:57 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692150</link>
        <description><![CDATA[Flex Ferrum: :D  :D  :D <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-11-07T08:19:40+00:00">07.11.16, 08:19</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692149'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T08:09:25+00:00">07.11.16, 08:09</time></span><div class='quote '>Вы делаете вброс, из которого видно, что Вы вообще не въехали, о чем речь.</div></div><br>
Так и о чём же речь? Я то грешным делом подумал про проектирование ПО и приложение этой дисциплины к языку С++. А вы про что? <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-11-07T08:34:15+00:00">07.11.16, 08:34</time></span></span><br>
Эх... Ну вот... Спугнул...]]></description>
        <author>Flex Ferrum</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692149</guid>
        <pubDate>Mon, 07 Nov 2016 08:09:25 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692149</link>
        <description><![CDATA[Исмаил Прокопенко: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692148'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T08:07:39+00:00">07.11.16, 08:07</time></span><div class='quote '>Поймите - вы делаете вброс, из которого видно, что вы совершенно не разбираетесь в предмете.</div></div><br>
Вы делаете вброс, из которого видно, что Вы вообще не въехали, о чем речь.<br>
Но при этом сразу стали &quot;надувать щеки&quot; и давать рецепты лечения и наклеивать ярлыки.<br>
Досвиданья]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692148</guid>
        <pubDate>Mon, 07 Nov 2016 08:07:39 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692148</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692146'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T08:04:17+00:00">07.11.16, 08:04</time></span><div class='quote '>Вы либо нормальным языком рассказываете, либо я пас общаться с Вами. </div></div><br>
А чего рассказать то? Как программы на C++ писать? Интерфейсы классов прорабатывать? :) Поймите - вы делаете вброс, из которого видно, что вы совершенно не разбираетесь в предмете. Примерно как &quot;Зачем лечить воспаление антибиотиками, когда подорожник приложить можно&quot;. А потом просите что-то вам объяснить, опровергнуть очевидную глупость. Зачем?]]></description>
        <author>Flex Ferrum</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692146</guid>
        <pubDate>Mon, 07 Nov 2016 08:04:17 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692146</link>
        <description><![CDATA[Исмаил Прокопенко: <strong class='tag-b'>Flex Ferrum</strong><br>
Ладно.<br>
Я с Вами достаточно пообщался. А полезной инфы вынес ноль.<br>
Играть с Вами в &quot;угадайку&quot; (попробуй угадай, что я имел в виду) и игру &quot;я умный - ты дурак&quot; (где роль &quot;умного&quot; Вы без всяких на то оснований выбрали для себя) мне не интересно. Давно уже вышел из детсадовского возраста.<br>
Вы либо нормальным языком рассказываете, либо я пас общаться с Вами. <br>
Впрочем, я по любому, пас.]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692145</guid>
        <pubDate>Mon, 07 Nov 2016 08:02:16 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692145</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692142'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T08:00:37+00:00">07.11.16, 08:00</time></span><div class='quote '>А что дальше? А как этого можно избежать/обойти? А что еще можно придумать?</div></div><br>
Читать умные книжки про принципы проектирования систем, системный анализ, архитектуру, паттерны проектирования и т. п. Хотя бы осилить букварь Гарди Буча &quot;Объектно-ориентированный анализ и проектирование&quot;.]]></description>
        <author>Flex Ferrum</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692142</guid>
        <pubDate>Mon, 07 Nov 2016 08:00:37 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692142</link>
        <description><![CDATA[Исмаил Прокопенко: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692138'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T07:55:39+00:00">07.11.16, 07:55</time></span><div class='quote '>для обладателя скилла &quot;Не хочу думать, хочу программировать&quot;. </div></div><br>
Нужно не только думать. А еще и задумываться.<br>
А что дальше? А как этого можно избежать/обойти? А что еще можно придумать?]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692141</guid>
        <pubDate>Mon, 07 Nov 2016 07:58:24 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692141</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692135'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T07:51:54+00:00">07.11.16, 07:51</time></span><div class='quote '>А Вам не приходило в голову, что в software можно изменить само понятия &quot;контракта&quot;?<br>
И уйти от представления интерфейса в виде списка кортежей</div></div><br>
А вам не приходило в голову, что понятие контракта - оно универсально и представление (даже в области разработки ПО) в виде списка кортежей - это лишь одно из? Вам не приходило в голову, что сигнатура метода - это лишь <em class='tag-i'>часть</em> контракта? Не приходило в голову, что вы далеко не всегда можете описать контракт средствами языка программирования?]]></description>
        <author>Flex Ferrum</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692140</guid>
        <pubDate>Mon, 07 Nov 2016 07:58:20 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692140</link>
        <description><![CDATA[Исмаил Прокопенко: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692133'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T07:47:01+00:00">07.11.16, 07:47</time></span><div class='quote '>Ага. Есть у меня такой скилл. </div></div><br>
Понятно.<br>
Значит никакой конкретики/деталей от Вас не будет.<br>
Ну что ж. Произнести с умным видом какой-нибудь специальный термин (типа &quot;абстрактные интерфейсы&quot;), причем ни к месту, а потом &quot;уйти в тень&quot; - так очень просто выглядеть умным. :victory:]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692138</guid>
        <pubDate>Mon, 07 Nov 2016 07:55:39 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692138</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692135'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T07:51:54+00:00">07.11.16, 07:51</time></span><div class='quote '>Вы так говорите, как будто рады этому.</div></div><br>
Нет. Я это говорю, потому что перед тем, как что-либо делать, надо бы подумать, как именно это делать. Ну или делать как-то так:<br>
<div class="tag-spoiler spoiler closed"><div class="spoiler_header" onclick="openCloseParent(this)">Скрытый текст</div><div class="body"><img class='tag-img' src='http://alittlebit.ru/upload/iblock/382/production.jpg' alt='user posted image'></div></div><br>
 - это специально для обладателя скилла &quot;Не хочу думать, хочу программировать&quot;.]]></description>
        <author>Flex Ferrum</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692135</guid>
        <pubDate>Mon, 07 Nov 2016 07:51:54 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692135</link>
        <description><![CDATA[Исмаил Прокопенко: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692124'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T07:36:41+00:00">07.11.16, 07:36</time></span><div class='quote '>Вообще то именно для этого и существует этап проектирования</div></div><br>
Вы так говорите, как будто рады этому.<br>
Ну правильно. Я писал об этом.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692052'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-06T17:53:56+00:00">06.11.16, 17:53</time></span><div class='quote '>Годами и ДЕСЯТИЛЕТИЯМИ создается то, что можно было создавать за пару недель.<br>
Зато все счастливы и <strong class='tag-b'><span class='tag-u'>программисты чувствуют себя важными людьми, надувают щёки и получают хорошие зарплаты</span></strong>.<br>
<br>
Хотя можно было из 10 тыс. программистов оставить одного который бы делал даже больше. </div></div><br>
Т.е. программисты САМИ НЕ ЗАИНТЕРЕСОВАНЫ, чтобы программирование упростилось, чтобы программировать мог любой и чтобы один программист мог заменить 1000. Ведь тогда они уже не смогут быть незаменимыми, &quot;надувать щеки&quot; от важности и получать хорошие зарплаты <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-11-07T07:54:24+00:00">07.11.16, 07:54</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692133'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T07:47:01+00:00">07.11.16, 07:47</time></span><div class='quote '>Я не передёргиваю. Проблема одностороннего нарушения контракта - она существует как в software, так и в hardware. Да и вообще, она существует. Чаще всего в software (в силу того, что подавляющее число программ ничего критически-важного не делают) эта проблема не так серьёзна, как в hardware. Но для софта, применяемого в областях, где от работоспособности программы зависят жизни людей или функционирование вполне себе реальных объектов, contract violation так же серьёзен, как и в области hardware. </div></div><br>
А Вам не  приходило в голову, что в software можно изменить само понятия &quot;контракта&quot;?<br>
И уйти от представления интерфейса в виде списка кортежей]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692133</guid>
        <pubDate>Mon, 07 Nov 2016 07:47:01 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692133</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692129'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T07:43:28+00:00">07.11.16, 07:43</time></span><div class='quote '>Вы передергиваете.<br>
Программирование это все же не электрика.<br>
Поэтому и назвали software в противоположность hardware.<br>
И проблемы, существующие в hardware, сглажены или вообще отсутствуют в software. И в software допустимы такие трюки, которые в hardware привели бы к катастрофе или огромным затратам.</div></div><br>
Я не передёргиваю. Проблема одностороннего нарушения контракта - она существует как в software, так и в hardware. Да и вообще, она существует. Чаще всего в software (в силу того, что подавляющее число программ ничего критически-важного не делают) эта проблема не так серьёзна, как в hardware. Но для софта, применяемого в областях, где от работоспособности программы зависят жизни людей или функционирование вполне себе реальных объектов, contract violation так же серьёзен, как и в области hardware. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-11-07T07:47:22+00:00">07.11.16, 07:47</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692131'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T07:45:32+00:00">07.11.16, 07:45</time></span><div class='quote '>Вы кроме всего прочего еще и телепат?</div></div><br>
Ага. Есть у меня такой скилл.]]></description>
        <author>Flex Ferrum</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692131</guid>
        <pubDate>Mon, 07 Nov 2016 07:45:32 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692131</link>
        <description><![CDATA[Исмаил Прокопенко: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692128'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T07:41:51+00:00">07.11.16, 07:41</time></span><div class='quote '>Исмаил, вы очень толсто троллите.</div></div><br>
Когда у человека нет доводов в споре, он скатывается на хамство и оскорбления. Например, начинает обвинять оппонента в троллинге. <br>
Т.е. у Вас реально аргументов нет получается? <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-11-07T07:46:39+00:00">07.11.16, 07:46</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692130'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T07:43:48+00:00">07.11.16, 07:43</time></span><div class='quote '>Вы, возможно, и в курсе. Но сдаётся мне, что не умеете всем этим пользоваться. </div></div><br>
Вы кроме всего прочего еще и телепат?]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692130</guid>
        <pubDate>Mon, 07 Nov 2016 07:43:48 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692130</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692126'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T07:40:08+00:00">07.11.16, 07:40</time></span><div class='quote '>Ну да. Куда нам. Конечно же я не в курсе про абстрактные классы и чисто виртуальные методы. Спасибо что открыли Америку.</div></div><br>
Вы, возможно, и в курсе. Но сдаётся мне, что не умеете всем этим пользоваться.]]></description>
        <author>Flex Ferrum</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692129</guid>
        <pubDate>Mon, 07 Nov 2016 07:43:28 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692129</link>
        <description><![CDATA[Исмаил Прокопенко: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692106'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T06:41:23+00:00">07.11.16, 06:41</time></span><div class='quote '>Но ладно. Представим себе такую ситуевину - серебряную пулю изобрели и интерфейсы (и контракты) стало можно менять незаметно для пользователей. И вот однажды приходит Исмаил к себе домой, а там вся техника - сгоревшая. Это просто электрики (никого не предупредив) изменили контракт интерфейса - вместо 220 начали подавать 380. Не, нуачо? Можно ведь... Или вот яблочники - нет, чтобы пользоваться стандартным Micro-USB, изобретают вот новые яблоки. Был разъём для ушей - и нету теперь. Нужно специальные адаптеры покупать. Не, нуачо? Явочным образом менять контракты и интерфейсы - это ведь так здорово&#33; </div></div><br>
Вы передергиваете.<br>
Программирование это все же не электрика.<br>
Поэтому и назвали software в противоположность hardware.<br>
И проблемы, существующие в hardware, сглажены или вообще отсутствуют в software. И в software допустимы такие трюки, которые в hardware привели бы к катастрофе или огромным затратам.]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692128</guid>
        <pubDate>Mon, 07 Nov 2016 07:41:51 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692128</link>
        <description><![CDATA[Flex Ferrum: Исмаил, вы очень толсто троллите. :)]]></description>
        <author>Flex Ferrum</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692126</guid>
        <pubDate>Mon, 07 Nov 2016 07:40:08 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692126</link>
        <description><![CDATA[Исмаил Прокопенко: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692106'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T06:41:23+00:00">07.11.16, 06:41</time></span><div class='quote '> Тут можно было бы рассказать про техники уменьшения связности</div></div><br>
Что за техники такие?<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692106'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T06:41:23+00:00">07.11.16, 06:41</time></span><div class='quote '>но не буду</div></div><br>
Понятно. Они должны остаться известными только членам секты свидетелей Йоговы.<br>
Но подозреваю тут другое. Вы просто боитесь, что я разобью все Ваши контраргументы в пух и прах, когда Вы от общих &quot;умных слов&quot; перейдете к конкретике.<br>
<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692106'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T06:41:23+00:00">07.11.16, 06:41</time></span><div class='quote '>проектирование на уровне абстрактных интерфейсов</div></div><br>
Ну да. Куда нам. Конечно же я не в курсе про абстрактные классы и чисто виртуальные методы. Спасибо что открыли Америку.]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692124</guid>
        <pubDate>Mon, 07 Nov 2016 07:36:41 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692124</link>
        <description><![CDATA[Flex Ferrum: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692117'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T07:21:42+00:00">07.11.16, 07:21</time></span><div class='quote '>Т.е. мало того, что программист должен ПРОДУМАТЬ интерфейсы СРАЗУ ВСЕХ зависимых (в т.ч. косвенно) классов, так он при проектировании должен ЗАРАНЕЕ предусмотреть какие изменения возможны в системе интерфейсов.<br>
Т.е. задача еще больше усложняется.</div></div><br>
Вообще то именно для этого и существует этап проектирования - собираются требования, выделяются компоненты/классы, прорабатываются интерфейсы их взаимодействия. Чем ответственней и качественнее будет выполнена эта работа, тем меньше гемора будет на последующих этапах разработки. И&#33; После того, как интерфейс начал использоваться, стоимость его изменения должна быть относительно высока. В идеале, весь код, использующий интерфейс, должен стать некомпилируемым при малейшем изменении контракта. Это гарантирует, что все пользователи интерфейса перейдут с одной его версии на другую. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-11-07T07:39:57+00:00">07.11.16, 07:39</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692117'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Исмаил Прокопенко &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T07:21:42+00:00">07.11.16, 07:21</time></span><div class='quote '>В этом, собственно, все что я хотел сказать.<br>
Что на самом деле если в методах класс параметры и поля тоже классы, то никакой инкапсуляции уже нет, так как &quot;кишки&quot; твоего класса зависят от &quot;кишок&quot; других (&quot;внешних&quot;) классов.<br>
И на самом-то деле интерфейсом твоего класса является список заголовков методов не только &quot;твоего&quot; класса, но и ВСЕХ внешних классов, которые прямо или косвенно &quot;используются&quot; в твоем классе в качестве параметров, полей или базовых классов.</div></div><br>
Исмаил, вы плохо понимаете, о чём говорите. Я бы вам порекомендовал начать с букварей, в которых &quot;детям пудрят мозги&quot;, а конкретно - с тех их разделов, где пудрят мозги на предмет forward declaration, abstract classes и (pure) virtual functions. Есть масса техник уменьшения связности кода в C++. Эти техники просто надо уметь использовать. И к ООП всё это имеет довольно слабое отношение.]]></description>
        <author>Flex Ferrum</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692117</guid>
        <pubDate>Mon, 07 Nov 2016 07:21:42 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692117</link>
        <description><![CDATA[Исмаил Прокопенко: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692095'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>AVA12 &#064; <time class="tag-quote__quoted-time" datetime="2016-11-06T23:21:18+00:00">06.11.16, 23:21</time></span><div class='quote '>Насчет орграфа зависимостей я знаю, мне непонятно только, ПОЧЕМУ непременно должны получаться хрупкие монстры, малейшие изменения в которых рушат весь код?&#33;</div></div><br>
Естественно не ЛЮБЫЕ изменения &quot;рушат код&quot;.<br>
Но ситуация выглядит так: программист, <span class='tag-u'>в худшем случае</span>, должен БЕЗОШИБОЧНО написать СРАЗУ ВСЕ кортежи сразу ВСЕХ зависимых классов {кортеж - в смысле список вида: <em class='tag-i'>имя_метода(параметр1, параметр2, ..., параметрN</em>}, а потом не может их менять. Так как эти кортежи уже много где используются. При желании, конечно можно и <s class='tag-s'>мпх сломать</s> изменить состав методов, их имена и сигнатуры. Формально этого никто не запрещает.<br>
Но в <strong class='tag-b'><span class='tag-u'>сложных</span></strong> случаях это так гиморно, что по затратам сравнимо с проектированием системы классов с нуля. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-11-07T07:29:33+00:00">07.11.16, 07:29</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692095'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>AVA12 &#064; <time class="tag-quote__quoted-time" datetime="2016-11-06T23:21:18+00:00">06.11.16, 23:21</time></span><div class='quote '>Короче, есть много способов кардинально изменить интерфейс, при этом не порушив уже использующий его код.</div></div><br>
Примеры в студию.<br>
<br>
Как можно изменить имя метода класса X, чтобы использующие его другие классы &quot;не заметили&quot; этого?<br>
<br>
Как можно изменить типа параметра в классе X или вообще его убрать, чтобы использующие его другие классы &quot;не заметили&quot; этого?<br>
<br>
Как можно вообще удалить из интерфейса некоторый метод в классе X, чтобы использующие его другие классы &quot;не заметили&quot; этого?<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692095'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>AVA12 &#064; <time class="tag-quote__quoted-time" datetime="2016-11-06T23:21:18+00:00">06.11.16, 23:21</time></span><div class='quote '>Короче, есть много способов кардинально изменить интерфейс, при этом не порушив уже использующий его код.</div></div><br>
<br>
Только все эти способы основаны на том, что программист ЗАРАНЕЕ должен знать, что будет, возможно, изменяться. ЗАРАНЕЕ, Карл.<br>
<br>
Т.е. мало того, что программист должен ПРОДУМАТЬ интерфейсы СРАЗУ ВСЕХ зависимых (в т.ч. косвенно) классов, так он при проектировании должен ЗАРАНЕЕ предусмотреть какие изменения возможны в системе интерфейсов.<br>
Т.е. задача еще больше усложняется. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-11-07T07:35:14+00:00">07.11.16, 07:35</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407960&view=findpost&p=3692106'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Flex Ferrum &#064; <time class="tag-quote__quoted-time" datetime="2016-11-07T06:41:23+00:00">07.11.16, 06:41</time></span><div class='quote '>Идея придумывать (и описывать) интерфейсы, по которым компоненты системы взаимодействуют между собой, кажется Исмаилу контрпродуктивной. Ну-ну.</div></div><br>
Я об этом не говорил. Не надо передергивать.<br>
Я лишь хотел сказать, что в книжках по ООП в С++ детям пудрят мозги.<br>
В этом, собственно, все что я хотел сказать.<br>
Что на самом деле если в методах класс параметры и поля тоже классы, то никакой инкапсуляции уже нет, так как &quot;кишки&quot; твоего класса зависят от &quot;кишок&quot; других (&quot;внешних&quot;) классов.<br>
И на самом-то деле интерфейсом твоего класса является список заголовков методов не только &quot;твоего&quot; класса, но и ВСЕХ внешних классов, которые прямо или косвенно &quot;используются&quot; в твоем классе в качестве параметров, полей или базовых классов.]]></description>
        <author>Исмаил Прокопенко</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692106</guid>
        <pubDate>Mon, 07 Nov 2016 06:41:23 +0000</pubDate>
        <title>Обсудим идеи как можно радикально облегчить и упростить программирование?</title>
        <link>https://forum.sources.ru/index.php?showtopic=407960&amp;view=findpost&amp;p=3692106</link>
        <description><![CDATA[Flex Ferrum: Ух, как нажористо то... Идея придумывать (и описывать) интерфейсы, по которым компоненты системы взаимодействуют между собой, кажется Исмаилу контрпродуктивной. Ну-ну. :D Тут можно было бы рассказать про техники уменьшения связности, проектирование на уровне абстрактных интерфейсов и проч., но не буду. Зачем осквернять такой бурный фонтан откровений толикой здравого смысла? <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-11-07T06:53:00+00:00">07.11.16, 06:53</time></span></span><br>
Но ладно. Представим себе такую ситуевину - серебряную пулю изобрели и интерфейсы (и контракты) стало можно менять незаметно для пользователей. И вот однажды приходит Исмаил к себе домой, а там вся техника - сгоревшая. Это просто электрики (никого не предупредив) изменили контракт интерфейса -  вместо 220 начали подавать 380. Не, нуачо? Можно ведь... Или вот яблочники - нет, чтобы пользоваться стандартным Micro-USB, изобретают вот новые яблоки. Был разъём для ушей - и нету теперь. Нужно специальные адаптеры покупать. Не, нуачо? Явочным образом менять контракты и интерфейсы - это ведь так здорово&#33;]]></description>
        <author>Flex Ferrum</author>
        <category>Обсуждаем новые идеи</category>
      </item>
	
      </channel>
      </rss>
	