LINUX.ORG.RU

Хочется странного: типизированный питон

 , , ,


0

2

За свои пятнадцать с чем-то лет варения в индустрии, мне доводилось работать на большом количестве языков и диалектов: начиная с бейсика и делфи/паскаля/шарпа, и заканчивая джаваскриптом, пыхом и питоном, ну и касался всякого: от эрланга до хаскеля. И вот сейчас сижу ваяю сайтец под заказ на своём MVC-фреймворке и выпив очередную чашку кофе, понял, что хочу странного. Хочу питон со строгой статической типизацией. Есть ли такое нынче в природе?



Последнее исправление: cetjs2 (всего исправлений: 1)

mypy - подобное ищете?

Что-то такое начали делать в 3.6, но как там сейчас дела - надо смотреть. Всё же python это duck-typing язык.

Deleted
()
Ответ на: комментарий от entefeed

Почему? Пишешь с тайпхинтами, прогоняешь через mypy

Ну потому что, например, в одном из проектов, в котором нет задокументированного кодстайла, я уже цапался с одним товарищем из-за того, что я пишу в соответствии с PEP8, а в проекте так не принято... хотя, чёрт знает, что вообще там принято. Если в таких случаях ещё пытаться навязывать типизацию... Всем же плевать всегда, понимаешь? Все пишут типа без ошибок. Потому всякие стандарты разработки, тайпхинты, тесты - это не для них. А язык, в котором типизация гвоздями прибита - как бы обязывает.

MetalBeaver
() автор топика
Ответ на: комментарий от Deleted

Всё же python это duck-typing язык.

duck-typing и статика это ортогональные вещи. Можно проверять интерфейс объекта статически. Во многих языках так и делают

Crocodoom ★★★★★
()
Ответ на: комментарий от MetalBeaver

В таких случаях тебя и статика не спасет, найдут другой способ выстрелить в ногу. Как в свою так и в твою.

entefeed ☆☆☆
()

подожди 3.8 или 3.9, если не бросят, то хинтинг допилят. а пока полагайся на ide, если уж невмоготу

anonymous
()

Хочу питон со строгой статической типизацией. Есть ли такое нынче в природе?

Определи, что такое «питон» для тебя. Объектная система? Структурная (утиная) типизация? Наличие опредленных батереек, библиотек? Наличие BDFL?

Crocodoom ★★★★★
()
Ответ на: комментарий от entefeed

Тайп хинтов хватит всем.

Doxygen не переваривает их.

Kroz ★★★★★
()
Ответ на: комментарий от anonymous

У Golang другое назначение. Незачем его советовать кому попало - он и так становится всё более модным, так что плохие программисты, которые сейчас пользуются яPython-ом, и без советов начнут программировать на Go... и тоже плохо, несмотря на статическую типизацию.

Partisan ★★★★
()
Ответ на: комментарий от MetalBeaver

я уже цапался с одним товарищем из-за того, что я пишу в соответствии с PEP8, а в проекте так не принято...

То есть ты не можешь заставить одного коллегу писать нормальный код, но надеешься весь проект разом перевести на другой язык? Тебе не кажется что в твоей логике есть неисправимая поломка?

Потому всякие стандарты разработки, тайпхинты, тесты - это не для них.

Покажите мне язык который заставляет писать тесты? Если в проекте принято говнокодить, то смена языка тут уже не поможет.

morse ★★★★★
()
Ответ на: комментарий от morse

То есть ты не можешь заставить одного коллегу писать нормальный код, но надеешься весь проект разом перевести на другой язык? Тебе не кажется что в твоей логике есть неисправимая поломка?

Я вообще не собираюсь никого заставлять переходить на другой язык. Случай с тем проектом - всего-лишь один из кирпичиков в моём опыте, который подтолкнул к мысли, спросить, а есть ли такой язык.

MetalBeaver
() автор топика

Погляди на Groovy. Ничего ближе него и Cython ты не найдёшь. А так, статичное ООП — Java.

WitcherGeralt ★★
()

Все приличные люди потихоньку переходят с питона на няшную растишечку. Ты смотри, а то засидишься, лол.

Pacmu3ka
()

В Пичальм завезли уже давно поддержку тайпхитнов, она не только работает, но даже это делает хорошо. Конечно до mypy ещё очень далеко, то темнеменее...

itn ★★★
()

Идея: взять питон, выкачать из всяких википедий перечисленное по ссылке «список языков программирования», для каждого разбить описание на слова, удалить из питонских «dynamic, duck», и наоборот добавить «static» и отсортировать все в порядке убывания вероятности наличия слов из модифицированного питонского.

DonkeyHot ★★★★★
()

Хочу питон со строгой статической типизацией. Есть ли такое нынче в природе?

Boo.

Если не требуется именно Питон, то ассоциативно к нему близок Go.

В обоих языках типизация строгая, статическая, но утиная.

KRoN73 ★★★★★
()
Ответ на: комментарий от entefeed

В таких случаях тебя и статика не спасет

со статикой хотя бы кодить приятнее

PexuOne
()
Ответ на: комментарий от WitcherGeralt

Я сам его тоже полноценно не шупал, только тесты погонял, вот и запомнилось.

KRoN73 ★★★★★
()
Ответ на: комментарий от Partisan

У Golang другое назначение.

интересно. можно подробнее?

PexuOne
()
Ответ на: комментарий от t184256

Жаждем подробностей.

имею опыт поддержки большого и долгоиграющего проекта. рефакторинг когда-то неправильно принятых решений - ни чем не лучше чем в js или php.. дык js хотя бы развивается и более-менее портативен, благодаря своему простому синтаксису.. а вот Питон, со своими срачами в коммунити - выглядит опасно-перспективно.

PexuOne
()
Ответ на: комментарий от t184256

Врешь, даже Гвидо хочет.

теперь у него появилась возможность исправить ошибку. есть там какие подвижки в эту сторону?

PexuOne
()
Ответ на: комментарий от PexuOne

вполне определённый тип, между прочим. и во многих случаях можно обойтись без него.

Статическая типизация уровня void*

O02eg ★★★★★
()

Ocaml. Приятный такой, почти что F#.

solom
()
Ответ на: комментарий от MetalBeaver

Как его уход с поста BDFL мешает ему хотеть и/или продолжать пилить mypy? Скорее логичнее наоборот.

t184256 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.