<?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=336682&amp;view=findpost&amp;p=3892512</guid>
        <pubDate>Mon, 03 Jul 2023 11:47:45 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=3892512</link>
        <description><![CDATA[kopilov: Ещё и Ceylon похоронил :)]]></description>
        <author>kopilov</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=3892496</guid>
        <pubDate>Sun, 02 Jul 2023 20:37:14 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=3892496</link>
        <description><![CDATA[IL_Agent: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2941541'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>jack128 &#064; <time class="tag-quote__quoted-time" datetime="2011-07-21T10:44:28+00:00">21.07.11, 10:44</time></span><div class='quote '>Как считаете, взлетит/не взлетит?? </div></div><br>
Таки взлетел :)]]></description>
        <author>IL_Agent</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=3179031</guid>
        <pubDate>Fri, 27 Jul 2012 10:45:23 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=3179031</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=3179016'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>jack128 &#064; <time class="tag-quote__quoted-time" datetime="2012-07-27T10:34:03+00:00">27.07.12, 10:34</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=3178982'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2012-07-27T10:08:52+00:00">27.07.12, 10:08</time></span><div class='quote '>JS мне не интересен</div></div><br>
эх-хе-хех... Если бы мне был бы интересен js, я б kotlin for js и не не смотрел :-(</div></div><br>
А, ну я имею в виду, что он мне не интересен как целевая платформа в данном контексте.<br>
Хотя теперь можно писать веб-сервер и серверное ПО под Node.JS на Kotlin.]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=3179016</guid>
        <pubDate>Fri, 27 Jul 2012 10:34:03 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=3179016</link>
        <description><![CDATA[jack128: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=3178982'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2012-07-27T10:08:52+00:00">27.07.12, 10:08</time></span><div class='quote '>JS мне не интересен</div></div><br>
эх-хе-хех... Если бы мне был бы интересен js, я б kotlin for js и не не смотрел :-(]]></description>
        <author>jack128</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=3178982</guid>
        <pubDate>Fri, 27 Jul 2012 10:08:52 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=3178982</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=3178974'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>jack128 &#064; <time class="tag-quote__quoted-time" datetime="2012-07-27T09:59:13+00:00">27.07.12, 09:59</time></span><div class='quote '>а котлин for javascript там работает??</div></div><br>
Вот не пробовал, т.к. было уже поздно, да и JS мне не интересен. =)<br>
Может сегодня позже гляну.<br>
<br>
Вообще у них есть <a class='tag-url' href='http://kotlin-demo.jetbrains.com/' target='_blank'>Web demo</a>, где можно попробовать компиляцию в JS.]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=3178974</guid>
        <pubDate>Fri, 27 Jul 2012 09:59:13 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=3178974</link>
        <description><![CDATA[jack128: а котлин for javascript там работает??]]></description>
        <author>jack128</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=3178585</guid>
        <pubDate>Thu, 26 Jul 2012 18:16:42 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=3178585</link>
        <description><![CDATA[korvin: А между тем, он действительно вышел, хотя и пока не «production-ready» версия.<br>
<br>
<a class='tag-url' href='http://www.youtube.com/watch?v=BhCDeCKdsGU&feature=youtube_gdata_player' target='_blank'>http://www.youtube.com/watch?v=BhCDeCKdsGU...be_gdata_player</a>]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=3171098</guid>
        <pubDate>Sun, 15 Jul 2012 07:46:54 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=3171098</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=3170949'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2012-07-14T21:01:55+00:00">14.07.12, 21:01</time></span><div class='quote '>Ну как, кто-нибудь попробовал kotlin в реальной жизни и может поделиться впечатлениями?</div></div><br>
А уже вышла реализация? Я бы попробовал, хотя пока не в &quot;продакшене&quot;, а то мало ли чего там недопричесали =)]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=3170949</guid>
        <pubDate>Sat, 14 Jul 2012 21:01:55 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=3170949</link>
        <description><![CDATA[D_KEY: Ну как, кто-нибудь попробовал kotlin в реальной жизни и может поделиться впечатлениями?]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2952704</guid>
        <pubDate>Thu, 04 Aug 2011 04:12:36 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2952704</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2952702'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-08-04T04:09:19+00:00">04.08.11, 04:09</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2952281'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2011-08-03T13:36:01+00:00">03.08.11, 13:36</time></span><div class='quote '>На мой взгляд, статическую и динамическую типизацию можно свести грамотно в одном языке, как раз через систему контрактов(пред- и пост- условий, а также инвариантов), которая позволит в одних случаях что-то требовать, в других, что-то гарантировать, в остальных же - не препятствовать.</div></div><br>
На мой взгляд, их не надо сводить вместе. Да и не получится. Статика опять же захочет иметь &quot;пред- и пост- условия&quot; загодя, а динамика &quot;да ну их, потом разберемся&quot; :)</div></div><br>
Думаю, что это возможно разрулить.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2952281'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2011-08-03T13:36:01+00:00">03.08.11, 13:36</time></span><div class='quote '>Мне smalltalk понравился(правда опыта мало), но вот синтаксис просто ужасный.</div></div><br>
Попробуй Io/Ioke. Из Smalltalk&#39;а он взял, пожалуй, больше всех, но при этом подмешано функциональное, которое в большей степени &quot;подсластило&quot; синтаксис и он уже не такой зубодробительный.</div></div><br>
Спасибо за совет :) <br>
Вроде не пробовал.]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2952702</guid>
        <pubDate>Thu, 04 Aug 2011 04:09:19 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2952702</link>
        <description><![CDATA[Guderian: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2952281'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2011-08-03T13:36:01+00:00">03.08.11, 13:36</time></span><div class='quote '>Так в том и дело, что в случае динамики у тебя вообще нет этого контракта.</div></div><br>
А кто сказал, что он мне нужен? Разные парадигмы - разные подходы. ООП:<br>
1. Копать умеешь?<br>
2. Тогда переоденься в спецодежду.<br>
3. Копай.<br>
Динамика:<br>
1. Копай.<br>
2. Не умеешь - не копай.<br>
Как-то так :)<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2952281'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2011-08-03T13:36:01+00:00">03.08.11, 13:36</time></span><div class='quote '>На мой взгляд, статическую и динамическую типизацию можно свести грамотно в одном языке, как раз через систему контрактов(пред- и пост- условий, а также инвариантов), которая позволит в одних случаях что-то требовать, в других, что-то гарантировать, в остальных же - не препятствовать.</div></div><br>
На мой взгляд, их не надо сводить вместе. Да и не получится. Статика опять же захочет иметь &quot;пред- и пост- условия&quot; загодя, а динамика &quot;да ну их, потом разберемся&quot; :)<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2952281'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2011-08-03T13:36:01+00:00">03.08.11, 13:36</time></span><div class='quote '>А с Ruby что не так?</div></div><br>
Попробуй определи на нем новый метод в классе, потом его переопредели, а потом удали. У меня не получилось. В расово чистых языках, где все есть объект, это естественные операции, ибо класс - есть тоже объект. В Руби же, даже возможность добавления нового метода объясняется тем, что якобы определение класса просто не закрыто.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2952281'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2011-08-03T13:36:01+00:00">03.08.11, 13:36</time></span><div class='quote '>Мне smalltalk понравился(правда опыта мало), но вот синтаксис просто ужасный.</div></div><br>
Попробуй Io/Ioke. Из Smalltalk&#39;а он взял, пожалуй, больше всех, но при этом подмешано функциональное, которое в большей степени &quot;подсластило&quot; синтаксис и он уже не такой зубодробительный.]]></description>
        <author>Guderian</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2952281</guid>
        <pubDate>Wed, 03 Aug 2011 13:36:01 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2952281</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2952265'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-08-03T13:26:14+00:00">03.08.11, 13:26</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2950136'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2011-08-01T21:15:16+00:00">01.08.11, 21:15</time></span><div class='quote '>Ты уверен, что ты получаешь доступ к методу foo, именно через контракт number? Ведь в этом контракте о foo ничего не сказано </div></div><br>
Я как раз уверен, что не получу :)</div></div><br>
Так в том и дело, что в случае динамики у тебя вообще нет этого контракта.<br>
На мой взгляд, статическую и динамическую типизацию можно свести грамотно в одном языке, как раз через систему контрактов(пред- и пост- условий, а также инвариантов), которая позволит в одних случаях что-то требовать, в других, что-то гарантировать, в остальных же - не препятствовать.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2951200'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-08-02T18:52:14+00:00">02.08.11, 18:52</time></span><div class='quote '>Зато концепция у него интересная - объекты и ничего кроме объектов. На поверку почти все они оказываются словарями, но словари опять же содержат объекты.</div></div><br>
Тогда тебе прямая дорога в Smalltalk, Self, вышеупомянутый Io. Вот там воистину все объекты.</div></div><br>
А с Ruby что не так? Мне smalltalk понравился(правда опыта мало), но вот синтаксис просто ужасный.]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2952265</guid>
        <pubDate>Wed, 03 Aug 2011 13:26:14 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2952265</link>
        <description><![CDATA[Guderian: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2946999'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-07-28T13:59:45+00:00">28.07.11, 13:59</time></span><div class='quote '>Дело в том, что слово &#39;детерминированный&#39; к объектам в программировании почти не применяется.</div></div><br>
Что подразумевается под объектами? Инстансы? Так это экземпляры конкретных классов с конкретным же способом инициализации. С какой стороны термин применить? А вот к типам, переменным - почему нет. В том же драфте индекс четко содержит variable indeterminate и активно оперирует термином (не)детерминированности как к процессу вычисления типов, так и к процессу инициализации переменных.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2946999'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-07-28T13:59:45+00:00">28.07.11, 13:59</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=336682&view=findpost&p=2946999'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-07-28T13:59:45+00:00">28.07.11, 13:59</time></span><div class='quote '>Согласись, говорить, что сущность, которая просто обязаны быть детерминированной - детерминирована - это то же самое, что говорить, что масло является маслянистым.</div></div><br>
Если этот паттерн переложить на то, о чем я говорил, то number является integer&#39;истым, number является natural&#39;истым и т.п. Является полиморфный тип тем, чем он является? Или мы не можем определить наверняка, что он в данный момент представляет и смотрим сквозь замочную скважину контракта? А если я использую в качестве предиката недетерминированную функцию? Полиморфный тип все равно всех детерминирует не смотря ни на что?<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2946999'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-07-28T13:59:45+00:00">28.07.11, 13:59</time></span><div class='quote '>Именно этот вариант, похоже, ты и реализовал (что это за язык, кстати).</div></div><br>
Это <a class='tag-url' href='http://en.wikipedia.org/wiki/Io_(programming_language)' target='_blank'>Io</a>, как я и писал.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2946999'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-07-28T13:59:45+00:00">28.07.11, 13:59</time></span><div class='quote '>И такой полиморфизм динамически реализуем и в языках со статической типизацией (с одной поправкой - в языке со СТ нельзя в динамике проверить существование метода или атрибута, но можно проверить тип объекта).</div></div><br>
Можешь показать на примере первой же строчки, которая модифицирует штатный тип Number и модифицировать похожим образом int?<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2946999'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-07-28T13:59:45+00:00">28.07.11, 13:59</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=336682&view=findpost&p=2946999'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-07-28T13:59:45+00:00">28.07.11, 13:59</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=336682&view=findpost&p=2950136'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2011-08-01T21:15:16+00:00">01.08.11, 21:15</time></span><div class='quote '>Ты уверен, что ты получаешь доступ к методу foo, именно через контракт number? Ведь в этом контракте о foo ничего не сказано </div></div><br>
Я как раз уверен, что не получу :)<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2950136'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2011-08-01T21:15:16+00:00">01.08.11, 21:15</time></span><div class='quote '>Получаешь ли ты печеньки на работе согласно своему &quot;контракту&quot; с работодателем?</div></div><br>
С точностью до наоборот. Я хочу печеньки, а мне дают контракт с работодателем, который решил полиморфно эти печеньки у меня спереть и выдавать в конвертах, которые мне надо раскрывать, то бишь кастить, чтобы наконец насладиться кондитерским изделием.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2951049'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-08-02T17:15:23+00:00">02.08.11, 17:15</time></span><div class='quote '>В случае если приспичит динамически добавлять/удалять атрибуты элементарно моделируется посредством отображений (map), как это делается и в языках с динамической типизацией и в общем-то с той же эффективностью.</div></div><br>
Динамика - это тебе не ассоциативные массивы прикрутить ;) Как методы вместе с их телами будешь конструировать? Как новые типы создавать? А способом неизвестным на этапе компиляции?<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2951200'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-08-02T18:52:14+00:00">02.08.11, 18:52</time></span><div class='quote '>Зато концепция у него интересная - объекты и ничего кроме объектов. На поверку почти все они оказываются словарями, но словари опять же содержат объекты.</div></div><br>
Тогда тебе прямая дорога в Smalltalk, Self, вышеупомянутый Io. Вот там воистину все объекты.]]></description>
        <author>Guderian</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2951808</guid>
        <pubDate>Wed, 03 Aug 2011 09:24:51 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2951808</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2951282'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-08-02T20:17:20+00:00">02.08.11, 20:17</time></span><div class='quote '>А если я люблю баню? :unsure:</div></div><br>
