Я уже некоторое время играю с Typscript, и должен сказать, что учитывая тот факт, что nodejs быстрее, чем текущая реализация CPython для моих нужд веб-разработки, я был более склонен делать с ним больше вещей.
Фактически, я сделал с ним пару базовых приложений, даже для настольных компьютеров. Что мне нравится в Typescript, так это то, что в нем есть необязательные статические типы. Это часто делает кодирование намного проще, не говоря уже о том, что intellisense великолепен, когда вы хотите быстро написать код и запустить прототип. Я тоже сталкивался с меньшим количеством ошибок в процессе разработки.
Но вот в чем проблема: я работаю с Python уже год, мне нравится этот язык, и я просто больше привык к синтаксису. Однако все больше и больше я вижу, что дополнительная статическая типизация может быть отличным плюсом для Python. Итак, я провел небольшое исследование, сначала я попытался понять, что такое статическая типизация прямо сейчас. Как и любой другой, я использовал поисковую систему, чтобы это выяснить.
Вот некоторые из источников информации, которые я прочитал:
Если вы посмотрите на реализацию здесь (отрывок из ссылки выше):
from StringIO import StringIO
def foo(f: StringIO) -> str:
f.write("hello")
return f.getvalue()
f1 = StringIO("booh+")
print foo(f1) # prints "booh+hello"
Теперь это очень похоже на реализацию в Typescript. Однако если вы посмотрите на дату, она восходит к 2004 году.
Затем я еще раз взглянул на слайд, сделанный BDFL, Гвидо:
Опять же, вы видите ту же риторику. Однако мне не удалось найти никакой новой информации по этому поводу.
Я также просмотрел @ this SO answer о применении статических типов.
Итак, я хотел спросить, какова ситуация или состояние добавления необязательной статической типизации в Python? Или нам нужно изобрести что-то вроде Typescript, но для Python 3?
Я считаю, что необязательная статическая типизация важна, потому что на моем собственном очень ограниченном опыте я видел, что что-то вроде Typescript и C # работают лучше, поскольку при создании сложных классов или больших проектов я видел, что статическая типизация давно прошла. способ помочь мне писать код быстрее и без ошибок. Я уверен, что я далеко не так хорош, как большинство здесь разработчиков, но это мое мнение. Вот почему я считаю этот вопрос важным. Я имею в виду, что если бы у вас была дополнительная типизация такого языка, как C #, с красивым синтаксисом, предоставляемым Python, то Python, вероятно, был бы неудержим (ура!).
Я провел некоторое исследование по этому поводу, но у меня не было ничего существенного, поэтому я надеялся, что некоторые из замечательных и мудрых членов SO прольют свет на эту проблему.