Не секрет, что Python (CPython) - динамически типизируемый язык (все типы выясняются во время выполнения программы). Это как дар так и проклятие. С одной стороны - можно быстрее писать программы, с другой - тяжелее найти ошибки. При этом, если была бы статическая типизация - уже на этапе компиляции мы знали бы где мы затупили с типами.

В русскоязычном Python Андрей Власовских из Jetbrains наиболее часто говорит об этой концепции. Представляю сборку материалов от этого докладчика:

2012 год:

Языки со статической и динамической типизацией сосуществуют уже очень долгое время, поскольку у обоих подходов есть свои плюсы и минусы. Динамическая типизация уступает статической по популярности, поскольку обладает рядом известных недостатков. В таких языках больше ошибок происходит во время выполнения, слабее поддержка со стороны IDE, хуже производительность программ.

В докладе рассматривается получающая распространение опциональная типизация, которая поможет сгладить недостатки динамических языков. Описываются способы введения опциональной типизации в динамические языки на примере языков Python, Erlang, Dart. Рассматривается, как применяется опциональная типизация в статическом анализе кода для повышения его производительности и корректности. Даётся обзор инструментов, использующих опциональную типизацию.

Видео: http://vimeo.com/42618102 Слайды: http://blog.pirx.ru/media/files/2012/vlan-optional-typing-talk/optional-typing.html

2013 год:

С появлением новых библиотек и диалектов для типизации Python вновь оживилась дискуссия о необходимости и способах введения опциональных типов в Python. В докладе будет рассказано о текущем состоянии этой области, в том числе и об инициативах JetBrains.

Видео: https://www.youtube.com/watch?v=NdX0-FnypjE Слайды: http://blog.pirx.ru/media/files/2013/python-optional-typing/#1

2015 год:

Слайды: http://blog.pirx.ru/media/files/2015/whats-new-in-python35/#1 Видео: https://www.youtube.com/watch?v=2GuTQwBYsgI



Комментарии