так баня и парилка -- не одно и то же вроде, не?]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2951282</guid>
        <pubDate>Tue, 02 Aug 2011 20:17:20 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2951282</link>
        <description><![CDATA[MyNameIsIgor: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2951276'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2011-08-02T20:07:32+00:00">02.08.11, 20:07</time></span><div class='quote '>тебя туда никто не возьмет</div></div><br>
Ещё бы&#33; Нельзя взять того, кто не пойдёт.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2951276'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2011-08-02T20:07:32+00:00">02.08.11, 20:07</time></span><div class='quote '>не парься</div></div><br>
А если я люблю баню? :unsure:]]></description>
        <author>MyNameIsIgor</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2951276</guid>
        <pubDate>Tue, 02 Aug 2011 20:07:32 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2951276</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2951255'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-08-02T19:47:35+00:00">02.08.11, 19:47</time></span><div class='quote '>Просто глаза разбегаются от обилия вакансий :lol:</div></div><br>
тебя туда никто не возьмет, не парься =)]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2951255</guid>
        <pubDate>Tue, 02 Aug 2011 19:47:35 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2951255</link>
        <description><![CDATA[MyNameIsIgor: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2951211'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2011-08-02T18:56:31+00:00">02.08.11, 18:56</time></span><div class='quote '>Franz.com, ITA Software, Lispworks.com, правда это CL, про Scheme была статья в журнале FP. Контора, в которой работает тов. mv с LOR&#39;а, активно юзает CL, тов. Archimag (Lisper.ru) юзает CL в своей работе. вообще на LOR периодически всплывают темы поиска примеров практического использования CL </div></div><br>
Просто глаза разбегаются от обилия вакансий :lol: <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2011-08-02T19:52:58+00:00">02.08.11, 19:52</time></span></span><br>
<div class="tag-spoiler spoiler closed"><div class="spoiler_header" onclick="openCloseParent(this)">Скрытый текст</div><div class="body">Кстати, господа, а встречал ли кто-то из вас книжку по Scala на великом и могучем? Про басурманские говорить не надо, я про них знаю :)</div></div>]]></description>
        <author>MyNameIsIgor</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2951211</guid>
        <pubDate>Tue, 02 Aug 2011 18:56:31 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2951211</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2951200'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-08-02T18:52:14+00:00">02.08.11, 18:52</time></span><div class='quote '>Ну твои примеры (кстати, что за язык) тоже показывают не бог весть какой крутой язык.</div></div><br>
(Racket, &quot;подмножество&quot; Scheme) мы ведь и не о бог весть каких крутых вещах разговариваем. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2011-08-02T18:59:45+00:00">02.08.11, 18:59</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2951200'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-08-02T18:52:14+00:00">02.08.11, 18:52</time></span><div class='quote '>Что-то вроде LISP&#39;а, которым никто кроме тебя похоже и не пользуется.</div></div><br>
Franz.com, ITA Software, Lispworks.com, правда это CL, про Scheme была статья в журнале FP. Контора, в которой работает тов. mv с LOR&#39;а, активно юзает CL, тов. Archimag (Lisper.ru) юзает CL в своей работе. вообще на LOR периодически всплывают темы поиска примеров практического использования CL <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2011-08-02T19:00:41+00:00">02.08.11, 19:00</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2951209'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-08-02T18:55:39+00:00">02.08.11, 18:55</time></span><div class='quote '>Что мне в питоне понравилось, так это его итераторы и генераторы.</div></div><br>
что же в них крутого? в любом нормальном языке их можно реализовать также, а то и лучше <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2011-08-02T19:01:35+00:00">02.08.11, 19:01</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2951209'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-08-02T18:55:39+00:00">02.08.11, 18:55</time></span><div class='quote '>а значит и программы будут подтормаживать.</div></div><br>
требующие производительности модули пишут для питона на Си так-то...]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2951209</guid>
        <pubDate>Tue, 02 Aug 2011 18:55:39 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2951209</link>
        <description><![CDATA[amk: Что мне в питоне понравилось, так это его итераторы и генераторы. А что не понравилось - авторы слишком долго шли к идее стабильного API. И хотя они вроде решили наконец его закрепить, подозреваю еще пара версий выйдет, пока они смогут это толком реализовать, а до тех пор серьезную библиотеку для него не напишешь, а значит и программы будут подтормаживать.]]></description>
        <author>amk</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2951208</guid>
        <pubDate>Tue, 02 Aug 2011 18:55:26 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2951208</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2951200'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-08-02T18:52:14+00:00">02.08.11, 18:52</time></span><div class='quote '>Зато концепция у него интересная - объекты и ничего кроме объектов. На поверку почти все они оказываются словарями, но словари опять же содержат объекты.</div></div><br>
ничего интересного, довольно избито и примитивно]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2951200</guid>
        <pubDate>Tue, 02 Aug 2011 18:52:14 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2951200</link>
        <description><![CDATA[amk: Зато концепция у него интересная - объекты и ничего кроме объектов. На поверку почти все они оказываются словарями, но словари опять же содержат объекты.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2951082'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2011-08-02T17:43:12+00:00">02.08.11, 17:43</time></span><div class='quote '>питон -- убогий недоязычек</div></div> Ну твои примеры (кстати, что за язык) тоже показывают не бог весть какой крутой язык. Что-то вроде LISP&#39;а, которым никто кроме тебя похоже и не пользуется.]]></description>
        <author>amk</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2951082</guid>
        <pubDate>Tue, 02 Aug 2011 17:43:12 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2951082</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2951049'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-08-02T17:15:23+00:00">02.08.11, 17:15</time></span><div class='quote '>что надо сказать, здорово напрягает (в питоне, например, предлагают ввести механизм перегрузки функций хотя бы на базе декораторов, чтобы иметь возможность разнести алгоритмы по отдельным функциям и убрать из текста явные проверки)</div></div><br>
это потому что питон -- убогий недоязычек =)]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2951049</guid>
        <pubDate>Tue, 02 Aug 2011 17:15:23 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2951049</link>
        <description><![CDATA[amk: Дело в том, что контракт - это некоторая договоренность между стороной предоставляющей услугу/функционал (вызываемая функция/процедура/метод класса) и стороной запрашивающей услугу/функционал (соответственно вызывающая функция/процедура/класс).<br>
В него входят требования к типу и значению параметров, или к наличию у передаваемого параметра некоторого атрибута/метода, например (ограничимся тем, что можно проверить).<br>
<br>
В языках со статической типизацией типы данных известны во время компиляции, они описаны в заголовке функции и компилятор проверяет эту часть контракта даже без указаний со стороны программиста. Некоторую сложность представляют возможные преобразования типов, но и с ними можно справиться. В конце концов в таких языках есть перегрузка функций, и можно написать адаптер, проверяющий допустимость преобразования. В языках с динамической типизацией вопрос решается программной проверкой типа переданного значения в рантайме, что надо сказать, здорово напрягает (в питоне, например, предлагают ввести механизм перегрузки функций хотя бы на базе декораторов, чтобы иметь возможность разнести алгоритмы по отдельным функциям и убрать из текста явные проверки)<br>
<br>
Проверить значение можно только в рантайме. И если это недостаток языков со статической типизацией, то что говорить о типизации динамической, в которой даже тип приходится проверять в рантайме. При этом необходимо еще учесть, что &quot;статические&quot; языки часто работают с встраиваемыми функциями, и в случае константных параметров могут проверку тоже провести во время компиляции.<br>
<br>
Проверка атрибутов/методов, в связи со статичностью типов, в &quot;статических&quot; языках не требуется. При использовании типов в шаблонах проверяется при компиляции. В случае если приспичит динамически добавлять/удалять атрибуты элементарно моделируется посредством отображений (map), как это делается и в языках с динамической типизацией и в общем-то с той же эффективностью. Единственно, не будет синтаксического сахара, вместо<br>
var.someattribute<br>
придется писать<br>
var.attr(&quot;someattribute&quot;)<br>
var[&quot;someattribute&quot;]<br>
или что-то подобное<br>
Думается, можно даже исхитриться и получить указатель на такой атрибут/метод класса, который будет вести себя подобно настоящему атрибуту/методу,]]></description>
        <author>amk</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2950386</guid>
        <pubDate>Tue, 02 Aug 2011 07:44:27 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2950386</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2950176'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2011-08-02T03:57:55+00:00">02.08.11, 03:57</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2950136'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2011-08-01T21:15:16+00:00">01.08.11, 21:15</time></span><div class='quote '>Что есть &quot;-&gt;&quot;?</div></div><br>
