Представьте себе, вот очень даже и работает. Пока джависты пыхтят и классы рисуют, прототип на R уже в среде и бизнес понимает, что хотеть надо совсем не то, что они сначала просили.
Вы заметили, что я настойчиво пытаюсь вернуть в область DS, но вопросы задают вообще из других областей. Джависты, бигдатовцы, разработчики корп. систем. И вопрос был "вообще" и ответ был про промышленную разработку. И да, го для другого, но это не мешает показать, что питон не универсален. Есть вещи и получше для определенного класса задач. и голэнг модули куда приятнее в прод тащить, чем питон.
Видел я многие курсы, не надо старье пихать 20-ти летней давности. Курсы надо актуализировать периодически, хоть это и трудозатратно.
Утомили уже эти комментарии без привязки к темы, без ссылок, без доказательств. А также желание каждого второго облить грязью. Нацепили каски и давай палить, даже не прочитав от начала до конца. Ну вот с чего Вы взяли, что что-то там про го непонятно? Но есть другой факт, когда говорят про ds в энтерпрайзе, зачастую подразумевают %30-40 загрузки/перезагрузки данных. и ETL там выше крыши.
Есть хоть одно возражение к тезисам в исходном тексте? Там ведь масса материалов и ссылок была дана?
Вы не показали никаких кейсов, только какие-то куски кода с гитхаба и много-много-много слов. 1. Что именно в медиане для четного числа чисел Вас не устраивает? Поддерживается аж 9 вариантов вычислений, которые описаны в статье в уважаемом журнале. Wolfram Alpha считает и не переживает -- можете поглядеть: https://www.wolframalpha.com/input?i=median&assumption={"F"%2C+"MedianCalculator"%2C+"list"}+->"{1%2C+2%2C+3%2C+4}"&assumption={"C"%2C+"median"}+->+{"Calculator"}. Откуда Вы взяли свою версию расчетов? Можно привести источник? Можете привести воспроизводимый пример, чтобы показать, что считается в питоне правильно и не так в R? Не словами, а цифрами. Вы же, в конце концов, околонаучный сотрудик? Сравним с Wolfram, Matlab, Maple, Statistica и т.д. Не нравится stats::quantile, возьмите https://sebkrantz.github.io/collapse/reference/fnth.html 2. Что Вы так рьяно рветесь править core library без наличия доказательной базы? И не забывайте правил корректировки любого софта -- если обещали обратную совместимость -- надо поддерживать. Да даже если отложить разработку -- на любом научном семинаре требуют (раньше точно требовали) предъявлять веские доказательства своих утверждений. 3. По активному упоминанию фортрана и "того времени" я полагаю, что Вы еще на 386 это писали. Но не надо сравнивать свой опыт использования R в 2004-м году с нынешней парадигмой. Все совсем иное. И как можно закрыть вопрос безапеляционными утвержениями, что в R все работает через копии, если и окружения работают по ссылкам и весь пакет data.table работает по ссылкам? То, что Вы его не упоминаете и игнорируете как раз и показывает, что познания в R откровенно слабы. 4. Чем Вам сдались F-ordering и C-ordering? Это всё протуберанцы фортрана. Ну вот правда? Кто из читателей вообще в курсе этих штук? Какая разница как матрицы индексируются? Кэширование и все такое -- тонкая материя, время теряют далеко не там. Тем более, что Вы можете сами указать порядок свертки, а в памяти они все равно живут одномерным куском, меняются атрибуты и формула адресации через индекс. 5. А что мне остается думать, когда Вы раз за разом пеняете на те вещи, которые либо давно неактуальны, либо вообще непрозрачно сформулированы, либо противоречат реальным фактам (поглядите бенчмарки в конце)? Басни Крылова вспоминаются, это что, запрещено?
Горьковский радиофак -- это знаковое место. Но сдается, что мне найдется что паритетно ответить на многие вещи из Вашего профиля.
Поглядел проект — здорово. Когда-то тоже приходилось считать квантовые эффекты и взаимодействие света с веществом. Гигабайтами не пугайте, считаем-считаем. И терабайты тоже.
Но так вот наскакивать и грубо публично хамить незнакомому человеку — ну негоже это для учёного. Не находите?
Надо использовать data.table. Он уж лет 14-15 существует. Все что Вы написали к нему неприменимо, там работа по указателям. Просто Вы не совсем ознакомились с матчастью.
В ВУЗ-ах есть кадровая проблема. И не секрет, что в части программирования лекторы/семинаристы будут далеки от индустриальных подходов. Математики -- не самые лучшие преподаватели по программированию. По разработке алгоритмов -- да, по эффективному программированию и современным подходам -- скорее нет.
Есть масса других языков, которые более пригодны для промышленной разработки и куда производительнее. https://habr.com/ru/post/488644/ -- прекрасный доклад. Golang рулит для многопоточных задачек.
Полмира сидит на аналитических микросервисах на R. Ажур с радостью предоставит. Стыдно за курсы тех "нескольких университетов". Честно, стыдно. Что хоть за универы?
Ценность моих "умозаключений" в том, что все подкреплено материалами, ссылками и тестами различных, очень уважаемых людей. Многие тезисы можно проверить и измерить самостоятельно и сделать свое собственное заключение на основании полученных результатов. Ничего не надо принимать на веру.
Так про питон можно на основании сайта сказать, что ему в DS делать нечего. Тоже с сайта официального: Python is a programming language that lets you work quickly and integrate systems more effectively.
Да-да, подозревал, но не хотел так думать. В целом, весь поток обсуждений вместо техники сваливается на личности и завуалированные оскорбления. Причем мы на брудершафт не пили.
Каждый раз на хабре одно и то же. И даже уже раздражать перестало, неизбежный шлейф. "Ну вот... опять поехало..." Но комментаторы могут подумать, как именно они себя выставляют?
Про какие умозаключения Вы ведете речь -- тоже неведомо. Берете консоль и запускаете код и повторяете результаты. Берете статьи и книги по ссылкам (между прочим, уважаемые люди писали) и читаете. Берете код на гитхабе и разбираетесь в нем.
Я мог бы ответить на большинство Ваших вопросы (они достаточно типичны), но формат перепалок в комментариях очень неудобен. Я постарался максмально четко раскрыть ответы, но матрешки бесконечной глубины требуют бесконечного времени, которого нет ни у кого.
Тематика "What-If" требует погружения в конкретный кейс и составление модели. Я частенько занимаюсь симуляцией и цифровыми двойниками, чтобы немного понимать сложность этого вопроса. Маловероятные ветки на первых итерациях нужно прибивать сразу, иначе Ктулху утащит.
Со "студентами" вообще морока. Очень много времени до выхода на безубыточость. 3-4 месяца надо учить методам командной работы и промышленной разработки, чтобы их код можно было в гит вливать.
С прошедшими "экспресс" курсы приходится проводить предварительную зачистку, выкорчевывать сорняки антипаттернов. В обучении же "быстрей-быстре", без какого-либо серьезного фундамента. Если я сажусь и переписывают несколько строчек, получая ускорение в 1000 раз -- ну это непозволительная роскошь для кода в проде.
Искорки нет -- понятно. Выгорание, рутина сжирает. Не Вы первый, не Вы последний.
Вы посмотрите на вопросы начинающих и не очень. Нет никакого "попробовал и получилось". Опыт накапливается через множество шишек. И чаще всего, если руку не ставить, то код будет являться скопищем антипаттернов.
Практиканты -- это любопытно. Где это так? Если искорка осталась, можете дать тест драйв для R, результаты могут превзойти ожидания.
Ничего сразу нигде не работает. Все требует больших усилий по освоению. А если уж и работает, то в R с этим куда проще.
Никакой поезд никуда не ушел, да и поезда нет никакого. Спиральное развитие. А первоначально входящие на этот рынок труда могут критически посмотреть на спектр предлагаемых инструментов и возможностей. Просто не стоит воспринимать питон "даром богов".
С утверждением "я попробовал и у меня не получилось" работать ну никак невозможно. Даже поддержка тикет не откроет в такой постановке вопроса.
На западе R занимает сегмент примерно такой же как питон. Целая индустрия. Это у нас исторический перекос возник.
Если есть серьезный вопрос, то он требует тщательного разбора с `reprex`, уточнениями по разным моментам и т.д. Формат комментариев для этого совсем неудобен. Вот и все.
Представьте себе, вот очень даже и работает. Пока джависты пыхтят и классы рисуют, прототип на R уже в среде и бизнес понимает, что хотеть надо совсем не то, что они сначала просили.
https://www.rstudio.com/resources/rstudioglobal-2021/plumber-and-future-async-web-apis/
Панда ООП-шная. И сам питон по своей идеологии ООП-шный. И все там ООП пропитано снизу доверху
В панде почитайте про blockmanager. Просто почитайте.
Никуда не деться от множественного написания переменной. Факт, проверяемый каждым лично.
Генератор и пайп -- разные вещи. Хотел бы сказать генератор -- сказал.
Здесь не затрагивались распределенные вычисления. Это отдельная область. Считаем на одной машине.
Вы спутали профилировщики с бенчмаркингом. Это две разные вещи, ну просто поглядите хотя бы. Хотел бы я написать про профилировщик -- ну так бы прямо и написал. И в R хорошо и с этим и с другим.
https://rstudio.github.io/profvis/
https://r-prof.github.io/proffer/index.html
Вы заметили, что я настойчиво пытаюсь вернуть в область DS, но вопросы задают вообще из других областей. Джависты, бигдатовцы, разработчики корп. систем. И вопрос был "вообще" и ответ был про промышленную разработку. И да, го для другого, но это не мешает показать, что питон не универсален. Есть вещи и получше для определенного класса задач. и голэнг модули куда приятнее в прод тащить, чем питон.
Видел я многие курсы, не надо старье пихать 20-ти летней давности. Курсы надо актуализировать периодически, хоть это и трудозатратно.
Утомили уже эти комментарии без привязки к темы, без ссылок, без доказательств. А также желание каждого второго облить грязью. Нацепили каски и давай палить, даже не прочитав от начала до конца. Ну вот с чего Вы взяли, что что-то там про го непонятно? Но есть другой факт, когда говорят про ds в энтерпрайзе, зачастую подразумевают %30-40 загрузки/перезагрузки данных. и ETL там выше крыши.
Есть хоть одно возражение к тезисам в исходном тексте? Там ведь масса материалов и ссылок была дана?
Вы не показали никаких кейсов, только какие-то куски кода с гитхаба и много-много-много слов.
1. Что именно в медиане для четного числа чисел Вас не устраивает? Поддерживается аж 9 вариантов вычислений, которые описаны в статье в уважаемом журнале. Wolfram Alpha считает и не переживает -- можете поглядеть: https://www.wolframalpha.com/input?i=median&assumption={"F"%2C+"MedianCalculator"%2C+"list"}+->"{1%2C+2%2C+3%2C+4}"&assumption={"C"%2C+"median"}+->+{"Calculator"}. Откуда Вы взяли свою версию расчетов? Можно привести источник? Можете привести воспроизводимый пример, чтобы показать, что считается в питоне правильно и не так в R? Не словами, а цифрами. Вы же, в конце концов, околонаучный сотрудик? Сравним с Wolfram, Matlab, Maple, Statistica и т.д. Не нравится
stats::quantile
, возьмите https://sebkrantz.github.io/collapse/reference/fnth.html2. Что Вы так рьяно рветесь править core library без наличия доказательной базы? И не забывайте правил корректировки любого софта -- если обещали обратную совместимость -- надо поддерживать. Да даже если отложить разработку -- на любом научном семинаре требуют (раньше точно требовали) предъявлять веские доказательства своих утверждений.
3. По активному упоминанию фортрана и "того времени" я полагаю, что Вы еще на 386 это писали. Но не надо сравнивать свой опыт использования R в 2004-м году с нынешней парадигмой. Все совсем иное.
И как можно закрыть вопрос безапеляционными утвержениями, что в R все работает через копии, если и окружения работают по ссылкам и весь пакет
data.table
работает по ссылкам? То, что Вы его не упоминаете и игнорируете как раз и показывает, что познания в R откровенно слабы.4. Чем Вам сдались F-ordering и C-ordering? Это всё протуберанцы фортрана. Ну вот правда? Кто из читателей вообще в курсе этих штук? Какая разница как матрицы индексируются? Кэширование и все такое -- тонкая материя, время теряют далеко не там. Тем более, что Вы можете сами указать порядок свертки, а в памяти они все равно живут одномерным куском, меняются атрибуты и формула адресации через индекс.
5. А что мне остается думать, когда Вы раз за разом пеняете на те вещи, которые либо давно неактуальны, либо вообще непрозрачно сформулированы, либо противоречат реальным фактам (поглядите бенчмарки в конце)? Басни Крылова вспоминаются, это что, запрещено?
Горьковский радиофак -- это знаковое место. Но сдается, что мне найдется что паритетно ответить на многие вещи из Вашего профиля.
Поглядел проект — здорово. Когда-то тоже приходилось считать квантовые эффекты и взаимодействие света с веществом. Гигабайтами не пугайте, считаем-считаем. И терабайты тоже.
Но так вот наскакивать и грубо публично хамить незнакомому человеку — ну негоже это для учёного. Не находите?
Голый base R — да.
Надо использовать
data.table
. Он уж лет 14-15 существует. Все что Вы написали к нему неприменимо, там работа по указателям. Просто Вы не совсем ознакомились с матчастью.«Пух открыл Северный Полюс», сказал Кристофер Робин. «Правда замечательно?»
Пух скромно потупился.
«Это что ли?», говорит И-Ё.
«Да», говорит Кристофер Робин.
«Это то, что мы искали?»
«Да», говорит Пух.
«О!», говорит И-Ё. «Ладно, по крайней мере не было дождя», говорит.
Они воткнули Полено в землю и Кристофер Робин привязал к нему надпись:
СЕВЕРНЫЙ ПОЛЮС ОТКРЫТ ПУХОМ ПУХ ЕГО ОБНАРУЖИЛ
ясно
В ВУЗ-ах есть кадровая проблема.
И не секрет, что в части программирования лекторы/семинаристы будут далеки от индустриальных подходов. Математики -- не самые лучшие преподаватели по программированию. По разработке алгоритмов -- да, по эффективному программированию и современным подходам -- скорее нет.
Есть масса других языков, которые более пригодны для промышленной разработки и куда производительнее.
https://habr.com/ru/post/488644/ -- прекрасный доклад. Golang рулит для многопоточных задачек.
Полмира сидит на аналитических микросервисах на R. Ажур с радостью предоставит.
Стыдно за курсы тех "нескольких университетов". Честно, стыдно. Что хоть за универы?
Ценность моих "умозаключений" в том, что все подкреплено материалами, ссылками и тестами различных, очень уважаемых людей.
Многие тезисы можно проверить и измерить самостоятельно и сделать свое собственное заключение на основании полученных результатов.
Ничего не надо принимать на веру.
Так про питон можно на основании сайта сказать, что ему в DS делать нечего. Тоже с сайта официального: Python is a programming language that lets you work quickly and integrate systems more effectively.
В чем Вы хотите убедить?
Да-да, подозревал, но не хотел так думать.
В целом, весь поток обсуждений вместо техники сваливается на личности и завуалированные оскорбления. Причем мы на брудершафт не пили.
Каждый раз на хабре одно и то же.
И даже уже раздражать перестало, неизбежный шлейф.
"Ну вот... опять поехало..."
Но комментаторы могут подумать, как именно они себя выставляют?
Про какие умозаключения Вы ведете речь -- тоже неведомо. Берете консоль и запускаете код и повторяете результаты. Берете статьи и книги по ссылкам (между прочим, уважаемые люди писали) и читаете. Берете код на гитхабе и разбираетесь в нем.
Если несложно, переформулируйте вопрос, если он тут вообще есть.
В этом потоке вовсе неочевидно понять что Вы хотели сказать.
Я мог бы ответить на большинство Ваших вопросы (они достаточно типичны), но формат перепалок в комментариях очень неудобен. Я постарался максмально четко раскрыть ответы, но матрешки бесконечной глубины требуют бесконечного времени, которого нет ни у кого.
Тематика "What-If" требует погружения в конкретный кейс и составление модели. Я частенько занимаюсь симуляцией и цифровыми двойниками, чтобы немного понимать сложность этого вопроса. Маловероятные ветки на первых итерациях нужно прибивать сразу, иначе Ктулху утащит.
Со "студентами" вообще морока.
Очень много времени до выхода на безубыточость.
3-4 месяца надо учить методам командной работы и промышленной разработки, чтобы их код можно было в гит вливать.
С прошедшими "экспресс" курсы приходится проводить предварительную зачистку, выкорчевывать сорняки антипаттернов. В обучении же "быстрей-быстре", без какого-либо серьезного фундамента. Если я сажусь и переписывают несколько строчек, получая ускорение в 1000 раз -- ну это непозволительная роскошь для кода в проде.
Искорки нет -- понятно. Выгорание, рутина сжирает. Не Вы первый, не Вы последний.
Вы посмотрите на вопросы начинающих и не очень.
Нет никакого "попробовал и получилось". Опыт накапливается через множество шишек. И чаще всего, если руку не ставить, то код будет являться скопищем антипаттернов.
Практиканты -- это любопытно. Где это так? Если искорка осталась, можете дать тест драйв для R, результаты могут превзойти ожидания.
Ничего сразу нигде не работает. Все требует больших усилий по освоению. А если уж и работает, то в R с этим куда проще.
Никакой поезд никуда не ушел, да и поезда нет никакого. Спиральное развитие. А первоначально входящие на этот рынок труда могут критически посмотреть на спектр предлагаемых инструментов и возможностей. Просто не стоит воспринимать питон "даром богов".
С утверждением "я попробовал и у меня не получилось" работать ну никак невозможно. Даже поддержка тикет не откроет в такой постановке вопроса.
На западе R занимает сегмент примерно такой же как питон. Целая индустрия. Это у нас исторический перекос возник.
Если есть серьезный вопрос, то он требует тщательного разбора с `reprex`, уточнениями по разным моментам и т.д. Формат комментариев для этого совсем неудобен. Вот и все.
О сколько нам открытий чудных
Готовят просвещенья дух
И опыт, сын ошибок трудных,
И гений, парадоксов друг,
И случай, бог изобретатель.
А.С. Пушкин, 1829
А еще можно законы Мёрфи почитать.