Ну ты же не думаешь, что все пользователи того же numpy занимаются и его разработкой? На гитхабе у этого проекта с десяток активных контрибьютеров. Остальные - в следовых количествах. А нафиг он тебе, если разработкой не занимаешься? Вам дали медленный питон с быстрыми библиотеками - пользуйтесь.
Ну, положим, больше. Но, судя по pull-request'ам, там внутри все не просто. Поэтому и распределение по количеству коммитов типа экспоненциального. Корпоративный софт не в счет? Пакеты интерполяции по всяким кривым 2D/3D сеткам до Quad9 тоже не считаются? Увы, на гитхаб не выложу - изнасилуют, хотя никаких секретов там нет. Всякая фигня на PyQt тоже за разработку не считается?
Анди, для всего, что ты перечисляешь питон лишь интерфейс для запуска кода из готовых библиотек, написанных на совсем других языках.
Если так рассуждать, то и С++ это лишь интерфейс для машинных кодов. И когда я говорил про интерполяцию на "кривых" неструктурированных сетках, так алгоритм - именно на Питоне. Ну, да, что я, дурак, сам низкоуровневые векторные операции реализовывать или нелинейные системы уравнений решать. Сервис и сервис, алгоритм этажом выше. Та же фигня с PyQt.
Т.е. если бы не было библиотечной реализации, питоном бы ты не пользовался. В этом преимуществ у питона нет никаких, кроме как я уже говорил, простоты языка для этих целей. Ты им пользуешься именно как пользователь языка, а не как разработчик. С тем же успехом я иногда по просьбе коллег правлю vbs-скрипты, в которых основная работа выполняется в вызываемых activex-компонентах.
Если бы у бабушки были яица, она была бы дедушкой. А если серьезно, то я еще и embedded Python в Trelis (это такой посторитель геометрии/сетки, автоматизируемый через свой питон) использую. Нет там ни numpy, ни scipy. Т.е. себе я могу присообачить, а вот пользователям по разным причинам фиг. Например, потому-что кое-кто пользуется еще бесплатной, но настолько древней версией, что там внутри питон 2.3.4 2004 года выпуска . Или запускают на кластере, где хрен достучишься до IT.
А вот и нет. Давай, напиши на C++ те же unit тесты с подменой низкоуровневых функций/классов. Или всякую асинхронность реализуй. Чтобы, например, аналог tee на Windows реализовать (перехват вывода в stdout/stderr c записью вывода хоть в файлы, хоть в сеть - естественно с сохранением вывода на консоль). А на питоне - 60 строк
Мне питон не нравится. Не нравится и «программирование пробелами». Но, как минимум, последние несколько месяцев питон входит в пятёрку самых популярных языков. Вон и гугл для питона много делает. Не удивлюсь, если для питона сделают наборы программирования а-ля ардуиновским и встроят в IoT чипы.
Зато один единственный способ - отступ 4 пробела (PEP8) и все. А в языках со скобками, сколько там вариантов их расстановки? Три как минимум. Да еще и размер отступа не стандартизован.
Для меня оптимальна табуляция в 2 пробела. Тем паче, это настраивается. У напарника 4, и каждый видит как ему удобно. Правильный — обе скобки на новой строке. Сокращённый вариант, когда код можно разместить в одной строке. И вариант со скобкой после условия описания блока и закрывающая на новой строке для веба (php, js), там так привыкли. Дело привычки. Чем оканчивается оператор в питоне? Три варианта: переводом строки, точкой с запятой, любыми скобками (три варианта!) с двоеточием на конце. Условие может быть как в скобках так и без — ухудшает читаемость длинных условий — непонятно, где заканчивается условие и начинается код. Ещё раз, дело привычки.
Почему черный ящик? asyncio... Это нынче системная библиотека. Все исходные коды доступны. Да, и, кстати, код и на linux'е работает.