контракт-функция. емнип amk все правильно понял</div></div><br>
В таком случае твой пример реализуется в С++ через вызов функций проверки, который, например, кидают исключение. Для примитивных типов можно сделать на шаблонах проверку в статике. Но это будут, естественно, константы, которые тебе по какой-то причине не нравятся(что выглядит странно на фоне требования работать исключительно во время компиляции).]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2950176</guid>
        <pubDate>Tue, 02 Aug 2011 03:57:55 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2950176</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2950136'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2011-08-01T21:15:16+00:00">01.08.11, 21:15</time></span><div class='quote '>Что есть &quot;-&gt;&quot;?</div></div><br>
контракт-функция. емнип amk все правильно понял]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2950136</guid>
        <pubDate>Mon, 01 Aug 2011 21:15:16 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2950136</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2947460'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2011-07-29T06:05:26+00:00">29.07.11, 06:05</time></span><div class='quote '>ок, чуть изменим:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">(define natural? (and/c integer? positive?))</div><div class="code_line">&nbsp;</div><div class="code_line">(define/contract (f x)</div><div class="code_line">&nbsp;&nbsp;(-&#62; integer? integer?)</div><div class="code_line">&nbsp;&nbsp;(- x))</div><div class="code_line">&nbsp;</div><div class="code_line">(define/contract (g)</div><div class="code_line">&nbsp;&nbsp;(-&#62; natural?)</div><div class="code_line">&nbsp;&nbsp;(read))</div><div class="code_line">&nbsp;</div><div class="code_line">(define (test)</div><div class="code_line">&nbsp;&nbsp;(f (g)))</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script></div></div><br>
Что есть &quot;-&gt;&quot;?<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>покажи мне аналог на С++, выполняющий _все_ проверки до рантайма</div></div><br>
Каким образом ты собираешься до рантайма проверить значения, получаемые в рантайме? <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2011-08-01T21:19:24+00:00">01.08.11, 21:19</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2946372'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-28T06:25:38+00:00">28.07.11, 06:25</time></span><div class='quote '>В языке со статической типизацией я не могу получить доступ к методу foo, специфицированному в natural через контракт number. А в языке с динамической - запросто.</div></div><br>
Ты уверен, что ты получаешь доступ к методу foo, именно через <strong class='tag-b'>контракт</strong> number? Ведь в этом контракте о foo ничего не сказано ;) <br>
Получаешь ли ты печеньки на работе согласно своему &quot;контракту&quot; с работодателем?]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2947460</guid>
        <pubDate>Fri, 29 Jul 2011 06:05:26 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2947460</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2947223'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-07-28T19:21:23+00:00">28.07.11, 19:21</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=336682&view=findpost&p=2947223'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-07-28T19:21:23+00:00">28.07.11, 19:21</time></span><div class='quote '>В том же C++ три проверки из твоих четырех будут обеспечены статической системой типов, а оставшаяся будет выполнена еще при компиляции. Впрочем при включенной оптимизации и результат будет вычислен еще при компиляции.</div></div><br>
<br>
ок, чуть изменим:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">(define natural? (and/c integer? positive?))</div><div class="code_line">&nbsp;</div><div class="code_line">(define/contract (f x)</div><div class="code_line">&nbsp;&nbsp;(-&#62; integer? integer?)</div><div class="code_line">&nbsp;&nbsp;(- x))</div><div class="code_line">&nbsp;</div><div class="code_line">(define/contract (g)</div><div class="code_line">&nbsp;&nbsp;(-&#62; natural?)</div><div class="code_line">&nbsp;&nbsp;(read))</div><div class="code_line">&nbsp;</div><div class="code_line">(define (test)</div><div class="code_line">&nbsp;&nbsp;(f (g)))</div></ol></div></div></div></div><br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Добро пожаловать в DrRacket, версия 5.1 [3m].</div><div class="code_line">Язык: racket.</div><div class="code_line">&#62; (test)</div><div class="code_line">1</div><div class="code_line">-1</div><div class="code_line">&#62; (test)</div><div class="code_line">-1</div><div class="code_line">. self-contract violation: expected &#60;(and/c integer? positive?)&#62;, given: -1</div><div class="code_line">&nbsp;&nbsp;contract on g from (function g), blaming (function g)</div><div class="code_line">&nbsp;&nbsp;contract: </div><div class="code_line">&nbsp;&nbsp; &nbsp;(-&#62; (and/c integer? positive?))</div><div class="code_line">&nbsp;&nbsp;at: unsaved-editor620:9.18</div><div class="code_line">&#62;</div></ol></div></div></div></div><br>
<br>
покажи мне аналог на С++, выполняющий _все_ проверки до рантайма]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2947223</guid>
        <pubDate>Thu, 28 Jul 2011 19:21:23 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2947223</link>
        <description><![CDATA[amk: <strong class='tag-b'>korvin</strong><br>
<br>
Я так понял, здесь определяется:<br>
предикат natural?, проверяющий, что переданное ему для проверки является целым положительным числом<br>
потом определяется функция f(x), и проверяющая что переданный ей параметр является целым, и что возвращаемое ей значение тоже целое<br>
определяется функция g проверяющая, что возвращаемое ей значение является натуральным числом.<br>
и определяется тестовая функция test, которая вызывает функцию f с параметром выданным функцией g.<br>
<br>
И что мы имеем.<br>
Функция g возвращает число один, проверив, что оно является натуральным<br>
Функция f проверяет что переданное ей число целое и возвращает его с обратным знаком, проверив, что возвращаемое значение не поменяло тип.<br>
<br>
А теперь объясни пожалуйста, где тут тип натурального числа, если ты все время работаешь с встроенными в язык целыми?<br>
Просто твой пример на уровне процедурного языка года так 70-80, только, благодаря мета-возможностям языка, с встроенной проверкой контракта. В том же C++ три проверки из твоих четырех будут обеспечены статической системой типов, а оставшаяся будет выполнена еще при компиляции. Впрочем при включенной оптимизации и результат будет вычислен еще при компиляции.]]></description>
        <author>amk</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2947151</guid>
        <pubDate>Thu, 28 Jul 2011 17:54:05 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2947151</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2946999'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-07-28T13:59:45+00:00">28.07.11, 13:59</time></span><div class='quote '>Вообще, пример с целыми и натуральными числами выглядит несколько надуманным. Вдобавок ведущим к серьезным ошибкам.<br>
