Компания Microsoft открыла исходные тексты проекта Pyright (https://github.com/Microsoft/pyright), в рамках которого развивается система для применения статической типизации в приложениях на языке Python. Для разработчиков предлагается утилита командной строки для проверки типов и плагин для интегрированных сред разработки, поддерживающих протокол LSP (https://www.opennet.me/opennews/art.shtml?num=44682) (Language Server Protocol), такими как Visual Studio Code, Nuclide и Atom. Код написан на языке Typescript (диалект JavaScript со статической типизацией), использует Node.js и открыт под лицензией MIT.
Информация о типах может определяться в коде через добавление дополнительных аннотаций к переменным (PEP 526 (https://www.python.org/dev/peps/pep-0526/), например "# type: List[int]"), TypeVar-подсказок в стиле mypy (http://mypy-lang.org/) (PEP 484 (https://www.python.org/dev/peps/pep-0484/), например "def greeting(name: str) -> str:") и определение структурных подтипов (https://en.wikipedia.org/wiki/Structural_type_system) (PEP 544 (https://www.python.org/dev/peps/pep-0544/)). Pyright поддерживает вывод типов для возвращаемых функциями значений, локальных переменных, переменных классов и глобальных переменных. Системой также применяются умные ограничители типов, учитывающие ветвления в коде с использованием операторов if/else.Pyright работает примерно в пять раз быстрее mypy и других систем проверки типов, написанных на языке Python. Высокая проихводительность позволяет использовать Pyright для очень крупных кодовых баз, в режиме непрерывного отслеживания при редактировании и для быстрого инкрементального обновления при изменении файлов. Для работы Pyright не требуется установка Python-окружения, но необходимо наличие Node.js.
Кроме инструментов для анализа и проверки кода в состав также входит подготовленный проектом Typeshed (https://github.com/python/typeshed) набор stub-файлов (".pyi"), содержащих информацию о типах для стандартных библиотек stdlib. Плагин для IDE поддерживает вывод всплывающих подсказок с информацией о типе, переход к позиции с определением переменной и обеспечение обратной связи во время редактирования.
URL: https://news.ycombinator.com/item?id=19473631
Новость: https://www.opennet.me/opennews/art.shtml?num=50383
Сначала одни делают языки с динамической типизацией, а затем другим приходится придумывать к ним разные костыли, чтобы как-то прикрутить нормальную статическую типизацию.
Зато в Питоне нет скобочек, олицетворящих гегемонию Си. Вот!
> Зато в Питоне нет скобочекЭто пока нет. Гвидо отошёл от борорьбы принятия решений и сейчас кто знает куда развитие уйдёт когда рак, лебедь и щука (желания и хотелки одних и других пользователей) потянут в разные стороны проект и сколько лет будут эти трое разрывать его на части.
пробельчики считать глаза уже натренировались?
Бедный, целыми днями считает пробельчики, пока люди пишут код. :(
как будто вы всю память освободили, за указателями последили и за границы массива даже на пол-фитульки не вылезали
Попробуй вместо notepad.exe поставить что-нибудь получше.
Их много где нет. Например, в Хаскеле, у которого, кста, похожий же двумерный синтаксис.
Хоспади опять откопали это ...
это как коробка-автоматтеперь и с подрулевыми лепестками
В случае с питоном аналогия неверная. Скорее, коробка автомат, к которой кочергу приделали для ручного переключения и масло слили, чтобы не плавало...
Некоторым платят за количество строчек в тестах.
Да недавно видел на биржа фриланса обьявление куплю говнокода на 1000000 строк.
Просто людям, которые используют языки с динамической типизацией там, где это не стоит делать, надо вправить мозги.
Ну как так? В одной крупной организации используется TypeScript, ибо JS - боль (так утверждают архитекторы). Просьбы дать аргументацию не увенчались успехом.На своем проекте удалось отстоять JS и выжать максимальную скорость из команды.
В новом проекте - TypeScript (от нашей любимой Microsoft). Теперь вместо работы разработчики ругаются матом на интерфейсы, типы, наследование. Чтобы победить TS с его глупейшими ошибками нужно over 9000 действий сделать. Ну и чего добились? Скорость команды просела. Те же действия требуют раза в 2-3 больше кода. Визуального шума больше. Тьфу блин...
Доигрались. А архитекторы? А что архитекторы - сказали надо - делаем. Модно, хипстерски, молодежно зато.
Так что идите лесом, господа. Где-то нужна статическая типизация, где-то не нужна. От задач и области применения зависит. И не надо тут синдром молотка включать.
> Просьбы дать аргументацию не увенчались успехом.Ну, собственно, после этого можно не продолжать.
> Так что идите лесом, господа. Где-то нужна статическая типизация, где-то не нужна. От задач и области применения зависит. И не надо тут синдром молотка включать.
При чём тут синдром молотка?
Синдром молотка в том, что человек ранее разрабатывал на C# / Java, не смог осилить JS. Пришел в чужой аул со своим барахлом и принципами. Появился TS. Занавес.
Я не в курсе конечно, а не то что в Java тоже все отнаследовано от какого-то абстрактного Object?
JS вообще не ООП-язык, ни разу. Где-то прикидывается, но нет. У него больше с LISP/Scheme общего, чем с Java. Отсюда проблемы
> Синдром молотка в том, что человек ранее разрабатывал на C# / Java,
> не смог осилить JS. Пришел в чужой аул со своим барахлом
> и принципами. Появился TS. Занавес.Так сложно судить со стороны, но всякая бизнес-логика очень хорошо работает со статически типизированными языками. И, в общем, формочки шлёпать на всяких Elm вполне приятно и легко.
Ну и работа с большими системами на динамически типизированных языках обычно сравнительно трудоёмка и требует серьёзной дисциплины. (по моему опыту - достаточно надёжную программу средних размеров написать на Хаскеле значительно легче для мозгов, чем на Питоне)С другой стороны, если человек пропихивает решение, которое не может обосновать - это крайне плохой признак. Безотносительно вышесказанного.
как-то вы неправильно его готовите. TS позволяет настроить необходимость типизации и использовать ее там где она действительно нужна.
А писать на JS крупный проект это боль, когда вместо использования подсказок редактора ты каждый раз лазишь в документацию или в код, а потом еще и ловишь ошибки в рантайме.
>теперь вместо работы разработчики ругаются матом на интерфейсы, типы, наследование.Лол, жс-макаки не могут даже в такие простые абстракции.
> Для работы Pyright не требуется установка Python-окружения, но необходимо **наличие Node.js**Что, простите???
>Код написан на языке Typescript (диалект JavaScriptЧто именно тебе не ясно?
Он вообще то про что почему не на самом Питоне раз нужен еще один интерпретатор ?
Написали бы тогда уж на си или го, а тут какой то маразм, следующий раз им понадобится и руби :(P.S. Хотя если ограничивать юзание этой штуки редакторами vscode или атом то тогда понятно, там ноде уже внутри :(
Видимо потому, что IDE для которой писалось рпсширение работает на JS/TS:> This is especially useful when used with the VS Code editor, which uses node as its extension runtime.
Ну это понятно.
Просто не нужно было в новости писать :
> Для разработчиков предлагается утилита командной строки для проверки типов и плагин для
> интегрированных сред разработкиНаписали бы просто, плагин для редакторов юзающих ноду и сразу все понятно.
P.S. И кстати скорость тут не причем, на GO поди еще быстрее бы было. Про СИ я молчу даже ...
> Он вообще то про что почему не на самом Питоне раз нужен еще один интерпретатор ?А целиком новость прочесть?
> Pyright работает примерно в пять раз быстрее mypy и других систем проверки типов, написанных на языке Python.
наверно потому что js быстрее и удобней Питона.
Может и быстрее. Но вот насчёт удобней...
Ну, скажем так, нынче Питон кажется замшелым валенком. Не знаю откуда у питона такая популярность, видимо просто в силу возраста и отсуствия вменяемых альтернатив на то время.
Да, по сравнению с es5 питон сильно выигрывает, но по сравнению с современным ts Питон уныл.
так ts или js? ты сначала сам определись
а что есть разница? можно писать на js, описывая типы и проверяя тайпскриптом
TS - лишь сахар для JS
Лол, с некоторых пор тс почти совсем сабсет, а не суперсет жса. Т. к. там нет и долго не будет множества модных фич типа паттерн матчинга, пайплайнов, старых новых декораторов, новых новых декораторов, частичного применения и прочего сахара. Сам тс не предоставляет ничего, что не будет работать в бровсере/ноде после простого удаления типов.
Не знаю почему, но у меня нет большого желания писать на ноде.
Дык каждому индейцу свое перо.
Это не так, все доступное в стандарте реализовано в тс и плюс некоторые фичи из stage до 4. Плюс в тс есть енамы, сахар для параметров конструктора, которые не просто вырезаются
> Это не так, все доступное в стандарте реализовано в тс и плюс
> некоторые фичи из stage до 4. Плюс в тс есть енамы,
> сахар для параметров конструктора, которые не просто вырезаютсяВы про те параметры, которые собой определяют поля?, такое себе решениеё
Дай угадаю, Cython им не подошел из-за слишком высокой скорости?
Там нет node.js
Синтаксис Cython то видели? Даже в нотации типов он C-подобен. А современные скриптовые языки, включая питон 3.6 имеют указание типа в паскалевском стиле.
Поскакалеподобен
кстати, у скалы тоже такой же синтаксис типизации
>Pyright работает примерно в пять раз быстрее mypy и других систем проверки типов, написанных на языке Python.Жабаскриптеры унижают питонистов на собственной территории :)
Очередная история отношений земноводных и змей.
зришь! (С)
Точняк бро!
нормальную перегрузку функций это фигня дает?
Какие перегрузки? Это просто "online" анализатор типов -> "утилита командной строки для проверки типов"
Обычные, с ручным выбором нужной. Объявляется несколько сигнатур без имплементации + имплементация совместимая со всеми сигнатурами (иногда приходится через any), в ней уже ручками всё разруливаешь. Но при вызове функции/метода для тайпчекера это выглядит как перегрузка.
Что-то он у меня не взлетел на VS Code. Жрет CPU и ничего видимого не происходит, всплывающие подсказки перестают работать.
В текущем модуле typescript есть баг, может в следующем обновлении Code его заменят на более свежий.
Ок. Спасибо за информацию!
https://github.com/Microsoft/TypeScript/issues/29598
Это он питон так уделывает, вы просто чего-то не поняли.
Что только не придумают, лишь бы не уговаривать людей изучать язык, на котором пишут.
Это какой например?
о, это же отлично.
Как стал изучать Питон сразу возник вопрос, а где typescript для питона, с типами же тут еще хуже чем в js.
А тут прямо идеально, еще бы работало.
> Как стал изучать ПитонА зачем?.... Работать то где на нём?
для собственного кругозора. Насчет работать не знаю, js не хуже в этом плане, только поднадоел.
Хочется куда-то, где построже и побогаче.
Для расширения кругозора полезно смотреть то, что кому-нибудь нужно. Питон в продакшене никому не нужен. См. рейтинг языков по доступным вакансиям:https://spectrum.ieee.org/view-from-the-valley/at-work/tech-...
скала и руби на втором и третьем месте? не смешите мои ботинки, это не рейтинг, а посмешище
правая колонка - хотелки разработчиков. Левая - за что деньги готовы платить. Скала там потому, что много успели написать. То есть некому поддерживать. Руби - ну так он до сих пор популярен для веба вне отдельно взятой этой страны. Быстрее - ни на чём не напишите.
HTML выше на 2 пункта, чем Python. Забавный рейтинг.
> HTML выше на 2 пункта, чем Python. Забавный рейтинг.Забава в чём? Что питон никому не нужен? Или в том, что HTML-верстальщиков нужно мало?
первое
>Руби - ну так он до сих пор популярен для веба вне отдельно взятой этой страны.Я не "в этой стране" я в NA\GL-area. Позиция ребе-программер у нас тоже большая экзотика...
>Быстрее - ни на чём не напишите.Уже придумали *оно повонючее: на ноде ещё быстрее одноразовка делается :-Р И почти бесплатно. Даже пыхеров подвинули 8-о
Так что ты устарел, тебя пустят на переработку :)
Не столь интересен сам питон, он учится очень быстро, сколько django. Вакансий довольно много.
Да я и не говорю что собираюсь прям на питоне и остановиться. C# и Go на очереди, возьму что понравится. Только для Go мало вакансий и там хотят сразу готовых сеньоров, поэтому он кажется не сильно актуальным для изучения.
Наверно выбор будет между C# и Java.
> django. Вакансий довольно многоGo см. Или Rails, если интересует веб-бакенд. Без практики и изучения, явно не получится стать квалифицированным разработчиком.
> C# и Java
Java. Иначе тот же вопрос - кому нужна винда сейчас?
какие-то у вас странные представления о бэкенде.
rails умирает, та же django встречается чаще. Плюс Питон более универсален, чем Руби.
А причем тут винда? C# для бэка уже давно винду перерос. Дотнет фреймворк вышел удачным и тоже получил свою долю пирога.
>А причем тут винда? C# для бэка уже давно винду перерос. Дотнет фреймворк вышел удачным и тоже получил свою долю пирога.Козюльский! Кому вы таки парите мозги?! (С)
Любая девочка знает что доднед хоть как то работает только в M$(C) WЫndoуЗЪ(Tm) :-) Шаг влево - вправо и тебя пристрелили. Вне винды его только у ямумкихакир-ов увидеть можно ...
> rails умирает, та же django встречается чаще. Плюс Питон более универсален, чем Руби.Rails ещё долго будет умирать. А вот с питона и django, все кто прикоснулись, мигрируют на Go.
Питон, может быть, "более универсален", чем Руби, но плох везде, где бы его ни использовали. К тому же, имеет постоянные проблемы с совместимостью и полную неопределённость в развитии после ухода Гвидо.
ну хорошо, уговорили.
Меня и самого Питон выбешивает своими разными версиями, отстуствием объявления переменных, плясками с virtualenv и дубовостью.
Выбор сузился до Java vs Go. Тем более под деньгам оно самое привлекательное.
> Меня и самого Питон выбешивает своими разными версиями, отстуствием объявления переменных,А что в этом плохого? Со статичным типизированием понятно, объявляешь переменную и указываешь тип, а в динамике зачем?
Для веб-бекенда нужно знать ПХП
сгинь, ирод
На кой для бэкенда знать PHP? Опять таки как и для django это знание нужно только для уровня дизайн студий подвально чердачного типа.
Для веб-разработки и прототипирования за пределами нашего чебурнета Ruby популярен. Вот недавняя статистика по вакансиям, а не по всяким непонятным рейтингам, в Кремниевой долине: https://medium.com/@yoelblum_45935/demand-for-ruby-on-r...Просто переводной литературы по Ruby было очень мало и к тому же сильно протухшей, поэтому в России популярность его гораздо ниже, плюс с английским в нашем регионе всегда было худо, в веб-разработка имеет относительно низкий порог вхождения, в итоге все, кто в нулевых начинал с условного "Освой PHP и MySQL за 7 дней" даже набравшись опыта и выучив для работы английский так и остались на этом стеке, у адептов Python, к примеру, появилась Джанга и т.д. Не зная хорошо английский влиться в разработку на Ruby (в актуальном её состоянии практически невозможно), в то время как по PHP, Python, Java, C# литературы на русском навалом.
Статически типизированный Питон - это Ocaml.
А зонды от мелокмягких, как всегда в комплекте?
export PYRIGHT_TELEMETRY=OFF :)
> export PYRIGHT_TELEMETRY=OFF :)Давно известно, что зонды от мелкомягких, на самом деле - настройками не отключаются ;)
>We couldn’t find any code matching 'PYRIGHT_TELEMETRY' in Microsoft/pyright
Это что же получается, теперь на Питоне нельзя будет фигачить код, не задумываясь о значениях переменных и рассчитывая на то, что интерпретатор сам как-нибудь там разберётся?
Проклятые мелкомягкие!
Надеюсь вменяемым разработчикам хватит мозгов не вестись на этот EEE.
Тайпхинтинг не вчера придумали
Хм, а зачем писать на языке с динамической типизацией, если потом нужно подключать статику? Может кто просветить, какие реальные юзкейсы?
Потому что набор типов, с которым работает какая-то функция или метод, в реальной жизни обычно ограничен. И тайпхинтинг здесь позволяет находить ошибки, когда в функцию, ожидающую на входе int, вдруг подают list.Вообще, на Ютубе есть запись доклада Григория Петрова про тайпхинтинг, там все очень подробно и доступно изложено.
Что за бред ?
А почитать к примеру PEP484 не судьба что ли :(
Так речь про PEP484 и идёт.
Ладно спрошу по другому. Если мы первый раз вызываем скрипт python, когда еще нет pyo почему сам интерпретатор не проверит это дело если мы в тексте указали все как нужно ?
Потому что это не статическая типизация. Интерпретатор эту информацию просто отбрасывает. Эта информация используется статическими анализаторами вроде mypy, pyre, pyright и пр.
> Интерпретатор эту информацию просто отбрасываетТак давайте разбираться в этом термине. Интерпритатор Python на самом деле транслятор и виртуальная мащина. У него есть две стадии компиляция (трансляция с языка Python в Python Bytecode) и вторая стадия интерпритация в вирутальной машине байткода.
Почему не ввести разновидность трансляции с проверкой типов, так называемую strict трансляцию. Напомню, что подобного рода трансляция (strict) есть в Visual Basic и JavaScript.
Статика в Python не подключается, это не возможно. Типы аннотируются, т.е. указываются для статического анализа (можно сказать, что в виде мета информаций). В редакторе можно подсвечивать ошибки (к примеру при присваивании, при вызове функции, ...), статистический анализ как одна из стадии проверок в CI (непрерывной интеграции), можно использовать для валидации в реальном времени (удобнее описывать, идемпотентный код, ...), ...
В итоге писать код в реальных средних и больших проектах значительно удобнее. По той же причине аннотирование есть в Typescript
А ещё удобнее было бы сразу писать на языке со статической типизацией.
Вот да, этот вопрос меня и интересует больше всего. Если пишешь на динамике ради каких-тотее плюсов (скорость разработки и прототипирования?), то смысл в привлечении элементов отвергнутой статики. Совместить лучшее из двух миров?
Я давно хочу статически типизированный Python)
Это только до тех пор, пока его и вправду не сделают. Правдо _это_ уже Питоном не будет :)
Но к тому времени у тебя появятся новые пи**тые идеи, не волнуйся. Работать снова будет некогда :)
Ближе всего к этому Ocaml.
Не зачем, а почему. Потому что до некоторых долго доходит, что на языке без статической типизации писать не стоит.
Смотря что, смотря для чего. Но чего это я? Раз Ыгспёрд сказал, то фсио ...
Баш норм и без нее
Так там и типов никаких нет кроме строк. Разве что массивы в 4 версии добавились.
Для меня лично больше подхолит утилита PYLEFT.
М-да... если выкинуть из питона все пробелы и безтипность, то что останется?
не питон. ясно ведь)) и да странно что один скриптовый язык проверяет другой на наличие типов. тем более в языке динамической типизации. я конечно понимаю некоторым не отойти от тех же плюсов, но питон как раз и делали таким. время было такое , такие и идеи. если что то не нравится возьмите другой язык. в любом случае сейчас наплодили их столько, что диву даешься, а си как был стандартом , так и остался)))
Visual Studio - TypeScript - Node.JS - и всё это для PythonШиза косит стройные ряды.
Почему я чувствую, что в чём-то здесь подвох?
с МС всегда подвох. )) так что просто остерегайтесь данайцев дары приносящих.))
Обосную почему динамическая типизация рулит мне и вероятно не только мне. 90% py-проектов - консольные скрипты на 50 килобайт, из которых 50% - комментарии и строковые "константы", которые взять больше неоткуда (типа ФИО директора в дательному падеже, типа Айрам Жовкету Асан-Оглы Хуажашеву). И этот "говнокод" пишется быстро, скажем за 2 дня, но окупается за неделю, поскольку убирает рутину и для обычных офичных людей является чистой магией.Когда заказчик в ТЗ пишет "все переменные типизировать в коде", - то код пишется уже 3 дня. Но стоит в... - Правильно, в 2 раза дороже. Т.к. "правильность" и "неправильность" в наше время определяет его величество рынок, тот кто платит, а не то кто умничает - то таких ТЗ и заказов всё меньше. Достаточно лишь поговорить с тов. Хуажашевым. Ему-то всё равно - лишь бы работало правильно. А для этого есть тесты.
Радует что Питон типы и все эти Pyright дает как опцию, печалит что скорости работы программы они все равно не добавляют. Но знаете ли вы что слишком быстро работающая программа на С выглядит не так дорого, как медленная на Python? Теперь знаете.
> печалит что скорости работы программы они все равно не добавляют.Вы это где то прочитали, либо сами столкнулись с "медлительностью"? На каких задачах вам не хватает python?
"не добавит" != "медлительность". Стат-типизация сабжем - скорости Питону не добавит.Скорости обычного питона мне хватает на всех задачах. Она и так в 3-5 раз быстрее прочего IT-окружения на предприятиях-клиентах (это я про 1С, Excel, COM-автоматизации, сетевые базы данных итп).
Cython, nuitka, asyncio и прочие "ускорялки" пока не нужны. То что нужно быстро - итак уже кем-то хорошо ускорено (модули sqlite3, numpy, pandas итд).
Примерно всё это делаю на фрипаскале, включая регулярки. :) И статическая типизация там изначально. И ООП, и графика если надо... и скорость конечно. Единственный недостаток блоки выделяются не отступами, отсюда синтаксический мусор. Блоки отступами - это единственное чем питон захватил мир, этим прорывом во второе измерение в эргономике кода. Что снизило количество синтаксического мусора.
не только этим. но скорости и впрямь хватает для простых задач. а крупные на питоне редко делают. скорее обертки вокруг того же си/с++. так что да в большинстве возможностей чистого питона за глаза. nympy и прочие это уже некоторые попытки сделать питон языком чисто системно-прикладного уровня как си, но помоему это глупо. он задумывался именно для максимальной переносимости и чисто внешних применений . никак не язык системного уровня. там где нужна скорость компилируемые языки всегда будут лучше, хотя бы потому , что они пропускают этап компиляции еще на пути сборки.ну а питон и ему подобные как известно компилятся в байт код. и этим все сказано. так называемое изначальное преимущество в скорости у компилируемых языков, зато в переносимости сильно отстают. что то одно. пусть сделают язык с синтаксисом питона и возможностью компиляции. вот там и посмотрим.
Слушай не нужно страдать херней. Пишу я на Питоне управляющий код, а когда совсем ясно, что не тянет, то перевожу модуль на C/C++ и все хорошо и замечатлеьно. Хотя конечно сейчас документация Python начинает уже раздражать, так как многое приходитсья изучать прямо в коде Python-а. Я это все к чему, ну вот и зачем делать еще один какой-то Cython когда вроде и так все хорошо?
> Т.к. "правильность" и "неправильность" в наше время определяет
> его величество рынок, тот кто платит, а не то кто умничаетВо-во.
The planet is fine. The people are f*cked. (ц)
> Ему-то всё равно - лишь бы работало правильно.
> А для этого есть тесты.Если бы программисты строили дома...
Платят обычно тому кто умничает за то что он умничает, так как ума у тех у кого есть деньги на это не хватает.Так что тут палка о двух концах.
Мелкомягкие как всегда закидывают в свой репозиторо-помойник очередную ненужную вещь. Не понимаю зачем СПО обществу подобное...
Что значит зачем? SoftwareNazi?
Ой, тебя спросить забыли
Ну не нравиться вам питон, ну не пишите на нем, кто заставляет ???
Откуда столько ненависти ?
Ненависть от навязывания, идёт бешеная глобальная реклама этого довольно рядового, но постепенно усложняющегося до плюсплюсной монструозности языка. Люди чувствуют что их загоняют в интеллектуальное гетто, не любят насилия, даже если их насильно шоколадом кормят.
Дык кто мешает берите какой-нибудь Lua и пишите на нем. Я думаю, что проблемы в целом нет. А спорящие это просто засланцы из других религиозных групп всякие шарпойды жавройды и прочие пхпешеры.
Реклама всегда кем-то оплачивается, тут же - просто "добрая молва", которая да, идет сильно впереди развития языка. Учить Питон - бросаются пенсионеры в глубокой деменции, Навальный, школота, малинщики, студиозусы и теперь еще и радиолюбители - "STM-щики". Я это горячо одобряю и как начальник, потому что вижу пользу у коллег.
В 97-2005 гг. похожим образом увлекательный мир программирования открыли для себя больше 2 млн. человек во всем мире с макросами VBA в Excel. Экономический эффект этого "вливания" - измеряется миллиардами долларов, так что не вижу причин топтать Python - он тот же VBA, только шире и лучше. Прогнозирую взрывной рост числа макросов на нём в MS Office и AOO/LO в ближайшие 2 года.Python с его 173k+ бесплатными библиотеками может всё и имеет, наверное, ну самый простой человекочитаемый синтаксис. Кривая обучения - прямая. Все парадигмы - в наличии. Вакансии - есть. Насилия - нет.
Вот именно, бизнес получает профит от распространения Питона, т.к. каждую макаку можно ему обучить,
и платить ей едой.
Я лично такой макакой быть не хочу, и мне осточертели зазывания на курсы макак.
Бизнес, который получает профит от использования СПО и массового макросописательства - платит в перспективе зарплат/премий больше, и имеет возможность платить их больше (за счет экономии на СПО и профита).Бизнес, который сидит на проприетарщине, будучи зависим от вендора и узкоспециальных IT - платит зарплат/премий меньше, т.к. тратит весь свой профит на вендора и дорогих специалистов IT. Последние, к слову, имеют сильную тягу к перемене мест, их частенько перекупают, и с т.зр. ROI - платить премии питонирующим макросописателям - выгоднее.
Да, P. слишком уж часто звучит, на том же хабре - каждая пятая статья о нем. Но тут ничего не поделаешь. Так как каждая четвертая о JS и его отпрысках.
Вообще начальник прав. А если вы не хотите быть макакой - не будьте! Учитесь лучше ;)
Питон хорош как клей, как выполняемый псевдокод. Его ниша где-то между башем и 'настоящими' языками. Рано или поздно скрипты на питоне достигают предела, где выгоднее или удобнее использовать более строгую типизацию. В Lua это свойство выражено ещё сильнее.
В качесте клея perl по-удобнее будет (и не надо шутить про "Момент")
Смотря что нужно клеить. PY-библы pywin32, win32com, xlsxwriter итд - дают такой уровень интероперабельности, выше которого даже сложно что-либо придумать. Обертки "по над уси" - типа D3.js - в принципе позволяют не изучать документацию родительского приложения и помогают с рендером, парсингом аргументов, лезут всюду со своей помощью и очень помогают. Самое удачное и известное прикладное ПО из свободного или почти бесплатного - имеют или Python внутри, или API на нем с очень хорошей поддержкой объектной модели приложения, часто в 2-3 раза превышающей доступную пользователю интерактивно (OpenOffice|LibreOffice, GIMP, Blender, Maya, InkScape, Scribus, Reaper - всех и не упомнишь). У Perl тоже много всего, но меньше и ощутимо. Комьюнити змеелюбов сейчас просто прёт вверх, и уже нет нужды читать документацию на сам питон, можно "спрашивать Алису". Вот уж действительно "высокоуровневость" в чистом виде. Особенно в ML/AI/CV. И плевать что это все часто обертки над другими ЯП. Пусть будет "клей".