Здравствуйте, so5team, Вы писали:
S>Зачем пользоваться VSCode, если есть vim? S>Зачем пользоваться vim, если есть emacs? S>Зачем пользоваться emacs, если есть...
Не, аналогия не верная: твой редактор не накладывает никаких ограничений на коллег и рабочий процесс, в отлчиии от VCS.
Здравствуйте, Cyberax, Вы писали:
AB>>Гвидо покинул питон в 2018, гугл сделал ставку на го, который уже обошел питон по всем фронтам, кроме разве что ML да и то за счет инертности и числа либ. C>Для ML нынче требуется REPL в виде Jupyter. Для Go его сделать невозможно из-за того, что он чисто компилируемый.
Здравствуйте, Skorodum, Вы писали:
S>>Зачем пользоваться VSCode, если есть vim? S>>Зачем пользоваться vim, если есть emacs? S>>Зачем пользоваться emacs, если есть... S>Не, аналогия не верная: твой редактор не накладывает никаких ограничений на коллег и рабочий процесс,
Вообще-то накладывает. Начиная от tabs vs spaces, и заканчивая наличием готовых шаблонов для проектов, работающих в фоне анализаторов/линтеров и пр.
S>в отлчиии от VCS.
Есть принципиальные отличия Centralized VCS (CVS, Svn) от Decentralized VCS (git, hg). Между git и hg для большинства разработчиков различий не так уж и много. Тут скорее все упирается в то, что уже развернуто в компании для целей CI/CD и code review. Если уже все настроено на Hg, то надобность в уникальных возможностях git будут испытывать только отдельные особо продвинутые товарищи. Ровно как и в обратном случае с git.
Здравствуйте, Mamut, Вы писали:
M>>Странный ты. Гугл придумал GoLang как замену Python.
M>Он придумал GoLang как проект, чтобы занять умных чуваков, которым было скучно.
Как бы наоборот: умные чуваки в Google придумали GoLang, чтобы не писать тормознутый код на Python-е, и чтобы не писать сложный и многословный код на C++ и Java. ЕМНИП, стартовал GoLang вообще как подпольный проект, который делали несколько человек втихаря. Просто это были не самые рядовые человеки.
Здравствуйте, Ватакуси, Вы писали:
Б>>Не понравилось, что используются циклы, а также сторонние библиотеки. Можно обойтись без них. Поэтому еще вариант на питон: В>Можно вообще на голом питоне написать, но становится менее понятно что это. И как это.
Просто небольшой рефакторинг. По сути — претензий нет, дело вкуса.
Здравствуйте, Masterspline, Вы писали:
M>Ну, вот мысля, что взрослый квалифицированный разработчик не может осилить git, в мой мозг совсем не влезает. В то, что не хочет и придумывает отмазки — это я поверю. Впрочем, люди разные бывают.
Потому, что этот ваш гит чертовски нелогичен. Вот объясни мне, мил человек, за каким чертом в нем бывают локальные метки, которые ни в какой репозиторий не попадут, и нелокальные? И почему push по умолчанию не уносит метки с собой, а требует отдельной опции для этого?
M>В последнее время считаю, что если кто-то пользуется маргинальщиной — это от чрезмерной упертости и с такими лучше не связываться (разве что это будет хорошо компенсироваться). Новость про hg это только подтверждает. Но, из любого правила бывают исключения, поэтому, в каждом конкретном случае нужно разбираться.
А ты и не заметишь, работая со мной, что я меркурем пользуюсь. Я с твоим гитом через hg-git буду работать.
M>P.S. CVS я тоже застал (Opera3.5b сменила netscape 3 gold, mingw только появился на Win95 i486 с 8М памяти).
А период, когда все, высунув язык, стали с CVS на SVN переползать, застал? А сам на SVN переполз?
Б>>>Не понравилось, что используются циклы, а также сторонние библиотеки. Можно обойтись без них. Поэтому еще вариант на питон: В>>Можно вообще на голом питоне написать, но становится менее понятно что это. И как это.
Б>Просто небольшой рефакторинг. По сути — претензий нет, дело вкуса.
Кстати, зачем reset_index тут?
Здравствуйте, Ватакуси, Вы писали:
В>Кстати, зачем reset_index тут?
Да, в данном случае reset_index не обязателен (если по missings_indexes вытаскиваем данные из np.ndarray). Забыл исправить.
Изначально моя функция возвращала весь датафрейм: df[missings_indexes].
Но т.к. индексы были изменены в set_index(date) пришлось добавить reset_index().
Потом увидел, что ты возращаешь ndarray, переделал, а reset_index не убрал.
В>>Кстати, зачем reset_index тут?
Б>Да, в данном случае reset_index не обязателен (если по missings_indexes вытаскиваем данные из np.ndarray). Забыл исправить.
Б>Изначально моя функция возвращала весь датафрейм: df[missings_indexes]. Б>Но т.к. индексы были изменены в set_index(date) пришлось добавить reset_index(). Б>Потом увидел, что ты возращаешь ndarray, переделал, а reset_index не убрал.
Понятно.
Кстати, to_datetime справится с произвольной датой (и форматом) как parser.parse? Мне казалось, что он более капризный
Здравствуйте, Ватакуси, Вы писали:
В>Кстати, to_datetime справится с произвольной датой (и форматом) как parser.parse? Мне казалось, что он более капризный
Думаю, что более капризный, но не уверен. Тоже хочу знать.
У to_datetime под капотом, наверное, тот же код, что и в TimeStamp. А вот какие он умеет парсить даты/время я не знаю.
В>>Кстати, to_datetime справится с произвольной датой (и форматом) как parser.parse? Мне казалось, что он более капризный
Б>Думаю, что более капризный, но не уверен. Тоже хочу знать. Б>У to_datetime под капотом, наверное, тот же код, что и в TimeStamp. А вот какие он умеет парсить даты/время я не знаю.
не совсем, там используется вот это: https://github.com/pandas-dev/pandas/blob/c040f14574fcb7fd366858e22c5bdb393571236c/pandas/_libs/tslibs/parsing.pyx
_guess_datetime_format
Здравствуйте, Nuzhny, Вы писали:
N>>Заголовок не соответствует содержанию. Чувак из меркуриала жалуется на переход py2->py3, а не на динамику. Представь себе C++ теряет обратную совместимость и остается без поддержки и всем предлагается перейти на С+++? Сильно тебе статика поможет? N>Да, конечно. Компилятор + статический анализатор кода (он по-умолчанию мощнее питоновского) найдут срау же множество проблем. Ты не знал?!!
Статический анализатор кода даст тебе некоторые, весьма слабые в случае Java, гарантии, но код на другом языке писать не будет.
N>>Ключевой система по расчету риска для двух инвест.банка написана на Питоне (>1мм LoC) на который перешли со .... Smalltalk-a. N>Сам факт, что это написано на Питоне не говорит о его плюсе. Возможно, что написав это на Java плюсов у системы было бы больше.
Системы написанные на Яве проиграли в конкурентной борьбе.
N>К тому же, была бы возможность использовать разные языки (ту же Scala) для разных задач в рамках одной платформы.
Ты так говоришь, как будто зоопарк это нечто хорошее.
N>В какой продуктивности? Пишется медленнее? Работает медленнее? А как дела с процентом багов в коде?
Пишется медленее. Ты преувеличиваешь способность статического анализа по снижению процента багов. Большинство ошибок, которые выявляет широко используемые статические языки, до продакшена у питона тоже не доходят.
Здравствуйте, novitk, Вы писали:
N>>>Заголовок не соответствует содержанию. Чувак из меркуриала жалуется на переход py2->py3, а не на динамику. Представь себе C++ теряет обратную совместимость и остается без поддержки и всем предлагается перейти на С+++? Сильно тебе статика поможет? N>>Да, конечно. Компилятор + статический анализатор кода (он по-умолчанию мощнее питоновского) найдут срау же множество проблем. Ты не знал?!! N>Статический анализатор кода даст тебе некоторые, весьма слабые в случае Java, гарантии, но код на другом языке писать не будет.
Не, не, не, ты сам начал говорить про С++. Так в этом мире уже случился плавный переход к С+++ от 2003 до С++17 (в этом году будет ещё больше — модули). Тут разница намного больше, чем с Питонами, но переход, по сути, безболезненный. Да, что-то по-мелочи появлялось, что-то становилось deprecated, но проекты просто плавно переползали с версии на версию, зачастую собираясь разными версиями компиляторов. Как раз и начался расцвет статических анализаторов для С++ в это время, не только PVS, которую рекламирую на RSDN.
N>Системы написанные на Яве проиграли в конкурентной борьбе.
Прямо таки везде? Или только у вас?
N>>К тому же, была бы возможность использовать разные языки (ту же Scala) для разных задач в рамках одной платформы. N>Ты так говоришь, как будто зоопарк это нечто хорошее.
Как будто зоопарк Scala + Питон (это тоже по твоим словам) лучше, чем Java + Scala.
N>>В какой продуктивности? Пишется медленнее? Работает медленнее? А как дела с процентом багов в коде? N>Пишется медленее. Ты преувеличиваешь способность статического анализа по снижению процента багов. Большинство ошибок, которые выявляет широко используемые статические языки, до продакшена у питона тоже не доходят.
Ну так себе утверждение, чтобы в него поверить без аргументов.
Здравствуйте, Nuzhny, Вы писали:
N>Не, не, не, ты сам начал говорить про С++.
Я начал говорить про C+++(три плюса!) — вымышленный, похожий, но не совместимый с C++ язык для аналогии с py2->py3.
N>Так в этом мире уже случился плавный переход к С+++ от 2003 до С++17 (в этом году будет ещё больше — модули). Тут разница намного больше, чем с Питонами, но переход, по сути, безболезненный.
Ключевое слово "плавный". У питона он был резким, но это не про статику с динамикой. Тот же JS обрастал фучами и менялся без потери совместимости.
N>>Системы написанные на Яве проиграли в конкурентной борьбе. N>Прямо таки везде? Или только у вас?
Про везде не знаю, но на Wall Street так. Насколько я знаю в долине тоже.
N>Как будто зоопарк Scala + Питон (это тоже по твоим словам) лучше, чем Java + Scala.
Правильно. Поэтому лучше только Питон. Ну и плюсы для скорости, куда же без них. Зоопарк возник от того, что "два часа" в питоне превращаются в "две недели" в скале. Возможно это из за недоработок у нас в реализации компилятора/workflow/CI. Я вообще за статику и изначально казалось, что Scala достаточна близка по удобству, но императивно выяснилось, что увы нет.
Здравствуйте, so5team, Вы писали:
S>Вообще-то накладывает.
Вообще-то нет.
S>Начиная от tabs vs spaces
Абсолютно ортогонально редакторам (обычно редакторы одинаково хорошо поддерживают оба варианта).
S>и заканчивая наличием готовых шаблонов для проектов
Какие еще шаблоны для редакторов?
S>работающих в фоне анализаторов/линтеров и пр.
Все это абсолютно не принципиально. Ну вот крутится у меня clang-backend в QtCreator и дает подсказки по С++, моим коллегам со студией, VIM или VisualCode это фиолетово.
У нас в компании для одного и того же когда используются почти все популярные IDE: CLion, QtCreator, Vim, MSVC, VisualCode. И это не считаю специализированных embedded IDE: IAR/SEGGER/Atmel.
А вот VCS — одна.
S>Есть принципиальные отличия Centralized VCS (CVS, Svn) от Decentralized VCS (git, hg). Между git и hg для большинства разработчиков различий не так уж и много.
Во-во, а выше вы же пишите:
Люди разные, привычки разные, потребности разные.
hg и git закрывают абсолютно одни и теже потребности, только git на пару порядков популярнее (ну так сложилось). Поэтому hg — сейчас "странная (редкая) привычка".
Здравствуйте, Skorodum, Вы писали:
S>hg и git закрывают абсолютно одни и теже потребности, только git на пару порядков популярнее (ну так сложилось). Поэтому hg — сейчас "странная (редкая) привычка".
IDEA и VisualStudio сильно популярнее vim-а и emacs-а. Что не мешает отдельным людям быть продуктивнее именно с vim/emacs.
Собственно, почему бы отдельным разработчикам не быть продуктивнее именно с hg, а не с git-ом.
Здравствуйте, Nuzhny, Вы писали:
N>Спрашивается: нахер оно тогда надо, писать нетленку на динамических языках?
(все нижеследующее на правах авторского троллинга)
Из всех динамических языков более-менее для этого годится лишь ветхий и обросший мхом Common Lisp (CL) на мой взгляд. Он является Lisp-N, а поэтому в нем проверок во время компиляции заметно больше, чем в других динамических языках. К примеру, опечататься в названии функции в CL намного сложнее, тогда как в тех же схемке или питончике — как нефиг делать.
Ну, а применение отличных от CL динамических языков для больших проектов лично у меня ассоциируется с "троллейбусом из буханки": возможно, но не всегда разумно
Здравствуйте, Pzz, Вы писали:
Pzz>Потому, что проще сдохнуть, чем привыкнуть к этому вашему git'у. А у hg все команды идут напрямую из CVS,
И в третий раз повторю только на этом форуме: мне после CVS было легче перейти на Git, чем SVN, Hg или ещё какой-то временно модный ужас.
"Напрямую из CVS" для Hg это миф. Зачем, например, у Hg раздельные pull и update? В CVS такого не было.