В реальной практике эти числа не смешиваются в одном (атрибуте) объекте. То есть если по контракту атрибут должен быть целым числом, то, даже если присвоить ему натуральное значение, он должен принять положительное целое значение, к которому операция смены знака будет применима. А в обсуждаемом примере произойдет исключение.</div></div><br>
никакого исключения:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#lang racket</div><div class="code_line">&nbsp;</div><div class="code_line">(define natural? (and/c integer? positive?))</div><div class="code_line">&nbsp;</div><div class="code_line">(define/contract (f x)</div><div class="code_line">&nbsp;&nbsp;(-&#62; integer? integer?)</div><div class="code_line">&nbsp;&nbsp;(- x))</div><div class="code_line">&nbsp;</div><div class="code_line">(define/contract (g)</div><div class="code_line">&nbsp;&nbsp;(-&#62; natural?)</div><div class="code_line">&nbsp;&nbsp;1)</div><div class="code_line">&nbsp;</div><div class="code_line">(define (test)</div><div class="code_line">&nbsp;&nbsp;(f (g)))</div></ol></div></div></div></div><br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Добро пожаловать в DrRacket, версия 5.1 [3m].</div><div class="code_line">Язык: racket; memory limit: 4096 MB.</div><div class="code_line">&#62; (test)</div><div class="code_line">-1</div><div class="code_line">&#62;</div></ol></div></div></div></div>]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2946999</guid>
        <pubDate>Thu, 28 Jul 2011 13:59:45 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2946999</link>
        <description><![CDATA[amk: Да тебя в общем-то никто не собирался топтать, я по крайней мере. Дело в том, что слово &#39;детерминированный&#39; к объектам в программировании почти не применяется. Недетерминированность языковых конструкций (А именно она скрывается за словосочетанием &quot;неопределенное поведение&quot;, хотя в оригинале и пишется &quot;Undefined behavior&quot;) там считается одним из самых страшных грехов. Даже случайные числа в программировании детерминированные (потому и псевдослучайные). Недетерминированность разрешается только по заказу. Ну и входные данные могут обладать строго дозированной недетерминрованностью. И все.<br>Согласись, говорить, что сущность, которая просто обязаны быть детерминированной - детерминирована - это то же самое, что говорить, что масло является маслянистым.<br><br>Кстати тип может изначально обладать полиморфным поведением на основе свойств. Это конечно не то же самое, что полиморфизм потомков, но работает. Именно этот вариант, похоже, ты и реализовал (что это за язык, кстати). И такой полиморфизм динамически реализуем и в языках со статической типизацией (с одной поправкой - в языке со СТ нельзя в динамике проверить существование метода или атрибута, но можно проверить тип объекта).<br>По-моему интереснее был бы пример с фабрикой, на основе свойств создающей объект нужного типа. Этот вариант тоже работает при любом виде типизации. Причем, в случае статической типизации без дополнительных накладных расходов при работе с объектом.<br><br>Вообще, пример с целыми и натуральными числами выглядит несколько надуманным. Вдобавок ведущим к серьезным ошибкам.<br>В реальной практике эти числа не смешиваются в одном (атрибуте) объекте. То есть если по контракту атрибут должен быть целым числом, то, даже если присвоить ему натуральное значение, он должен принять положительное целое значение, к которому операция смены знака будет применима. А в обсуждаемом примере произойдет исключение.]]></description>
        <author>amk</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2946372</guid>
        <pubDate>Thu, 28 Jul 2011 06:25:38 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2946372</link>
        <description><![CDATA[Guderian: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2945974'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-07-27T12:42:50+00:00">27.07.11, 12:42</time></span><div class='quote '>В данном случае ты воспользовался неоднозначностью перевода и подменил одно понятие другим. Это позволило тебе сделать пару утверждений, бессмысленных при общепринятом переводе, но утверждающих твою мысль при выбранном тобой.</div></div><br>
Да я уже раз десять сказал, что неудачный для данного высокого общества подобрал термин)) По наивности думал, что у людей, которые с молоком матери (детерминированными алгоритмами, детерминированными машинами Тьюринга, детерминированными функциями и т.п.) должны были впитать принцип детерминированности, не будет проблем даже с такой непривычной формулировкой, которая поголовно встречается в англоязычной литературе. В том же упомянутом драфте я могу спокойной прочитать в разделе declarators про indetermined value и очень четко различается определение с дефинитивной точки зрения, декларативной и определение, как процесс (как дефинитивные, декларативные и оперативные нормы права, например). Читаю про auto - все четко: &quot;determining the type specified for the contained declarator-id by such a declaration&quot;. Декларатор - отдельно, дереминирование - отдельно&quot;. Так что я, естественно, выбрал неудачные термин, ну а вы можете использовать &quot;определенный&quot; для typedef&#39;ов, деклараторов, функций вычисления и еще чего угодно.<br>
<br>
Хотите дам вам обоим подсказку, чтобы меня окончательно растоптать в части этого термина и публично выпороть, но математически грамотно?)) Как известно, типизация осуществляется двумя способами - перечислением и предикатом принадлежности. Перечисление детерминировано по определению. Предикат - это функция, для функции определение детерминированности существует, значит детерминированность предиката и логичней рассматривать в первую очередь. А в  примере с натуральными числами предикат является детерминированной функцией. Написал и прям сам расстроился, какое фиаско потерпел)) Что за жизнь, вот так и холиварь сам с собой))<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2945974'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-07-27T12:42:50+00:00">27.07.11, 12:42</time></span><div class='quote '>Не хочешь же ты сказать, что в языке с динамической типизацией ты можешь проверить значение до рантайма.</div></div><br>
Я хочу сказать то, о чем писал уже пару раз до этого. В языке со статической типизацией я не могу получить доступ к методу foo, специфицированному в natural через контракт number. А в языке с динамической - запросто. Пусть сегодня это будет на Io.<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">// Модифицируем существующий числовой класс</div><div class="code_line">Number do (</div><div class="code_line">&nbsp;&nbsp; &nbsp;isNatural := method(if(self &#62; 0, true, false))</div><div class="code_line">&nbsp;&nbsp; &nbsp;// Здесь и будет реализован наш предикат</div><div class="code_line">&nbsp;&nbsp; &nbsp;auto := method (</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if (</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;isNatural == false,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// Для ненатуральных чисел добавляем специфичный метод</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;self negative := method(self * (-1))</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return self</div><div class="code_line">&nbsp;&nbsp; &nbsp;)</div><div class="code_line">)</div><div class="code_line">&nbsp;</div><div class="code_line">x := 2 auto</div><div class="code_line">x isNatural println</div><div class="code_line">&#62;&#62; true</div><div class="code_line">&nbsp;</div><div class="code_line">y := (-3) auto</div><div class="code_line">y isNatural println</div><div class="code_line">&#62;&#62; false</div><div class="code_line">&nbsp;</div><div class="code_line">// Как бы язык со статической типизацией достучался до negative через полиморфный тип, если он у него не определен?</div><div class="code_line">// И где у меня здесь контракт?</div><div class="code_line">y negative println</div><div class="code_line">&#62;&#62; 3</div><div class="code_line">&nbsp;</div><div class="code_line">// А вот и некоторого рода негативная сторона, о которой я говорил</div><div class="code_line">x negative println</div><div class="code_line">&#62;&#62; Number does not respond to &#39;negative&#39;</div></ol></div></div></div></div><br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2945974'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-07-27T12:42:50+00:00">27.07.11, 12:42</time></span><div class='quote '>И слово &quot;определяемый&quot; в том контексте</div></div><br>
Возможны ты и прав.]]></description>
        <author>Guderian</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2945974</guid>
        <pubDate>Wed, 27 Jul 2011 12:42:50 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2945974</link>
        <description><![CDATA[amk: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2945478'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-27T05:01:40+00:00">27.07.11, 05:01</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=336682&view=findpost&p=2945478'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-27T05:01:40+00:00">27.07.11, 05:01</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=336682&view=findpost&p=2945478'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-27T05:01:40+00:00">27.07.11, 05:01</time></span><div class='quote '>за управляемой компиляцией будущее</div></div> Только вот об такой управляемой компиляции почему-то больше задумываются при статической типизации. А при динамической предпочитают двигаться в сторону &quot;втометапрограммирования&quot; (когда язык является метаязыком для себя же), и оставляя конкретные реализации программисту.<br>
<br>
<br>
И слово &quot;определяемый&quot; в том контексте - не прилагательное, а причастие - форма страдательного залога настоящего времени.<br>
определенный - страдательный залог прошедшего времени<br>
определяющий - действительный залог настоящего времени<br>
определивший - действительный залог прошедшего времени <br>
определявший - несовершенный вид действительного залога прошедшего времени <br>
<br>
Адъективации причастия (не глагола) в данном случае не происходит. так что с переводами все в порядке. Правда, без учета окружения, возможно, что перевод выпал из контекста.]]></description>
        <author>amk</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2945478</guid>
        <pubDate>Wed, 27 Jul 2011 05:01:40 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2945478</link>
        <description><![CDATA[Guderian: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2945398'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-07-26T19:39:18+00:00">26.07.11, 19:39</time></span><div class='quote '>determine - определять, determined - определенный</div></div><br>
Я и сказал, что отсылка шла к форме инфинитива, т.е. determine = определять/детерминировать, а страдательный залог determined становится страдательное формой причастия - определенный/детерминированный. Или речь идет о том, что я использовал англицизм? Так он давно используется. Детерминированные функции, детерминированная машина Тьюринга и т.п. Никто же не говорит &quot;определенная функция&quot;, когда подразумевает ее детерминированность. Так и я, стараюсь избегать терминов, которые могут вызвать разночтение. Ибо typedef тоже дает определенный тип, но смысл этой определенности другой. Декларация T D, тоже дает определенный тип, уже третьего смысла. В общем одно наше &quot;определять&quot; с тремя их determine/declare/define не всегда справляется))<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2945398'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-07-26T19:39:18+00:00">26.07.11, 19:39</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=336682&view=findpost&p=2945308'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-07-26T17:21:35+00:00">26.07.11, 17:21</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=336682&view=findpost&p=2945408'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2011-07-26T20:11:56+00:00">26.07.11, 20:11</time></span><div class='quote '>Если считать, как я привык делать, что by обозначает творительный падеж, то...</div></div><br>
Если быть точным, то фраза была &quot;is determined by&quot;. Форма глагола &quot;be&quot; + Participle II - это классическое определение passive voice, &quot;by&quot; в passive voice указывает действующее лицо. Сам по себе voice/залог - это форма глагола, поэтому и переводить ее лучше в глагольно/причастной форме. Адъективация же глагола до прилагательного &quot;определяемый&quot;  теряет семантику приложения, которое повествует о совершённом действии и низводит его до характеристики объекта. Чтобы не терять смысла, обычно осуществляется трансформация английского страдательного залога в наше страдательное причастие, в нашем случае определять-&gt;определен(краткая форма причастия)-&gt;определенный(полная форма причастия).]]></description>
        <author>Guderian</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2945408</guid>
        <pubDate>Tue, 26 Jul 2011 20:11:56 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2945408</link>
        <description><![CDATA[Qraizer: KISS<br>
Если считать, как я привык делать, что by обозначает творительный падеж, то...<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2945398'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-07-26T19:39:18+00:00">26.07.11, 19:39</time></span><div class='quote '>&quot;определяемый типом выражения&quot;</div></div>]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2945398</guid>
        <pubDate>Tue, 26 Jul 2011 19:39:18 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2945398</link>
        <description><![CDATA[amk: <strong class='tag-b'>Guderian</strong><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2945381'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-26T19:11:36+00:00">26.07.11, 19:11</time></span><div class='quote '>determined by the type of the expressions</div></div> Вообще-то более близкий по смыслу перевод для determine - определять, determined - определенный, определяемый. То есть &quot;determined by the type of the expressions&quot; переводится на русский язык скорее, как &quot;определенный по типу выражения&quot;, &quot;определяемый типом выражения&quot; (тип - в смысле тип значения)<br>
<br>
Статическая типизация тоже позволяет вычислять предикаты в рантайме.]]></description>
        <author>amk</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2945381</guid>
        <pubDate>Tue, 26 Jul 2011 19:11:36 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2945381</link>
        <description><![CDATA[Guderian: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2945291'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-26T16:27:57+00:00">26.07.11, 16:27</time></span><div class='quote '>Ваш ум действительно неопытный, если вы так и не поняли, что в приведённых цитатах нигде нет термина &quot;детерминированный тип&quot;. Там есть только глаголы, относящиеся к прилагательному &quot;тип&quot;: &quot;определить тип&quot;, &quot;определяется типом&quot;, &quot;определяет тип&quot;. Надеюсь, вашего опыта использования русского языка хватит, чтобы понять разницу.</div></div><br>
Не знаю, насколько опыт русского языка применим к документации на английском, а вот опыт последнего мне подсказывает, что форма инфинитива, на которую вы ссылаетесь, применительно к той ситуации в которой я этот термин употреблял, находится в форме страдательного залога и звучит как determined (в примерах, что я приводил - &quot;determined by the type of the expressions&quot;). И тут на арену выходят правила русского языка, ибо страдательный залог трансформируется в страдательное причастие, которое в русском языке звучит как &quot;детерминированный&quot;. Вот такая адъективация получилась. Надеюсь, я не очень сложно объяснил мыслительные процессы своего неопытного ума?))<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2945291'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-26T16:27:57+00:00">26.07.11, 16:27</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=336682&view=findpost&p=2945291'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-26T16:27:57+00:00">26.07.11, 16:27</time></span><div class='quote '>Вы в очередной раз путаете Божий дар с яичницей. Вы говорите не об определении типа, а о типизации. Во-первых, динамическая типизация вполне себе детерминирована.</div></div><br>
Я всегда думал, что определение типа - это главный инструмент типизации и весь тред с того момента, как забили на Kotlin, строиться вокруг того, что динамическая типизация позволяет использовать предикаты, вычисляемые в рантайм, для определения типа. Динамическая типизация - да, детерминирована. В инструкции по ее использованию. Динамический тип тоже детерминирован. В момент присвоения переменной этого типа значения.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2945291'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-26T16:27:57+00:00">26.07.11, 16:27</time></span><div class='quote '>Во-вторых, по вашему выходит, что любой класс, который имеет (может иметь) наследников, является неопределённым типом, что есть явная чушь.</div></div><br>
Согласен. Ваша фраза &quot;класс является неопределенным типом&quot; - полная чушь, ибо класс является вполне определенным типом. Я бы даже сказал, что он и есть тот тип, которым является)) А есть также экземпляр этого класса и он тоже вполне определенного типа. Типа этого же класса. А есть декларация, которая принудительно указывает экземпляру этого класса  некий полиморфный тип. Это может быть number, а может вообще абстрактный указатель. Так что вы получите в результате? Определенный тип или декларированный тип с некоторым контрактом number, который вы хотите получить от значения, тип который вам доподлинно неизвестен? Если вы уверены, что тип определен, то вызовите foo() специфицированного в natural, как я предложил. Лисп это может (он, правда, и крякать натуральное число может заставить, но это отдельная тема), а вы без дополнительного определения через кастинг? Я бы все-таки различал определение типа и декларирование.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2945291'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-26T16:27:57+00:00">26.07.11, 16:27</time></span><div class='quote '>Не обижайтесь, но надоедает даже такое увлекательное занятие, как кидать горох в стену.</div></div><br>
Какие у вас, однако, странные увлечения)) Может заменить на что-то более полезное для дальнейшего развития и роста?)]]></description>
        <author>Guderian</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2945308</guid>
        <pubDate>Tue, 26 Jul 2011 17:21:35 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2945308</link>
        <description><![CDATA[amk: Самое интересное, что спор на самом деле не имеет отношения к статической или динамической типизации.<br>Ясно, что независимо от вида типизации значение неизвестное во время компиляции, можно проверить только в рантайме.<br>С другой стороны, чтобы выполнить проверку при компиляции транслятор должен поддерживать глубокую интерпретацию константных выражений (в том смысле, что должен уметь вычислять не только простые выражения, но и доступные для интерпретации функции/процедуры). Опять же, независимо от вида типизации язык может при этом иметь или не иметь средства для прерывания компиляции в таком случае. В общем дело упирается в наличие нужных средств управления компиляцией, а не в статическую/динамическую типизацию.]]></description>
        <author>amk</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2945291</guid>
        <pubDate>Tue, 26 Jul 2011 16:27:57 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2945291</link>
        <description><![CDATA[MyNameIsIgor: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2944760'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-26T07:15:23+00:00">26.07.11, 07:15</time></span><div class='quote '>Видимо, на это повлиял тот факт, что техническую литературу приходиться читать исключительно на англицком, а там фраза &quot;determin{e|ed|ing|etc} type&quot; в порядке вещей. Тот же драфт на C++0x - это ж пытка для моего неопытного ума: &lt;и далее по тексту&gt;</div></div><br>
Ваш ум действительно неопытный, если вы так и не поняли, что в приведённых цитатах нигде нет термина &quot;детерминированный тип&quot;. Там есть только глаголы, относящиеся к прилагательному &quot;тип&quot;: &quot;определить тип&quot;, &quot;определяется типом&quot;, &quot;определяет тип&quot;. Надеюсь, вашего опыта использования русского языка хватит, чтобы понять разницу.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2944760'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-26T07:15:23+00:00">26.07.11, 07:15</time></span><div class='quote '>Полиморфный костыль под названием number - это &quot;определен однозначно&quot;?</div></div><br>
А при чём тут моя реализация? Тип вполне однозначно определён и в примере <strong class='tag-b'>korvin</strong>&#39;а. Просто потому, что он однозначно определён уже в задании: это либо натуральные числа (надеюсь, не будете спорить, что это однозначное определение), либо целые (так же искренне надеюсь, что разночтений не возникнет).<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2944760'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-26T07:15:23+00:00">26.07.11, 07:15</time></span><div class='quote '>Тогда в шарпе/яве &quot;object x = любая_херня_хоть_число_хоть_строка&quot; - это тоже однозначное определение. Ну и что, что всё есть object, использован тот же принцип. Ввели предка (Ваш класс number), определили его наследников (Ваши же integer, natural) и решили, что тип number, лежащий в корне иерархии наследования (не его ли вычислит auto?) - это однозначное определение. Т.е. неоднозначности integer это, или natural вообще не возникнет? Тогда добавьте, плиз, в natural метод foo и вызовите number-&gt;foo(). Посмотрим, так ли се &quot;однозначно&quot;.</div></div><br>
Вы в очередной раз путаете Божий дар с яичницей. Вы говорите не об определении типа, а о типизации. Во-первых, динамическая типизация вполне себе детерминирована. Во-вторых, по вашему выходит, что любой класс, который имеет (может иметь) наследников, является неопределённым типом, что есть явная чушь.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2944760'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-26T07:15:23+00:00">26.07.11, 07:15</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=336682&view=findpost&p=2944760'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-26T07:15:23+00:00">26.07.11, 07:15</time></span><div class='quote '>Извиняюсь за свой, как Вы выразились &quot;кухонный термин&quot;, навеянный прочтением стандартов и искренне надеюсь, что я был исчерпывающ в своем извинении))</div></div><br>
Я очень рад, что вы искренне раскаялись. Я подумаю над тем, принять ли ваши извинения. Если решение будет положительным, я сообщу вам отдельно.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2944760'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-26T07:15:23+00:00">26.07.11, 07:15</time></span><div class='quote '>Третьим - сколько не объясняй.</div></div><br>
Наконец-то здравая мысль с вашей стороны. Я ею воспользуюсь и перестану вам что либо объяснять. Не обижайтесь, но надоедает даже такое увлекательное занятие, как кидать горох в стену.]]></description>
        <author>MyNameIsIgor</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2944760</guid>
        <pubDate>Tue, 26 Jul 2011 07:15:23 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2944760</link>
        <description><![CDATA[Guderian: Эх, холивары, они такие холивары)) Приступим к утренней разминке)<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2944587'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-25T21:37:25+00:00">25.07.11, 21:37</time></span><div class='quote '>Т.е. перевернуть всё с ног на голову и сделать вид невинной овечки &quot;я не понял, что с меня просят определение термина&quot; - это &quot;трололо понеслось))&quot; в вашей терминологии. Продолжайте в том же духе, я начинаю запоминать ваши термины.</div></div><br>
