<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Instagram открыл код MonkeyType, системы аннотации типов для...</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/113114.html</link>
    <description>Сервис Instagram объявил (https://engineering.instagram.com/let-your-code-type-hint-itself-introducing-open-source-monkeytype-a855c7284881) об открытии исходных текстов проекта MonkeyType (https://github.com/Instagram/MonkeyType), в рамках которого разработана система для языка Python, позволяющая генерировать аннотации типов на основе сбора информации о типах переменных во время выполнения кода. Код открыт (https://github.com/Instagram/MonkeyType) под лицензией BSD. Для работы требуется Python 3.6 (аннотации сохраняются в атрибуте __annotations__ , а не в комментариях) и опционально утилита retype для  подстановки аннотаций в код.&lt;br&gt;&lt;br&gt;&lt;br&gt; Система была разработана как для упрощения понимания кода проектов новыми разработчиками, так и для автоматизированного выявления ошибок через применение статического анализа типов. Статический анализ имеет смысл только если большая часть кода снабжена сведениями о типах, но если для нового кода такая работа может быть выполнена вручную, то для старого кода и сторонних библиот</description>

<item>
    <title>Instagram открыл код MonkeyType, системы аннотации типов для... (Vkni)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/113114.html#144</link>
    <pubDate>Fri, 29 Dec 2017 04:54:07 GMT</pubDate>
    <description>&amp;gt; 1. В ML&apos;ях хотя бы было такое свойство: программа либо вообще не &lt;br&gt;&amp;gt; компилируется, либо имеет одну главную типизацию, из которой все остальные выводятся &lt;br&gt;&amp;gt; как частные случаи. Классы типов рушат это свойство, и программа может &lt;br&gt;&amp;gt; перестать работать (но продолжать компилироваться), если стереть аннотации типов.&lt;br&gt;&lt;br&gt;Не. Классы типов, если нормально написаны, это свойство практически не рушат. Кроме того, я совершенно не уверен, что отсутствие аннотаций типов вот так уж и хорошо. См. исходники компилятора Ocaml&apos;а - там же без поллитра вообще не разберёшься.&lt;br&gt;&lt;br&gt;&amp;gt; 2. типа &lt;br&gt;&amp;gt; ну ладно, пусть так &lt;br&gt;&lt;br&gt;Ну да, примерно так.&lt;br&gt;&lt;br&gt;&amp;gt; 3. я не про exceptions, я про то, что программа не компилируется &lt;br&gt;&amp;gt; из-за неправильных типов, но ошибка выдается не там, где она есть, &lt;br&gt;&amp;gt; а где-то глубоко внутри функции, которая сама-то правильная, но типы явно &lt;br&gt;&amp;gt; не прописаны.&lt;br&gt;&lt;br&gt;Это я описал практический приём отладки вот таких проблем. В Хаскеле ставится заглушка undefined, дальше компилируется. В ocaml&apos;е вместо неё можно ставить failw</description>
</item>

<item>
    <title>Instagram открыл код MonkeyType, системы аннотации типов для... (Ф)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/113114.html#143</link>
    <pubDate>Thu, 28 Dec 2017 09:50:38 GMT</pubDate>
    <description>1. Классы типов - хитрая штука, и ни разу не замена питону. В ML&apos;ях хотя бы было такое свойство: программа либо вообще не компилируется, либо имеет одну главную типизацию, из которой все остальные выводятся как частные случаи. Классы типов рушат это свойство, и программа может перестать работать (но продолжать компилироваться), если стереть аннотации типов. &lt;br&gt;&lt;br&gt;2. типа&lt;br&gt;&lt;br&gt;import Клиент as К&lt;br&gt;import Продавец аs П&lt;br&gt;... К.имя...&lt;br&gt;... П.имя...&lt;br&gt;&lt;br&gt;?&lt;br&gt;ну ладно, пусть так&lt;br&gt;&lt;br&gt;3. я не про exceptions, я про то, что программа не компилируется из-за неправильных типов, но ошибка выдается не там, где она есть, а где-то глубоко внутри функции, которая сама-то правильная, но типы явно не прописаны.&lt;br&gt;&lt;br&gt;----------&lt;br&gt;вот поэтому ынтырпрайз пишет на джаве&lt;br&gt;</description>
</item>

<item>
    <title>Instagram открыл код MonkeyType, системы аннотации типов для... (Vkni)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/113114.html#142</link>
    <pubDate>Wed, 27 Dec 2017 02:56:36 GMT</pubDate>
    <description>1. Да, по-хорошему, нужны классы типов.&lt;br&gt;&lt;br&gt;2. Для этого есть модули.&lt;br&gt;&lt;br&gt;3. Совершенно не обязательно - есть такая конструкция failwith &quot;Привет&quot;. Это вроде undefined в Хаскеле. Кроме того, народ работает над улучшением диагностики.&lt;br&gt;&lt;br&gt;----------------&lt;br&gt;В любом случае, Питон до более-менее надёжных программ такой длины, при которой возникают эти проблемы, просто не добирается. А С++ этак раза в 2-3 медленнее в разработке.&lt;br&gt;</description>
</item>

<item>
    <title>Instagram открыл код MonkeyType, системы аннотации типов для... (Vkni)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/113114.html#141</link>
    <pubDate>Tue, 26 Dec 2017 03:23:17 GMT</pubDate>
    <description>&amp;gt; Заменить плюсы питоном можно разве что при полном пофиге на скорость работы &lt;br&gt;&amp;gt; этого.&lt;br&gt;&lt;br&gt;Не в этом основная проблема - продолб по скорости там ну раз в 10. Это практически всегда лечится выбором подходящих структур данных и алгоритмов.&lt;br&gt;&lt;br&gt;А вот отсутствие компиляции реально не лечится - практически в половине обработчиков ошибок в программе на Питоне есть ошибки. Всё должно быть 100&#037; покрыто тестами, что почти в любой задаче с ветвлениями невозможно. А аннотации - это возврат к работе с типами в стиле Алгола-Фортрана-С-Паскаля.&lt;br&gt;&lt;br&gt;В то же время, с 80-х реализован вывод типов Х-М в ЯВУ семейства ML. Всё столь же гибкое как Питон, но компилируется и проверяется в статике.&lt;br&gt;</description>
</item>

<item>
    <title>Instagram открыл код MonkeyType, системы аннотации типов для... (Аноним)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/113114.html#140</link>
    <pubDate>Mon, 25 Dec 2017 16:24:58 GMT</pubDate>
    <description>Есть библиотеки, которые на основе аннотаций строят дополнительные проверки входных параметров. В остальном в Python это больше дополнительная информация, не основная.&lt;br&gt;</description>
</item>

<item>
    <title>Instagram открыл код MonkeyType, системы аннотации типов для... (Аноним)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/113114.html#139</link>
    <pubDate>Sun, 24 Dec 2017 20:30:02 GMT</pubDate>
    <description>&amp;gt; Хотите рассказать мне, насколько вкусны апельсины и крут ABS? Так я езжу &lt;br&gt;&amp;gt; с ним и ЕPS еще парой S с 2003 года. Я как раз в курсе, без всяких тестов и нахваливаний.&lt;br&gt;&lt;br&gt;Тогда в чем проблемы? Хочется потроллить? Или посмотреть на мир где всякие нубы и клуши без ABS рассекают? Смею заверить, ДТП станет больше и последствия тяжелее. В этом мире не каждому дано ощутить себя одним целым с машиной. Это факт. Некоторые так и остаются как на ходулях. Автоматика облегчает их участь и делает мир безопаснее. При том таких пожалуй большинство.&lt;br&gt;&lt;br&gt;&amp;gt; Интересно, о каких же тогда лихо тормозящих нубах шла речь? Неужели есть &lt;br&gt;&amp;gt; ненубы, впадающие в ступор или путающие газ с тормозом?&lt;br&gt;&lt;br&gt;О вон тех, которые выше. Которые не ощущают себя одним целым с машиной, но в случае с ABS они круто и корректно тормозят. Не теряя управления. Что очень полезно для сохранности и их самих и остальных.&lt;br&gt;&lt;br&gt;&amp;gt; Однако, при прочих равных, водительский опыт способствует более верной оценке ситуации &lt;br&gt;&amp;gt; и позволит сбросить заранее скорость или даже п</description>
</item>

<item>
    <title>Instagram открыл код MonkeyType, системы аннотации типов для... (Аноним)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/113114.html#138</link>
    <pubDate>Sun, 24 Dec 2017 18:27:23 GMT</pubDate>
    <description>&amp;gt; Согласен. Снег ведь всегда убирают вовремя, а за МКАДом жизни нет.&lt;br&gt;&lt;br&gt;Представляешь, по умолчанию предполагается что автомобили ездят по асфальту. Более того, круглый год снег лежит на этой планете лишь сильно местами. Можно конечно вспомнить мужиков на шишиге которые речку по пояс переезжают, но это не массовый сценарий. Да и они несмотря на mad skillz периодически валяются по склонам, так их что даже убрать никто оттуда не может.&lt;br&gt;&lt;br&gt;&amp;gt; Или автомобилей с АBS.&lt;br&gt;&lt;br&gt;Комплексы автотазера лучше оставить при себе.&lt;br&gt;</description>
</item>

<item>
    <title>Instagram открыл код MonkeyType, системы аннотации типов для... (Аноним84701)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/113114.html#137</link>
    <pubDate>Sun, 24 Dec 2017 15:52:44 GMT</pubDate>
    <description>&amp;gt; In 1972, Unix was rewritten in the C programming language.&#091;18&#093; The migration &lt;br&gt;&amp;gt; from assembly to the higher-level language C resulted in much more &lt;br&gt;&amp;gt; portable software,&#091;19&#093; requiring only a relatively small amount of machine-dependent code &lt;br&gt;&amp;gt; to be replaced when porting Unix to other computing platforms.&lt;br&gt;&lt;br&gt;Все течет, все меняется. &lt;br&gt;Насчет си врать не буду,  но натыкался на  списки рассылок из ранних девяностых. С извечным сра^W обсуждением правильности и трушности ЯП и обзывании (по смыслу) &quot;хипстотой&quot;  плюсовиков.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Instagram открыл код MonkeyType, системы аннотации типов для... (Ordu)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/113114.html#136</link>
    <pubDate>Sun, 24 Dec 2017 15:03:35 GMT</pubDate>
    <description>&amp;gt; Что за бред? Юникс переписали на C, чтобы обеспечить портируемость ядра и &lt;br&gt;&amp;gt; софта на другие платформы, а не потому, что авторы были хипстерами. &lt;br&gt;&amp;gt; Наоборот, портируемость воспринималась как прорыв.&lt;br&gt;&lt;br&gt;Ты думаешь, что хипстерство определяется целями человека? Ты не прав, хипстерство -- это способ действия, включающий в себя отказ от сложившихся технологий и разработку новых им на замену, сопровождающийся утверждениями о том, что новые технологии более совершенны и позволяют делать больше, лучше, качественнее, быстрее и проще. А цели человека при этом могут быть различными.&lt;br&gt;&lt;br&gt;Также ты не прав насчёт того, как восприняли идею написать ОС на высокоуровневом ЯП. Были конечно же хипстеры, которые восприняли это как прорыв, а были ретрограды, которые подняли хайп на тему того, что ничего хорошего из этого не выйдет, и продолжали писать свои операционки на асме, адаптируя их под всё новые и новые платформы. Впоследствии хипстеры победили, потому что даже если их ОС была менее совершенна, и может быть медленнее р</description>
</item>

</channel>
</rss>
