Здравствуйте, varenikAA, Вы писали:
AA>Вот малюсенький пример (посчитать среднее время между соседними событиями лога): AA>сколько кода займет такое на вашем ЯП? AA>Желательно как и здесь в виде скрипта
Каким образом твой код говорит чего либо про тайпскрипт? Если твой fsharp такой распрекрасный, почему же его выбросили на помойку примерно 10 лет назад?
Здравствуйте, Ikemefula, Вы писали:
I> Каким образом твой код говорит чего либо про тайпскрипт?
Он отвечал на ветку, где речь была про утверждение "код F# в несколько раз короче и выразительней C#."
I> Если твой fsharp такой распрекрасный, почему же его выбросили на помойку примерно 10 лет назад?
Здравствуйте, D. Mon, Вы писали:
I>> Каким образом твой код говорит чего либо про тайпскрипт?
DM>Он отвечал на ветку, где речь была про утверждение "код F# в несколько раз короче и выразительней C#."
В несколько раз — это вероятно взят за образец императивный код, где делается всё подряд.
Если C#, то нужна ровно одна либа — CSV, т.к. все остальное уже есть. Дальше перепишется на Linq примерно 1 в 1
I>> Если твой fsharp такой распрекрасный, почему же его выбросили на помойку примерно 10 лет назад?
DM>Миллионы мух.
Конспироложество. В индустрии всегда высокий спрос на адекватные инструменты.
Здравствуйте, Ikemefula, Вы писали:
I> Если твой fsharp такой распрекрасный, почему же его выбросили на помойку примерно 10 лет назад?
Да кто же такое сказал? Напротив каждый день сообщество растет.
Например, Марк Симан автор DI уже несколько лет как полностью перешел на фарш.
потому что он на порядок Л У Ч Ш Е ! ! !
Здравствуйте, D. Mon, Вы писали:
DM>Покажи начало "log.csv", чтобы была понятнее постановка задачи.
Полей в логе много, но я анализировал только одно поле типа DateTimeOffset.
нужно было посчитать среднее время между соседними событиями.
не обязательно использовать типы. Достаточно ReadLines () и Split("\t")
можно было конечно решить задачу и без тайпровайдера,
просто в 5 фарше наконец можно в скриптах ссылаться на гит и нугет без лишних ерзаний.
В C# до сих пор этого нет. убогий интерэктив практически невозможно использовать. фаршовый конечно тоже не айс, если сравнивать с лиспами, но уже кое-что )))
Здравствуйте, Ikemefula, Вы писали:
I> В индустрии всегда высокий спрос на адекватные инструменты.
В индустрии огромная инерция, и новые языки, которых делают полторы калеки, практически никогда не выстреливают. Языков сотни, и без серьезной корпоративной поддержки и раскрутки большинство так и остаются без пользователей, а следовательно без библиотек и утилит, а следовательно без пользователей. Стандартный замкнутый круг нового языка.
Хорошей поддержки у F# от MS обычно не было, хоть это официально и их язык.
Для нишего языка уровня OCaml, Clojure, Elm, Racket, D и т.п. F# вполне успешен.
Здравствуйте, D. Mon, Вы писали:
I>> В индустрии всегда высокий спрос на адекватные инструменты. DM>В индустрии огромная инерция,
Дело не в инерции, а в том что в подавляющем большинстве случаев у тех полутора калек отсутствуют базовые знания и навыки в проектировании языков. Если уж в мейнстрим порой пролазят какие то несуразные отрыжки. то что говорить о горах по обочинам.
DM> и новые языки, которых делают полторы калеки, практически никогда не выстреливают.
Да почти весь мейнстрим спроектирован очень небольшим количеством человек. Даже вроде бы корпоративные Джава и Шарп.
DM> Языков сотни, и без серьезной корпоративной поддержки и раскрутки большинство так и остаются без пользователей
Питон, например, или там Руби, или даже, не к ночи буде упомянут, РНР?
DM>, а следовательно без библиотек и утилит,
Опять мимо. Сейчас есть готовые рантаймы, JVM и CLR, не особо сдерживающие свободу творчества. А вместе с ними и огромные библиотеки.
DM>Хорошей поддержки у F# от MS обычно не было, хоть это официально и их язык.
Тем не менее F# доступны все дотнетные библиотеки. Т.е. дело точно не в бобине.
DM>Для нишего языка уровня OCaml, Clojure, Elm, Racket, D и т.п. F# вполне успешен.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Дело не в инерции, а в том что в подавляющем большинстве случаев у тех полутора калек отсутствуют базовые знания и навыки в проектировании языков. Если уж в мейнстрим порой пролазят какие то несуразные отрыжки. то что говорить о горах по обочинам.
Запросто. Но и наоборот бывает.
DM>> и новые языки, которых делают полторы калеки, практически никогда не выстреливают. НС>Да почти весь мейнстрим спроектирован очень небольшим количеством человек. Даже вроде бы корпоративные Джава и Шарп.
Проектируют сами языки небольшие группы людей, а вот чтобы .NET Framework сделать с такими штуками как WinForms, ASP.NET, WPF, WCF и т.д. тут нужна уже армия корпоративных индусов и много-много человеколет.
DM>> Языков сотни, и без серьезной корпоративной поддержки и раскрутки большинство так и остаются без пользователей НС>Питон, например, или там Руби, или даже, не к ночи буде упомянут, РНР?
Им всем троим уже больше 25 лет. И это 3 из 130. Если бы не довольно случайные события в их судьбе, вроде выхода выстрелившего Rails на втором десятке лет Руби или недавней волне мышиного обучения и TensorFlow, они бы так и прозябали. Собственно, Руби уже в забвение возвращается. PHP тоже в нужное время в нужном месте оказался, популярным стал вовсе не за то, что хорошо спроектирован.
Если завтра возникнет новая ниша, где самый готовый фреймворк окажется внезапно на F# или там на Nim'e, могут и они подняться на олимп мейнстрима. Это случайные процессы для языков без корпоративной поддержки.
DM>>, а следовательно без библиотек и утилит, НС>Опять мимо. Сейчас есть готовые рантаймы, JVM и CLR, не особо сдерживающие свободу творчества. А вместе с ними и огромные библиотеки.
Да, к F# это меньше относится, это я уже про новые языки в целом.
Здравствуйте, D. Mon, Вы писали:
DM>Проектируют сами языки небольшие группы людей, а вот чтобы .NET Framework
Но речь именно про языки. F#, с которго обсуждение началось, тот самый FW имеет в полном объеме. Не помогло.
DM>Им всем троим уже больше 25 лет. И это 3 из 130.
В мейнстриме 130 языков? Серьезно?
DM>Если бы не довольно случайные события в их судьбе,
Так оно про любой язык так можно сказать.
DM>Да, к F# это меньше относится
Это к нему совсем не относится.
DM>, это я уже про новые языки в целом.
Но это был твой единственный аргумент в пользу F#. А теперь ты заявляешь что он к нему не относится.
Здравствуйте, Ночной Смотрящий, Вы писали:
DM>>Им всем троим уже больше 25 лет. И это 3 из 130. НС>В мейнстриме 130 языков? Серьезно?
Кто говорит в мейнстриме? Не я. Я написал выше:
Языков сотни, и без серьезной корпоративной поддержки и раскрутки большинство так и остаются без пользователей.
Вот названные 3 языка — как раз из тех немногих, что не попали в большинство. Большинство оказываются не в мейнстриме.
DM>>Если бы не довольно случайные события в их судьбе, НС>Так оно про любой язык так можно сказать.
Именно! Поэтому не надо удивляться, что один язык стал популярным, а другой не стал. Это обычно не следствие дизайна и качества языка, а стечение множества обстоятельств.
По дефолту любой маленький (по числу юзеров) язык так и остается маленьким. Должно что-то особенное произойти, чтобы из этого круга выйти. Доступность библиотек это не единственный фактор. Есть еще и другие необходимые "бобины" — редакторы, дебаггеры, компиляторы на разных платформах, плюс нетехнические факторы, культурные.
Здравствуйте, D. Mon, Вы писали:
DM>В индустрии огромная инерция, и новые языки, которых делают полторы калеки, практически никогда не выстреливают.
Полторы калеки это как раз про жээс.
Инерция ни при чем — индустрия интенсивно поглощает необученый контингент. 10 лет назад тестировщики были без образования. Сегодня уже разработчики такие встречаются регулярно. За счет этого полным ходом идет разделение труда, что есть основа эффективности.
Вот это основная причина — за небольшой срок такой работник не успевает освоить сложный для него инструмент, т.к. по уши в проблемах заказчика и домен только небольшая часть всего этого.
DM>Хорошей поддержки у F# от MS обычно не было, хоть это официально и их язык.
Была. Язык повторил стандартный путь функционального языка — не взлетел. Стал уделом фриков.
DM>Для нишего языка уровня OCaml, Clojure, Elm, Racket, D и т.п. F# вполне успешен.
Слабая успешность. 10 лет назад крику было столько, хоть уши затыкай. Потом оказалось, что написаные на нем проекты надо переписывать, т.к. типичный инженер не успевает столько всего освоить, т.к. по уши сидит в проблемах заказчика.
При этом функциональщина проникает в массы и никакая инерция ей не мешает. Только не по указке сверху "вот вам язык, а если не умеете, смотрите парадокс Блаба"
В полный рост используется не просто функциональное, но и функциональное реактивное.
То есть, развитие идет от задач, естественным способом. Странно — те же самые инженеры без проблем понимают эти концепции и применяют каждый день. То есть, препятствие это не функциональщина, а ф-шарп и подобные вещи.
А вот те, кто этого не понимает, орут про парадоксы блаба
Здравствуйте, varenikAA, Вы писали:
I>> Если твой fsharp такой распрекрасный, почему же его выбросили на помойку примерно 10 лет назад?
AA>Да кто же такое сказал? Напротив каждый день сообщество растет.
Относительно заброшеных реликтов — да. Относительно мейнстримных, того же жээс и тээс — нет,
В каких единицах это растет, с 0.1% дорос до 0.2%? Рост в два раза!!!!!!
Scala — есть рост, видно по вакансиям и зп. F# — где все это?
10 лет назад по F# было крику чуть не из каждого утюга. И что? С тех пор функциональщина и реактивщина прочно обосновались в мейнстриме и даже в жээсе. А F# имеет ту же долю, что и тогда.
"Марк Симан автор DI" — он поменял область деятельности и одного фрика на другого
Про вакансии — раньше их было, и я даже разработчиков на F# встречал и даже на собеседованиях подымался вопрос. А щас чет никак.
Здравствуйте, varenikAA, Вы писали:
DM>>Покажи начало "log.csv", чтобы была понятнее постановка задачи.
AA>Полей в логе много, но я анализировал только одно поле типа DateTimeOffset.
OMG! Как только дойдет дело до полноценного анализатора, внятный инструмент перекроет все твое скриптование, как бык овцу.
AA>нужно было посчитать среднее время между соседними событиями. AA>не обязательно использовать типы. Достаточно ReadLines () и Split("\t")
В таком случае в тээсе будет еще и короче
AA>можно было конечно решить задачу и без тайпровайдера, AA>просто в 5 фарше наконец можно в скриптах ссылаться на гит и нугет без лишних ерзаний.
Здравствуйте, D. Mon, Вы писали:
DM>Кто говорит в мейнстриме? Не я. Я написал выше: DM>Языков сотни, и без серьезной корпоративной поддержки и раскрутки большинство так и остаются без пользователей.
Когда у языка много пользователей это называется мейнстрим, разве нет?
DM>Вот названные 3 языка — как раз из тех немногих, что не попали в большинство. Большинство оказываются не в мейнстриме.
Что логично. И в этом большинстве есть в том числе и всякие корпоративные изделия.
DM>>>Если бы не довольно случайные события в их судьбе, НС>>Так оно про любой язык так можно сказать. DM>Именно!
Тогда к чему твое противопоставление языкам одиночек корпоративных языков?
Здравствуйте, Ikemefula, Вы писали:
I>10 лет назад тестировщики были без образования. Сегодня уже разработчики такие встречаются регулярно.
Жаль ломать твою теорию, но лет 25 назад разработчиков вообще без образования или с гуманитарным образованием в процентном отношении было намного больше чем сейчас. У меня сейчас все в команде с более менее профильным высшим образованием, а, скажем, 20 лет назад я один такой был на несколько команд.
Здравствуйте, Ночной Смотрящий, Вы писали:
DM>>Кто говорит в мейнстриме? Не я. Я написал выше: DM>>Языков сотни, и без серьезной корпоративной поддержки и раскрутки большинство так и остаются без пользователей.
НС>Когда у языка много пользователей это называется мейнстрим, разве нет?
Да. И большинство языков в него не попадают, о чем я и говорю.
НС>Тогда к чему твое противопоставление языкам одиночек корпоративных языков?
Если бы не миллиард долларов, вложенных Sun'ом в джаву, если бы не мощные усилия MS по пропихиванию .NET и C#, у этих корпоративных языков скорее всего не было бы столько пользователей.
Здравствуйте, D. Mon, Вы писали:
НС>>Когда у языка много пользователей это называется мейнстрим, разве нет? DM>Да. И большинство языков в него не попадают, о чем я и говорю.
А я говорю о том, что даже в мейнстриме, несмотря на то что там языков оень мало, есть языки, созданные одиночками. Т.е. отсутствие поддержки мегакорпорациями однозначно show stopper не является.
НС>>Тогда к чему твое противопоставление языкам одиночек корпоративных языков? DM>Если бы не миллиард долларов, вложенных Sun'ом в джаву, если бы не мощные усилия MS по пропихиванию .NET и C#, у этих корпоративных языков скорее всего не было бы столько пользователей.
Здравствуйте, Ikemefula, Вы писали:
I>Scala — есть рост, видно по вакансиям и зп. F# — где все это?
Заходи в телегу, чат fsharp ru увидишь сообщество не маленькое.
I>10 лет назад по F# было крику чуть не из каждого утюга. И что? С тех пор функциональщина и реактивщина прочно обосновались в мейнстриме и даже в жээсе. А F# имеет ту же долю, что и тогда.
Какая функциональщина? Во первых в шарпе ее нет, там только отрыжка.
а во вторых, суть в самом подходе к ЯП. когда у тебя любая функция возврашает что-то кроме пустоты это сразу делает код гораздо надежней. просто по определению.
I>"Марк Симан автор DI" — он поменял область деятельности и одного фрика на другого
Ну, ты то у нас конечно круче Симана!
I>Про вакансии — раньше их было, и я даже разработчиков на F# встречал и даже на собеседованиях подымался вопрос. А щас чет никак.
Я разве говорил о дешевой популярности и монетизации?