Поделюсь своими наблюдениями. Есть несколько категорий людей. Первые - самые мудрые, они быстро расшифровывают определение термина и дальше рубят по сути вопроса, не останавливаясь на мелочах. Вторым нужно объяснить, но после этого они уже берут быстрый старт. Третьим - сколько не объясняй. Из ваших пяти абзацев три касаются в той или иной степени термина. Это ж какое отсутствие аргументов надо иметь, чтобы так увлечься этим вопросом))<br>
<br>
Но коль скоро он так Вас беспокоит, то каюсь. Использовал уродливый неологизм. Видимо, на это повлиял тот факт, что техническую литературу приходиться читать исключительно на англицком, а там фраза &quot;determin{e|ed|ing|etc} type&quot; в порядке вещей. Тот же драфт на C++0x - это ж пытка для моего неопытного ума:<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>&quot;Some objects are polymorphic (10.3); the implementation generates information associated with each such object that makes it possible to determine that object’s type during program execution. For other objects, the interpretation of the values found therein is determined by the type of the expressions (Clause 5) used to access them.&quot;<br>
</div></div><br>
Знакомая ситуация, правда? Кто-то недавно использовал полиморфизм в своем примере, чтобы &quot;determine that object&#39;s type&quot;. Хотя хотелось бы, чтобы тип &quot;determined by the type&quot; выражения. А уж в разделе declarations/declarators от determine просто спасу нет:<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>First, the decl-specifier-seq <span class='tag-u'>determines a type</span>. In a declaration<br>
T D<br>
the decl-specifier-seq T <span class='tag-u'>determines the type</span> T. [ Example: in the declaration<br>
int unsigned i;<br>
the type specifiers int unsigned <span class='tag-u'>determine the type</span> “unsigned int” (7.1.6.2). —end example ]<br>
</div></div><br>
От такого засилия фраз, что тип детерминирован, я невольно привык его употреблять равно как и термины дефинитивный, декларативный, императивный и еще вагон других. Извиняюсь за свой, как Вы выразились &quot;кухонный термин&quot;, навеянный прочтением стандартов и искренне надеюсь, что я был исчерпывающ в своем извинении))<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2944587'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-25T21:37:25+00:00">25.07.11, 21:37</time></span><div class='quote '>Ах, так вы, оказывается, вовсе не про возможность решения разговариваете, а про мой код?</div></div><br>
Я искренне полагал, что только я в &quot;глухом write-only&quot;, как Вы изволили выразиться... А то, что я Вам адресовал, начиналось с цитаты korvin касающейся конкретного кода и моей фразы &quot;Пример был…&quot;. Постараюсь в следующий раз сопровождать дополнительными указателями, подсказками, сигнальными флажками и т.п.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2944587'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-25T21:37:25+00:00">25.07.11, 21:37</time></span><div class='quote '>Ну, давайте обсудим мой код, но прежде реализуйте заявленный вами функционал (т.е. с операторами) на любом языке программирования, я не настаиваю на статически типизированном.</div></div><br>
Если я буду реализовывать на привычном мне шарпе, то у меня получится та же херня с теми же проблемами.  И как я говорил ранее, не поможет даже dynamic. Так что, как бы это ни было для меня унизительно, я не смогу написать код лучше чем Ваш)) Я бы даже сказал по-другому. Это не столько проблемы того самого кода, поскольку он, по сути, выжимает все возможное из имеющихся средств и попросту аккумулирует классику ООП - полиморфизм + идея паттерна Factory Method. Проблема в самом ооп. А как на ооп-языках со статической типизацией написать лучше - я не знаю. Может быть я и сделал немного <a class='tag-url' href='http://ideone.com/LvT4k' target='_blank'>по-другому</a>, но это больше нацелено на то, чтобы застелить все соломой и дизайн стал bulletproof. А концептуально - такая же херня))<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2944587'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-25T21:37:25+00:00">25.07.11, 21:37</time></span><div class='quote '>термин &quot;недетерминированный тип&quot; не общепринятый</div></div><br>
Не в защиту термина, а просто лингивистических размышлений цепочка: &quot;тип&quot; - общепринятый, &quot;детерминированный&quot; - общепринятый, а &quot;не детерминированный тип&quot; - не общепринятый)) Интересно, является ли общепринятым &quot;синий икосаэдр&quot;...<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2944587'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-25T21:37:25+00:00">25.07.11, 21:37</time></span><div class='quote '>Во-вторых, он вполне определён однозначно, просто проверяется во время исполнения, а не компиляции. Как вам пришла мысль, что динамическая типизация недетерминирована, я даже предположить боюсь.</div></div><br>
Полиморфный костыль под названием number - это &quot;определен однозначно&quot;? Тогда в шарпе/яве &quot;object x = любая_херня_хоть_число_хоть_строка&quot; - это тоже однозначное определение. Ну и что, что всё есть object, использован тот же принцип. Ввели предка (Ваш класс number), определили его наследников (Ваши же integer, natural) и решили, что тип number, лежащий в корне иерархии наследования (не его ли вычислит auto?) - это однозначное определение. Т.е. неоднозначности integer это, или natural вообще не возникнет? Тогда добавьте, плиз, в natural метод foo и вызовите number-&gt;foo(). Посмотрим, так ли се &quot;однозначно&quot;.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2944587'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-25T21:37:25+00:00">25.07.11, 21:37</time></span><div class='quote '>Так вот и идите... решать их.</div></div><br>
Не бздеть, у меня все под контролем))<br>
<br>
А вообще, если отвлечься немного от холивара, то мне кажется имеет смысл говорить не о статическом и динамическом определении типов, а о декларативном и императивном. Если предикат вычислим во время компиляции, то это суть константа и здесь плюсЫ со своими возможностями метапрограммирования будут биться на равных. Значит плавно перетекаем в рантайм, где осуществляется вычисление предиката со всеми сопутствующими механизмами контроля. Но в случае с декларативным определением, транслятор имеет генеративные возможности по самостоятельному формированию необходимого контроля. А императивно мы сами должны его обеспечить, что не есть гут.]]></description>
        <author>Guderian</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2944587</guid>
        <pubDate>Mon, 25 Jul 2011 21:37:25 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2944587</link>
        <description><![CDATA[MyNameIsIgor: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2944426'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-25T16:30:28+00:00">25.07.11, 16:30</time></span><div class='quote '>Опаньки... трололо понеслось))</div></div><br>
Т.е. перевернуть всё с ног на голову и сделать вид невинной овечки &quot;я не понял, что с меня просят определение термина&quot; - это &quot;трололо понеслось))&quot; в вашей терминологии. Продолжайте в том же духе, я начинаю запоминать ваши термины.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2944426'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-25T16:30:28+00:00">25.07.11, 16:30</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=336682&view=findpost&p=2944426'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-25T16:30:28+00:00">25.07.11, 16:30</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=336682&view=findpost&p=2944426'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-25T16:30:28+00:00">25.07.11, 16:30</time></span><div class='quote '>&quot;Под детерминированностью процессов в мире понимается однозначная предопределённость&quot; (с) Вика. Встает вопрос, почему я не мог использовать этот термин применительно к типу, который не &quot;предопределен однозначно&quot;?</div></div><br>
Защищать свой родной кухонный термин - ведь так это называется в вашей терминологии. Ну, что же, разжёвываю. Во-первых, термин &quot;недетерминированный тип&quot; не общепринятый, вы его сами придумали, и я не собираюсь предполагать, что именно вы под ним подразумевали. Во-вторых, он вполне определён однозначно, просто проверяется во время исполнения, а не компиляции. Как вам пришла мысль, что динамическая типизация недетерминирована, я даже предположить боюсь.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2944426'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-25T16:30:28+00:00">25.07.11, 16:30</time></span><div class='quote '>Под &quot;реализацией операции вычитания&quot; подразумевалась именно реализация, а не использование. Сто программистов были упомянуты для статистики, ибо на одном статистику не меряют. Если бы меряли, то она была бы 0% валидного кода, ибо Вы же даже не задумались над тем, чтобы проконтролировать вход конструктора. И так, наверняка, поступило бы больше половины. Доведись мне поддерживать такой класс, писанный другим человеком, и поставь передо мной задачу добавить ему операцию умножения на константу, я бы прошляпил проверки запросто. А если бы не прошляпил , то совершил бы ошибку, поскольку в какой-то момент времени меня подвела память и я было подумал, что натуральные=неотрицательные))</div></div><br>
Об этом мы поговорим после того, как вы покажете свою реализацию как я просил выше.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2944426'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-25T16:30:28+00:00">25.07.11, 16:30</time></span><div class='quote '>Я знаю, что это мои проблемы. Мои и моих заказчиков</div></div><br>
Так вот и идите... решать их.]]></description>
        <author>MyNameIsIgor</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2944580</guid>
        <pubDate>Mon, 25 Jul 2011 21:17:06 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2944580</link>
        <description><![CDATA[Qraizer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943103'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T16:46:39+00:00">23.07.11, 16:46</time></span><div class='quote '>аналогично </div></div>Что именно? Тот же &quot;неосилимый&quot; полиморфизм, только в статике. Что пояснить?]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2944426</guid>
        <pubDate>Mon, 25 Jul 2011 16:30:28 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2944426</link>
        <description><![CDATA[Guderian: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2944390'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-25T15:21:28+00:00">25.07.11, 15:21</time></span><div class='quote '>Глухой write only mode...</div></div><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2944390'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-25T15:21:28+00:00">25.07.11, 15:21</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=336682&view=findpost&p=2944390'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-25T15:21:28+00:00">25.07.11, 15:21</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=336682&view=findpost&p=2944390'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-25T15:21:28+00:00">25.07.11, 15:21</time></span><div class='quote '>korvin ни словом не обмолвился о лаконичности решения. Он поставил под сомнение саму возможность решения.</div></div><br>
Единственная цитата korvin, которую я прокомментировал - это:<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943103'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T16:46:39+00:00">23.07.11, 16:46</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=336682&view=findpost&p=2944390'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-25T15:21:28+00:00">25.07.11, 15:21</time></span><div class='quote '>Ну, ясно, из пальца был высосан термин и сделано наивнейшее предположение, что уж все то его точно знают.</div></div><br>
&quot;Под детерминированностью процессов в мире понимается однозначная предопределённость&quot; (с) Вика. Встает вопрос, почему я не мог использовать этот термин применительно к типу, который не &quot;предопределен однозначно&quot;?<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2944390'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-25T15:21:28+00:00">25.07.11, 15:21</time></span><div class='quote '>Какие сто программистов? Которые будут операторы юзать? А на кой им проверять то? Проверку пишут один раз в реализации оператора и кидают исключение, если она не прошла. А для ста программистов оператор либо выполнился и вернул заведомо валидный результат, либо не выполнился вовсе - никаких проверок.</div></div><br>
Под &quot;реализацией операции вычитания&quot; подразумевалась именно реализация, а не использование. Сто программистов были упомянуты для статистики, ибо на одном статистику не меряют. Если бы меряли, то она была бы 0% валидного кода, ибо Вы же даже не задумались над тем, чтобы проконтролировать вход конструктора. И так, наверняка, поступило бы больше половины. Доведись мне поддерживать такой класс, писанный другим человеком, и поставь передо мной задачу добавить ему операцию умножения на константу, я бы прошляпил проверки запросто. А если бы не прошляпил , то совершил бы ошибку, поскольку в какой-то момент времени меня подвела память и я было подумал, что натуральные=неотрицательные))<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2944390'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-25T15:21:28+00:00">25.07.11, 15:21</time></span><div class='quote '>Возможно, не нашлось реализации, которая удовлетворила бы вас... Но это только ваши проблемы, меня никак не касающиеся. </div></div><br>
Я знаю, что это мои проблемы. Мои и моих заказчиков, которые частенько приходят ко мне с таким кодом, что без слез и не взглянешь. А все потому, что некие кодеры до меня решили, что проблемы, с которыми они не столкнулись сейчас - это проблемы тех разработчиков, что будут потом. И дальше одного хода в это программной партии они не видят.]]></description>
        <author>Guderian</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2944390</guid>
        <pubDate>Mon, 25 Jul 2011 15:21:28 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2944390</link>
        <description><![CDATA[MyNameIsIgor: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943731'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-25T06:10:28+00:00">25.07.11, 06:10</time></span><div class='quote '>Простота разная бывает. Если речь о лаконичности, то это скорее относится к примеру korvin, поскольку с ростом сложности приложения, сложность поддержки его natural типа не меняется.</div></div><br>
Глухой write only mode...<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943606'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-24T19:53:40+00:00">24.07.11, 19:53</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943485'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-24T15:54:57+00:00">24.07.11, 15:54</time></span><div class='quote '>В этом плане пример korvin&#39;а, конечно, рафинирован гораздо лучше.</div></div>А никто и не утверждал обратного.</div></div><br>
<strong class='tag-b'>korvin</strong> ни словом не обмолвился о лаконичности решения. Он поставил под сомнение саму возможность решения.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2941949'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2011-07-21T17:43:14+00:00">21.07.11, 17:43</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=336682&view=findpost&p=2941933'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>jack128 &#064; <time class="tag-quote__quoted-time" datetime="2011-07-21T17:29:00+00:00">21.07.11, 17:29</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=336682&view=findpost&p=2943731'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-25T06:10:28+00:00">25.07.11, 06:10</time></span><div class='quote '>Забавный каламбур в форме диалога получается. Учитывая, что детерминированный - суть определенный (даже и в мыслях не было, что этот термин нуждается в трансляции) выходит:<br>
Guderian: ...неопределенный тип...<br>
MyNameIsIgor: Какой? Определение неопределенного типа?</div></div><br>
Да, забавно. Оказывается, вы неплохо работаете в роли текстового препроцессора - смысла не понимаете, но find &amp; replace работает &quot;на ура&quot;.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943731'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-25T06:10:28+00:00">25.07.11, 06:10</time></span><div class='quote '>Просто термин динамического типа претерпел уже такую инфляцию, что язык не поворачивается его активно использовать. Взять хотя бы упоминавшийся dynamic из шарпа. Назвали динамическим прокси-тип который транслирует запросы к... опять же &quot;статическим&quot; типам.</div></div><br>
Ну, ясно, из пальца был высосан термин и сделано наивнейшее предположение, что уж все то его точно знают.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943731'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-25T06:10:28+00:00">25.07.11, 06:10</time></span><div class='quote '>Не простым, а сильно редуцированным. Как только приложение начинает свой рост и возникает необходимость в перегрузке кастингов/операторов, аксессорах и т.п. - начнутся проблемы. If-ами на каждом шагу будешь в землю вгрызаться. Как думаешь, сколько девелоперов из 100 забудут при реализации операции вычитания проконтролировать натуральность ее выхлопа?</div></div><br>
Какие сто программистов? Которые будут операторы юзать? А на кой им проверять то? Проверку пишут один раз в реализации оператора и кидают исключение, если она не прошла. А для ста программистов оператор либо выполнился и вернул заведомо валидный результат, либо не выполнился вовсе - никаких проверок.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943731'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-25T06:10:28+00:00">25.07.11, 06:10</time></span><div class='quote '>Пока даже на такой плохой пример не нашлось достойной альтернативной реализации.</div></div><br>
Возможно, не нашлось реализации, которая удовлетворила бы вас... Но это только ваши проблемы, меня никак не касающиеся.]]></description>
        <author>MyNameIsIgor</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943731</guid>
        <pubDate>Mon, 25 Jul 2011 06:10:28 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943731</link>
        <description><![CDATA[Guderian: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943606'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-24T19:53:40+00:00">24.07.11, 19:53</time></span><div class='quote '>Кто-то однажды показывал колбасню из тернарных операторов - вот это был пейзаж ада. А здесь всё банально и очень просто.</div></div><br>
Простота разная бывает. Если речь о лаконичности, то это скорее относится к примеру korvin, поскольку с ростом сложности приложения, сложность поддержки его natural типа не меняется. Если же речь идет о простоте, когда сортир - это яма и доска с дырками, то да, на данном этапе все выглядит просто. А стоит заглянуть на несколько ходов вперед - на каждом шагу заботливо положена грабелька))<br>
	<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943606'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-24T19:53:40+00:00">24.07.11, 19:53</time></span><div class='quote '>Какой? Определение недетеминированного типа?</div></div><br>
