Здравствуйте, Sharov, Вы писали:
В>> Scala offers very limited community presence. В>> It is not the easily adaptable language. В>> Offers very limited backward compatibility
S>А что, скала так быстро развивается или сложный язык сам по себе?
Развиваeтся нормально. Скоро должен начаться транзит scala2->scala3, как десять лет назад у Питона.
Проблема с популярностью из за:
а) сложность в смысле "хаскеля", а не "плюсов". Он гибридный и можно изпользовать без монад и теор.кат, но без них не модно.
б) Медленный классический цикл разработки, без IDE не разобраться из за implicits. Компилятор тоже дикий тормоз.
в) Бабло. Одно дело Гугл, МС, Эппл или даже ДжетБрэйн с Мозилой, а другое дело швейцарские студенты.
Сначала народ на него набросился, думая как всегда, что это "серебряная пуля", тут тебе и FP, ADT и медленное переползания с Явы. А потом посчитали и поняли, что реально эффект не так уж и велик, а люди нужны квалифицированные и дорогие.
Здравствуйте, Masterspline, Вы писали:
M>Ну и самый главный вопрос. Зачем сейчас пользоваться ртутью, которая создает кучу сложностей, если есть git, в котором таких сложностей нет?
Зачем пользоваться VSCode, если есть vim?
Зачем пользоваться vim, если есть emacs?
Зачем пользоваться emacs, если есть...
Здравствуйте, novitk, Вы писали:
N>Заголовок не соответствует содержанию. Чувак из меркуриала жалуется на переход py2->py3, а не на динамику. Представь себе C++ теряет обратную совместимость и остается без поддержки и всем предлагается перейти на С+++? Сильно тебе статика поможет?
Да, конечно. Компилятор + статический анализатор кода (он по-умолчанию мощнее питоновского) найдут срау же множество проблем. Ты не знал?!!
N>Ключевой система по расчету риска для двух инвест.банка написана на Питоне (>1мм LoC) на который перешли со .... Smalltalk-a.
Сам факт, что это написано на Питоне не говорит о его плюсе. Возможно, что написав это на Java плюсов у системы было бы больше. К тому же, была бы возможность использовать разные языки (ту же Scala) для разных задач в рамках одной платформы.
N>Сейчас я работаю с такой же системой в еще одном инвест банке(все три входят в первую пятерку в мире), где вместо Питона решили использовать Скалу. Результат в продуктивности имхо сильно хуже чем с Питоном, хотя это пожалуй самый продвинутый язык в относительном мэйнстриме. Поэтому кванты потихоньку саботируют и пишут на питончике, хотя в IT конечно так сделать наверно не дадут.
В какой продуктивности? Пишется медленнее? Работает медленнее? А как дела с процентом багов в коде?
Здравствуйте, netch80, Вы писали:
N>Динамичность и несовместимые изменения ортогональны. Вон в C++ тоже много вещей, которые с 17 или 20 объявлены удалёнными — и что?
А то, что тебе об этом скажет компилятор. В случае с Питоном ты не узнаешь о проблемах, пока этот код не выполнится. Этого разве мало?
Здравствуйте, Anton Batenev, Вы писали:
AB>Гвидо покинул питон в 2018, гугл сделал ставку на го, который уже обошел питон по всем фронтам, кроме разве что ML да и то за счет инертности и числа либ. Лет 5 назад начинать проект на питоне было неплохим выбором, но надо вовремя уметь остановиться и принять, что py2 и py3 это разные языки.
Принципиальных отличий между 2 и 3 не много, так что это один и тот же язык.
Синтаксис был изменен совсем немного. Но некоторые библиотеки переделали, да.
AB>Плюс, кажется, последний собирается повторить судьбу Perl6.
Почему тебе так кажется?
Python приятный язык. Почти все библиотеки поддерживают python 3.
Язык продолжает развиваться, не ломая обратную совместимость. Все в порядке
Здравствуйте, kov_serg, Вы писали:
N>>Новость про Mercurial. N>>Вот, просто ужаснулся и захотелось поделиться. _>
_># Mercurial will never work on Python 3 before 3.5 due to a lack
_># of % formatting on bytestrings, and can't work on 3.6.0 or 3.6.1
_># due to a bug in % formatting in bytestrings.
_># We cannot support Python 3.5.0, 3.5.1, 3.5.2 because of bug in
_># codecs.escape_encode() where it raises SystemError on empty bytestring
Это ещё что, у них баги иногда висят неопределённоое количество лет в Win32 имплементации, только недавно вот пофиксили: https://bugs.python.org/issue37380: `subprocess.Popen._cleanup() "The handle is invalid" error when some old process is gone` https://bugs.python.org/issue37549: `os.dup() fails for standard streams on Windows 7`
У меня оно время от времени до сих пор выстреливает и типа никто этого не заметил за много много лет.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, kaa.python, Вы писали:
KP>Ниши и подход к разработке Python и Go настолько разные, что они даже не особо конкуренты друг другу. Python еще будет жить очень долго, я бы скорее предположил что Go раньше помрет.
Б>Язык продолжает развиваться, не ломая обратную совместимость. Все в порядке
Мнэээ. Даже в оригинальном сообщении в статье говорится прямым текстом: было сломано дофига обратной совместимости. Настолько, что под давлением коммьюнити некоторые изменения постепенно откатывали назад. Но настолько медленно, что крупные проекты стало возможно переводить только начная с Питона 2.7 и 3.5, не раньше.
Здравствуйте, kaa.python, Вы писали:
KP>Сложнее всё-же. Во-первых, телодвижений больше чем с Python, хотя и не так много как было раньше. Во-вторых, к проекту нужны тесты, тут еще больше сложностей.
Почему? Все есть, работает
KP>В-третьих, если (когда) проект вырастет, CMake превратится в ад.
ИМХО: вероятность сильно меньше, чем с питоном. От размера это не особо зависит, "правильный CMake (tm)" прекрасно масштабируется.
KP>В-четвертых, когда проект вырастет, с большой вероятностью о предсобранных в vcpkg пакетах придется забыть.
Почему? Все есть, работает
KP>C++ зык прекрасный, но вот сборочно-тестовая-деплойная инфраструктура, мягко говоря, оставляет желать лучшего.
Определенные усилия нужны. И дисциплина.
Здравствуйте, Mamut, Вы писали:
M>Мнэээ. Даже в оригинальном сообщении в статье говорится прямым текстом: было сломано дофига обратной совместимости. Настолько, что под давлением коммьюнити некоторые изменения постепенно откатывали назад. Но настолько медленно, что крупные проекты стало возможно переводить только начная с Питона 2.7 и 3.5, не раньше.
Ок, поясню. Проблема обратной совместимости остро стояла только при переходе с 2 на 3. Сейчас (уже несколько лет!) балом правит версия 3. И она продолжает развиваться без потери обратной совместимости. Изменения в питон 4 не планируют делать "шокирующими", как при переходе на 3. Так что, с языком, как с рабочим инструментом, все в порядке
Б>Ок, поясню. Проблема обратной совместимости остро стояла только при переходе с 2 на 3.
«Только». Настолько «только», что переход занял 10 лет, и еще не закончился, несмотря на то, что поддержка заканчивается в этом году.
Б>Сейчас (уже несколько лет!) балом правит версия 3.
«Несколько лет правит балом» === «может быть последние года три, наконец-то, на третью версиб перешло больше народа, чем тех, кто не перешел». Очень удивительно, что такой факап питон пережил.
Б>>Не понравилось, что используются циклы, а также сторонние библиотеки. Можно обойтись без них. Б>>
Б>>import numpy as np
Б>>import pandas as pd
Б>>
M>
Это либы — норма для DS. А вот click — используется не всегда (не часто), тем более субпакет compat.
dateutil тоже, т.к. pandas часто имеет нужный функционал.
Читай: "можно обойтись без циклов и уменьшить количество библиотек".
KP>>Ниши и подход к разработке Python и Go настолько разные, что они даже не особо конкуренты друг другу. Python еще будет жить очень долго, я бы скорее предположил что Go раньше помрет.
S>Вместе с гуглом, наверное.
А что Гугл? У Гегла есть собственные какие-то проекты, которые гарантируют выживаемость Го?
KP>>>Ниши и подход к разработке Python и Go настолько разные, что они даже не особо конкуренты друг другу. Python еще будет жить очень долго, я бы скорее предположил что Go раньше помрет.
S>>Вместе с гуглом, наверное.
M>А что Гугл? У Гегла есть собственные какие-то проекты, которые гарантируют выживаемость Го?
Странный ты. Гугл придумал GoLang как замену Python. Он же его и развивает (а Python уже нет). У них, конечно, есть проекты на GoLang. Неужели ты этого не знаешь? Или я что-то не так понял?
M>Странный ты. Гугл придумал GoLang как замену Python.
Он придумал GoLang как проект, чтобы занять умных чуваков, которым было скучно.
M>Он же его и развивает (а Python уже нет). У них, конечно, есть проекты на GoLang. Неужели ты этого не знаешь? Или я что-то не так понял?
Что-то мне подсказывает, что у них есть проекты и на Питоне, и на Java, и на С++, и на C#, и на Хаскеле, и..., и..., и... Они развивают все эти языки? Гугл много какие проекты развивает по много каким разным причинам. Верить в то, что эти проекты умрут только со смертью Гугла, я бы не стал.
A>Простая линейная интерполяция с такими же ошибками. Не знаю, что требуется делать, если отсутствуют крайние значения, поэтому проигнорировал.
Скажем честно выглядит сильно тяжелее. И не работает с отсутствующими крайними значениями, как ты и сказал.
Б>Не понравилось, что используются циклы, а также сторонние библиотеки. Можно обойтись без них. Поэтому еще вариант на питон:
Можно вообще на голом питоне написать, но становится менее понятно что это. И как это.
N>>Динамичность и несовместимые изменения ортогональны. Вон в C++ тоже много вещей, которые с 17 или 20 объявлены удалёнными — и что?
N>А то, что тебе об этом скажет компилятор. В случае с Питоном ты не узнаешь о проблемах, пока этот код не выполнится. Этого разве мало?
Подключиал анотации и стат-аналих и вуаля.