Забавный каламбур в форме диалога получается. Учитывая, что детерминированный - суть определенный (даже и в мыслях не было, что этот термин нуждается в трансляции) выходит:<br>
Guderian: ...неопределенный тип...<br>
MyNameIsIgor: Какой? Определение неопределенного типа?<br>
Просто термин динамического типа претерпел уже такую инфляцию, что язык не поворачивается его активно использовать. Взять хотя бы упоминавшийся dynamic из шарпа. Назвали динамическим прокси-тип который транслирует запросы к... опять же &quot;статическим&quot; типам.<br>
	<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943606'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-24T19:53:40+00:00">24.07.11, 19:53</time></span><div class='quote '>Именно - простым. Как задача поставлена, так она и сделана.</div></div><br>
Не простым, а сильно редуцированным. Как только приложение начинает свой рост и возникает необходимость в перегрузке кастингов/операторов, аксессорах и т.п. - начнутся проблемы. If-ами на каждом шагу будешь в землю вгрызаться. Как думаешь, сколько девелоперов из 100 забудут при реализации операции вычитания проконтролировать натуральность ее выхлопа?<br>
	<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943606'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-24T19:53:40+00:00">24.07.11, 19:53</time></span><div class='quote '>А никто и не утверждал обратного. korvin повёлся на банальнейший вброс, но для демонстрации преимуществ динамической типизации выбрал из рук вон плохой пример - вот и всё, что тут было.</div></div><br>
Пока даже на такой плохой пример не нашлось достойной альтернативной реализации.]]></description>
        <author>Guderian</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943606</guid>
        <pubDate>Sun, 24 Jul 2011 19:53:40 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943606</link>
        <description><![CDATA[MyNameIsIgor: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943485'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-24T15:54:57+00:00">24.07.11, 15:54</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=336682&view=findpost&p=2943485'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-24T15:54:57+00:00">24.07.11, 15:54</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=336682&view=findpost&p=2943485'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-24T15:54:57+00:00">24.07.11, 15:54</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=336682&view=findpost&p=2943485'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-24T15:54:57+00:00">24.07.11, 15:54</time></span><div class='quote '>А если условие чуть усложниться? Надо будет, скажем, отдельный тип для простых чисел. На что unsigned заменишь, чтобы контроль не потерять?</div></div><br>
Ни на что. Проверка просто будет в конструкторе с выбросом исключения если не пройдёт. Как, кстати, надо было и здесь сделать с проверкой &gt;0 для натуральных чисел, я просто торопился.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943485'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Guderian &#064; <time class="tag-quote__quoted-time" datetime="2011-07-24T15:54:57+00:00">24.07.11, 15:54</time></span><div class='quote '>В этом плане пример korvin&#39;а, конечно, рафинирован гораздо лучше.</div></div><br>
А никто и не утверждал обратного. <strong class='tag-b'>korvin</strong> повёлся на банальнейший вброс, но для демонстрации преимуществ динамической типизации выбрал из рук вон плохой пример - вот и всё, что тут было.]]></description>
        <author>MyNameIsIgor</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943485</guid>
        <pubDate>Sun, 24 Jul 2011 15:54:57 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943485</link>
        <description><![CDATA[Guderian: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943113'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T17:19:59+00:00">23.07.11, 17:19</time></span><div class='quote '>Цитата (korvin @ Вчера, 19:46)<br>
нет, такой ад не жажду увидеть<br>
Жалкий ниасилятор </div></div><br>
Пример был реально аццкий)) Недетерминированный тип простым фабричным методом... оригинально. А если условие чуть усложниться? Надо будет, скажем, отдельный тип для простых чисел. На что unsigned заменишь, чтобы контроль не потерять? В этом плане пример korvin&#39;а, конечно, рафинирован гораздо лучше.]]></description>
        <author>Guderian</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943113</guid>
        <pubDate>Sat, 23 Jul 2011 17:19:59 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943113</link>
        <description><![CDATA[MyNameIsIgor: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943103'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T16:46:39+00:00">23.07.11, 16:46</time></span><div class='quote '>нет, такой ад не жажду увидеть </div></div><br>
Жалкий ниасилятор :lol:]]></description>
        <author>MyNameIsIgor</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943103</guid>
        <pubDate>Sat, 23 Jul 2011 16:46:39 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943103</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943016'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Повстанець &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T12:02:35+00:00">23.07.11, 12:02</time></span><div class='quote '>Ты не просил переменных и рантайм. Ты просил статику и этап компиляции.</div></div><br>
угу, статику с переменными, или что, статическая типизация этого не позволяет? константы я и в CL/Racket могу в compile-time проверять. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2011-07-23T16:47:11+00:00">23.07.11, 16:47</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943018'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T12:06:03+00:00">23.07.11, 12:06</time></span><div class='quote '>Жаждите увидеть <a class='tag-url' href='http://ideone.com/UKy6m' target='_blank'>такое</a>?</div></div><br>
нет, такой ад не жажду увидеть <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2011-07-23T16:47:48+00:00">23.07.11, 16:47</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943058'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T14:55:19+00:00">23.07.11, 14:55</time></span><div class='quote '>Нифига не понял.<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">template &#60;bool&#62; Bool2Type{};</div><div class="code_line">&nbsp;</div><div class="code_line">template &#60;typename T&#62; T f(T t, Bool2Type&#60;false&#62;);</div><div class="code_line">template &#60;typename T&#62; T f(T t, Bool2Type&#60;true&#62;);</div><div class="code_line">&nbsp;</div><div class="code_line">template &#60;typename T&#62; T f(T t)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp;return f(t, Bool2Type&#60;std::numeric_limits&#60;T&#62;::is_signed&#62;());</div><div class="code_line">}</div></ol></div></div></div></div></div></div><br>
аналогично]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943058</guid>
        <pubDate>Sat, 23 Jul 2011 14:55:19 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943058</link>
        <description><![CDATA[Qraizer: Нифига не понял.<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">template &#60;bool&#62; Bool2Type{};</div><div class="code_line">&nbsp;</div><div class="code_line">template &#60;typename T&#62; T f(T t, Bool2Type&#60;false&#62;);</div><div class="code_line">template &#60;typename T&#62; T f(T t, Bool2Type&#60;true&#62;);</div><div class="code_line">&nbsp;</div><div class="code_line">template &#60;typename T&#62; T f(T t)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp;return f(t, Bool2Type&#60;std::numeric_limits&#60;T&#62;::is_signed&#62;());</div><div class="code_line">}</div></ol></div></div></div></div>]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943018</guid>
        <pubDate>Sat, 23 Jul 2011 12:06:03 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943018</link>
        <description><![CDATA[MyNameIsIgor: <strong class='tag-b'>korvin</strong>, вам бы научиться изъясняться... Желательно по-русски...<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943015'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T12:00:36+00:00">23.07.11, 12:00</time></span><div class='quote '>я знаю, проверка в конструкторе.</div></div><br>
Жаждите увидеть <a class='tag-url' href='http://ideone.com/UKy6m' target='_blank'>такое</a>? Тогда к чему вопросы, если понятно, что это реализуемо?]]></description>
        <author>MyNameIsIgor</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943016</guid>
        <pubDate>Sat, 23 Jul 2011 12:02:35 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943016</link>
        <description><![CDATA[Повстанець: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943015'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T12:00:36+00:00">23.07.11, 12:00</time></span><div class='quote '>пример с переменными, а не константами, будет?</div></div>Ты не просил переменных и рантайм. Ты просил статику и этап компиляции.]]></description>
        <author>Повстанець</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943015</guid>
        <pubDate>Sat, 23 Jul 2011 12:00:36 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943015</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943011'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:55:47+00:00">23.07.11, 11:55</time></span><div class='quote '>Покажешь пример с динамической типизацией, позволяющий объявить такой тип?</div></div><br>
я уже показывал:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">(define (natural? x)</div><div class="code_line">&nbsp;&nbsp;(and (integer? x) (positive? x)))</div><div class="code_line">&nbsp;</div><div class="code_line">; или используя контракт and/c:</div><div class="code_line">&nbsp;</div><div class="code_line">(define natural? (and/c integer? positive?))</div></ol></div></div></div></div><br>
все<br>
<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943011'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:55:47+00:00">23.07.11, 11:55</time></span><div class='quote '>Просто в статике это можно реализовать через пользовательский тип с проверкой значений во время выполнения. Другого способа нет. Ни в статике, ни в динамике. Поэтому такие типы и не применяются.</div></div><br>
я знаю, проверка в конструкторе. только в динамике и так все в динамике, поэтому противоречий с системой типов не происходит. и таки в динамике применяются. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2011-07-23T12:01:26+00:00">23.07.11, 12:01</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943014'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Повстанець &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:57:52+00:00">23.07.11, 11:57</time></span><div class='quote '>Да ну... Статика? Статика... Всё что меньше нуля отбрасывает? Отбрасывает. :yes:</div></div><br>
пример с переменными, а не константами, будет? или вы всю программу в константах пишете?]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943014</guid>
        <pubDate>Sat, 23 Jul 2011 11:57:52 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943014</link>
        <description><![CDATA[Повстанець: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943012'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:56:25+00:00">23.07.11, 11:56</time></span><div class='quote '>нет, не получил </div></div>Да ну... Статика? Статика... Всё что меньше нуля отбрасывает? Отбрасывает. :yes: <br>
<br>
Все дальнейшие условия появились после решения этой задачи.]]></description>
        <author>Повстанець</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943012</guid>
        <pubDate>Sat, 23 Jul 2011 11:56:25 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943012</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943008'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Повстанець &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:52:11+00:00">23.07.11, 11:52</time></span><div class='quote '>Что выбрал, то и получил. Хотел в статике -- получил в статике.</div></div><br>
нет, не получил]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943011</guid>
        <pubDate>Sat, 23 Jul 2011 11:55:47 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943011</link>
        <description><![CDATA[amk: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943001'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:44:43+00:00">23.07.11, 11:44</time></span><div class='quote '>задача изначально была одна: определить тип (int &gt; 0) средствами статической типизации</div></div> Покажешь пример с динамической типизацией, позволяющий объявить такой тип?<br>
<br>
Просто в статике это можно реализовать через пользовательский тип с проверкой значений во время выполнения. Другого способа нет. Ни в статике, ни в динамике. Поэтому такие типы и не применяются.]]></description>
        <author>amk</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943010</guid>
        <pubDate>Sat, 23 Jul 2011 11:55:31 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943010</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943007'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:50:04+00:00">23.07.11, 11:50</time></span><div class='quote '>Явно не для того, чтобы ветвления устраивать, ага.</div></div><br>
какие ветвления? о чем ты? я всего лишь хочу тип natural]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943008</guid>
        <pubDate>Sat, 23 Jul 2011 11:52:11 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943008</link>
        <description><![CDATA[Повстанець: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943005'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:47:31+00:00">23.07.11, 11:47</time></span><div class='quote '>в качестве примера я выбрал определение типа (int &gt; 0) </div></div>Что выбрал, то и получил. Хотел в статике -- получил в статике.]]></description>
        <author>Повстанець</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943007</guid>
        <pubDate>Sat, 23 Jul 2011 11:50:04 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943007</link>
        <description><![CDATA[MyNameIsIgor: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943003'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:46:52+00:00">23.07.11, 11:46</time></span><div class='quote '>ой лол, тебе система типов на что дадена?</div></div><br>
Явно не для того, чтобы ветвления устраивать, ага.]]></description>
        <author>MyNameIsIgor</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943005</guid>
        <pubDate>Sat, 23 Jul 2011 11:47:31 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943005</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943002'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:45:51+00:00">23.07.11, 11:45</time></span><div class='quote '>А я здесь типизации не вижу.</div></div><br>
как это нет? integer -- один тип, natural -- другой. у них есть определенные различия <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2011-07-23T11:49:02+00:00">23.07.11, 11:49</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943004'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Повстанець &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:46:59+00:00">23.07.11, 11:46</time></span><div class='quote '>Кинь ка мне ссылочку на изначальное определение задачи. <br>
<br>
Может я чего упустил.</div></div><br>
вот основной вопрос: <a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2941949' target='_blank'>Java vs Kotlin (сообщение #2941949)</a><br>
<br>
в качестве примера я выбрал определение типа (int &gt; 0)]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943004</guid>
        <pubDate>Sat, 23 Jul 2011 11:46:59 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943004</link>
        <description><![CDATA[Повстанець: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943001'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:44:43+00:00">23.07.11, 11:44</time></span><div class='quote '>задача изначально была одна: определить тип (int &gt; 0) средствами статической типизации. если ты ее как-то не так понял, не зачем возмущаться =) </div></div>Кинь ка мне ссылочку на изначальное определение задачи. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2011-07-23T11:47:09+00:00">23.07.11, 11:47</time></span></span><br>
Может я чего упустил.]]></description>
        <author>Повстанець</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943003</guid>
        <pubDate>Sat, 23 Jul 2011 11:46:52 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943003</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943002'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:45:51+00:00">23.07.11, 11:45</time></span><div class='quote '>Маразм крепчал. Шиза косила наши ряды. Вот уже статически выбрать реализацию в зависимости от значения в рантайме.</div></div><br>
ой лол, тебе система типов на что дадена?]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943002</guid>
        <pubDate>Sat, 23 Jul 2011 11:45:51 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943002</link>
        <description><![CDATA[MyNameIsIgor: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2942998'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:43:47+00:00">23.07.11, 11:43</time></span><div class='quote '>какие еще фокусы сопоставлением? я лишь прошу продемонстрировать, как статически определить тип (int &gt; 0). (это лишь для простоты, не нужно тыкать unsigned&#39;тами =) )</div></div><br>
Маразм крепчал. Шиза косила наши ряды. Вот уже статически выбрать реализацию в зависимости от значения в рантайме.<br>
И да, не надо говорить, что это динамическая типизация. Это обычный if. Если это - прелести динамики, то мне её искренне жаль: она убога вплоть до обычного if&#39;а. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2011-07-23T11:46:20+00:00">23.07.11, 11:46</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2943001'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:44:43+00:00">23.07.11, 11:44</time></span><div class='quote '>не я заикнуля, что &quot;динамическая типизация&quot; не нужна</div></div><br>
А я здесь типизации не вижу.]]></description>
        <author>MyNameIsIgor</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943001</guid>
        <pubDate>Sat, 23 Jul 2011 11:44:43 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2943001</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2942997'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:43:09+00:00">23.07.11, 11:43</time></span><div class='quote '><strong class='tag-b'>korvin</strong>, теперь так модно троллить? Что-то лоровских аналитегов напоминает... Т.е. сделать if на значение int&#39;а и в зависимости от его результата вызвать нужную функцию - это не судьба?</div></div><br>
не я заикнуля, что &quot;динамическая типизация не нужна&quot;<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2011-07-23T11:45:42+00:00">23.07.11, 11:45</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2942999'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Повстанець &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:43:59+00:00">23.07.11, 11:43</time></span><div class='quote '>Ты говорил про этам компиляции. Теперь говоришь, что не нужна константа. Вдруг откуда ни возьмись появилась другая совершенно задача.</div></div><br>
задача изначально была одна: определить тип (int &gt; 0) средствами статической типизации. если ты ее как-то не так понял, не зачем возмущаться =)]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2942999</guid>
        <pubDate>Sat, 23 Jul 2011 11:43:59 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2942999</link>
        <description><![CDATA[Повстанець: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2942996'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:42:09+00:00">23.07.11, 11:42</time></span><div class='quote '>см. выше. мне не нужна константа </div></div>Ты говорил про этам компиляции. Теперь говоришь, что не нужна константа. Вдруг откуда ни возьмись появилась другая совершенно задача.]]></description>
        <author>Повстанець</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2942998</guid>
        <pubDate>Sat, 23 Jul 2011 11:43:47 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2942998</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2942995'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:42:01+00:00">23.07.11, 11:42</time></span><div class='quote '><strong class='tag-b'>korvin</strong>, значение переменной удобнее проверять явно, а не через фокусы с сопоставлением.</div></div><br>
какие еще фокусы сопоставлением? я лишь прошу продемонстрировать, как статически определить тип (int &gt; 0). (это лишь для простоты, не нужно тыкать unsigned&#39;тами =) )]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2942997</guid>
        <pubDate>Sat, 23 Jul 2011 11:43:09 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2942997</link>
        <description><![CDATA[MyNameIsIgor: <strong class='tag-b'>korvin</strong>, теперь так модно троллить? Что-то лоровских аналитегов напоминает... Т.е. сделать if на значение int&#39;а и в зависимости от его результата вызвать нужную функцию - это не судьба?]]></description>
        <author>MyNameIsIgor</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2942996</guid>
        <pubDate>Sat, 23 Jul 2011 11:42:09 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2942996</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2942990'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MyNameIsIgor &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:39:17+00:00">23.07.11, 11:39</time></span><div class='quote '><strong class='tag-b'>korvin</strong>, <a class='tag-url' href='http://ideone.com/0JmVl' target='_blank'>ой ли</a>.</div></div><br>
см. выше. мне не нужна константа]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2942995</guid>
        <pubDate>Sat, 23 Jul 2011 11:42:01 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2942995</link>
        <description><![CDATA[amk: <strong class='tag-b'>korvin</strong>, значение переменной удобнее проверять явно, а не через фокусы с сопоставлением.]]></description>
        <author>amk</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2942994</guid>
        <pubDate>Sat, 23 Jul 2011 11:41:39 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2942994</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2942989'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:38:55+00:00">23.07.11, 11:38</time></span><div class='quote '>Правильно, как ты в статике проверишь значение переменной, не константы?<br>
Удали 19 строку.<br>
Или объяви i константой.</div></div><br>
известно как: определив тип переменной как (int &gt; 0)]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2942990</guid>
        <pubDate>Sat, 23 Jul 2011 11:39:17 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2942990</link>
        <description><![CDATA[MyNameIsIgor: <strong class='tag-b'>korvin</strong>, <a class='tag-url' href='http://ideone.com/0JmVl' target='_blank'>ой ли</a>.]]></description>
        <author>MyNameIsIgor</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2942989</guid>
        <pubDate>Sat, 23 Jul 2011 11:38:55 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2942989</link>
        <description><![CDATA[amk: Правильно, как ты в статике проверишь значение переменной, не константы?<br>Удали 19 строку.<br>Или объяви i константой.]]></description>
        <author>amk</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2942988</guid>
        <pubDate>Sat, 23 Jul 2011 11:38:01 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2942988</link>
        <description><![CDATA[Повстанець: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2942982'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:35:48+00:00">23.07.11, 11:35</time></span><div class='quote '>вот я вас и спрашиваю, господа фанатики статики =) </div></div>Про статику спрашивал ты, а сам норовишь передать динамическую переменную. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2011-07-23T11:38:27+00:00">23.07.11, 11:38</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2942986'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>korvin &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:36:57+00:00">23.07.11, 11:36</time></span><div class='quote '>мне нужна переменная</div></div>Зачем тогда спрашивал про статику?]]></description>
        <author>Повстанець</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2942986</guid>
        <pubDate>Sat, 23 Jul 2011 11:36:57 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2942986</link>
        <description><![CDATA[korvin: все типы известны на этапе компиляции, так как мне объявить i чисто статично, чтоб шаблон сработал? <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2011-07-23T11:37:45+00:00">23.07.11, 11:37</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2942984'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Повстанець &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:36:35+00:00">23.07.11, 11:36</time></span><div class='quote '>http://ideone.com/nnlJ7</div></div><br>
э не, не катит, мне нужна переменная, а не константа]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2942984</guid>
        <pubDate>Sat, 23 Jul 2011 11:36:35 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2942984</link>
        <description><![CDATA[Повстанець: http://ideone.com/nnlJ7]]></description>
        <author>Повстанець</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2942982</guid>
        <pubDate>Sat, 23 Jul 2011 11:35:48 +0000</pubDate>
        <title>Java vs Kotlin</title>
        <link>https://forum.sources.ru/index.php?showtopic=336682&amp;view=findpost&amp;p=2942982</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=336682&view=findpost&p=2942978'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Повстанець &#064; <time class="tag-quote__quoted-time" datetime="2011-07-23T11:30:31+00:00">23.07.11, 11:30</time></span><div class='quote '><div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>fun&lt;i&gt;();</div></div>И где тут статика?</div></div><br>
вот я вас и спрашиваю, господа фанатики статики =)]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      </channel>
      </rss>
	