Почему F# станет мейнстримом
От: vaa  
Дата: 25.07.22 04:12
Оценка: -1 :))
Почему F# станет мейнстримом
Холивар про байты в энумах навеяло.
Ведь действительно люди страдают, причем даже не от яп, а от его нелогичности.
Я тут играл на sharplab.io с F# и обнаружил, что он компилит код более эффективный, чем рослин.
т.е. даже технически он во многом лучше шарпа.
К сожалению, все еще сильны технологии построенные на partial классах.
Хотя с точки зрения удобства vs code уже имеет отличную поддержку (лучше чем шарпа).
В райдере вроде еще лучше. Но вот прагматиков еще не хватает.
и да неужели про свифт это правда?
Ну а за корректность уж и говорить нечего, достаточно сравнить SAFE и blazor wasm.
в SAFE вообще нигде не фигурируют рукописные роуты, все генерируется из типов.
в блазор же лишь добавили немного абстракций над dom и js. а следить за склейкой клиента и сервера все равно приходится вручную.
Считаю, прагматикам стоит присмотреться к фаршу, ведь это уже почти мэйнстрим.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Отредактировано 25.07.2022 4:12 Разраб . Предыдущая версия .
Re: Почему F# станет мейнстримом
От: xpalex  
Дата: 25.07.22 06:25
Оценка: +1 -1
Здравствуйте, vaa, Вы писали:

vaa>Холивар про байты в энумах навеяло.

vaa>Ведь действительно люди страдают, причем даже не от яп, а от его нелогичности.
vaa>Я тут играл на sharplab.io с F# и обнаружил, что он компилит код более эффективный, чем рослин.

Тут ситуация такая: если вы пишете write-only код, то всякие скриптовые языки, и тем более те, что без типизации и с автоконвертацией (js, php) позволяют достичь результата с минимальными усилиями.
И есть довольно большой пласт задач где это то, что требуется от инструмента.

Но когда это долгоживущий проект и/или число чтений кода "неавтором" начинает превышать число 1, понимание что делает код и делает-ли он то, что хотел автор становится сложным.
И способность кода пережевывать разнородные данные только усугубляют возможность дешифровать намерение автора в его куске кода. А то и увести проблему от места реальной ошибки в коде.

И что вопрос enum-ы, что про async-и: автор не разобрался в концепции и требует от инструмента то, чего в нем не было заложено. И соверешенно игнорируют тот момент, что реализация их "хотелок" и "очевидных фич", приведет к большому числу неоднозначностей и мест, где можно выстрелить себе в ногу.
Re[2]: Почему F# станет мейнстримом
От: vaa  
Дата: 25.07.22 07:46
Оценка:
Здравствуйте, xpalex, Вы писали:


X>И что вопрос enum-ы, что про async-и: автор не разобрался в концепции и требует от инструмента то, чего в нем не было заложено. И соверешенно игнорируют тот момент, что реализация их "хотелок" и "очевидных фич", приведет к большому числу неоднозначностей и мест, где можно выстрелить себе в ногу.


В свое оправдание скажу, что с CE async {} in F# я разобрался быстрее, хотя начал изучать позднее C#,
кроме того Дон Сайм, главный инженер F# core вполне себе понимает, что значит промышленная разработка, т.к. именно на основе работ по F# появились многие фичи в C#.
Хотя бы те же дженерики.
Прагматикам стоит попробовать. Это вкусно!
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: Почему F# станет мейнстримом
От: Kolesiki  
Дата: 25.07.22 20:36
Оценка:
Здравствуйте, vaa, Вы писали:

vaa>Почему F# станет мейнстримом


vaa, вот ты не прав ну ни разу! Понимаешь, ты берёшь какое-то одно свойство языка (специфичное для ВП) и думаешь, что этого достаточно, чтобы завоевать все умы! (я сейчас про "распараллеливаемость" благодаря stateless)
Но ты забываешь, что у языка много граней и выбирать его только за то, что он нагрузит все 256 ядер — ну такое себе... крайне специфичный критерий (например, для обработки крупных данных).
А вот ПОНИМАЕМОСТЬ языка, его удобство стоят чуть ли не на первом месте! Недаром "Си-подобные" языки плодятся как кролики — да потому что if {} — это кратко, удобно, гибко и уж конечно же, никто не променяет императивную форму кода на ФП. Рецепты блюд придуманы для тупых — чтобы пункт за пунктом исполнять инструкцию. Ну так это работает везде! Визарды — это "шаг за шагом" ТОЧНО воспроизводить действия.
Поэтому ФП — это ортогональная мышлению вещь. Да чего доказывать... просто посмотри на рынок труда и сравни, сколько нужно ФП и сколько лабают даже на чистом Си.
Re: Почему F# станет мейнстримом
От: IT Россия linq2db.com
Дата: 26.07.22 00:46
Оценка:
Здравствуйте, vaa, Вы писали:

vaa>Считаю, прагматикам стоит присмотреться к фаршу, ведь это уже почти мэйнстрим.


Папки в проект уже можно добавлять или все 100500 файлов по прежнему в одном каталоге?
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: Почему F# станет мейнстримом
От: vaa  
Дата: 26.07.22 04:00
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, vaa, Вы писали:


vaa>>Считаю, прагматикам стоит присмотреться к фаршу, ведь это уже почти мэйнстрим.


IT>Папки в проект уже можно добавлять или все 100500 файлов по прежнему в одном каталоге?

  <ItemGroup>
    <Compile Include="Utils\ConsoleLogger.fs" />
    <Compile Include="Core\AppCore.fs" />
    <Compile Include="Program.fs" />
  </ItemGroup>

Hello, Alice!
11:00:10 INFO: It is work!
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[2]: Почему F# станет мейнстримом
От: vaa  
Дата: 26.07.22 04:03
Оценка:
Здравствуйте, Kolesiki, Вы писали:

K>Здравствуйте, vaa, Вы писали:


vaa>>Почему F# станет мейнстримом


K>vaa, вот ты не прав ну ни разу! Понимаешь, ты берёшь какое-то одно свойство языка (специфичное для ВП) и думаешь, что этого достаточно, чтобы завоевать все умы! (я сейчас про "распараллеливаемость" благодаря stateless)

K>Но ты забываешь, что у языка много граней и выбирать его только за то, что он нагрузит все 256 ядер — ну такое себе... крайне специфичный критерий (например, для обработки крупных данных).
K>А вот ПОНИМАЕМОСТЬ языка, его удобство стоят чуть ли не на первом месте! Недаром "Си-подобные" языки плодятся как кролики — да потому что if {} — это кратко, удобно, гибко и уж конечно же, никто не променяет императивную форму кода на ФП. Рецепты блюд придуманы для тупых — чтобы пункт за пунктом исполнять инструкцию. Ну так это работает везде! Визарды — это "шаг за шагом" ТОЧНО воспроизводить действия.
K>Поэтому ФП — это ортогональная мышлению вещь. Да чего доказывать... просто посмотри на рынок труда и сравни, сколько нужно ФП и сколько лабают даже на чистом Си.

Джеффри Мур считает что нужна лишь малость перепрыгнуть пропасть между фанатами и прагматиками, дело не в том что ЯП плохой, дело в привычках
и умении разглядеть практическую ценность.

Вот, вполне себе симпатичные и привычные скобочки, прямо как в СИ
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[2]: Почему F# станет мейнстримом
От: vaa  
Дата: 26.07.22 07:48
Оценка:
Здравствуйте, xpalex, Вы писали:

X>И что вопрос enum-ы, что про async-и: автор не разобрался в концепции и требует от инструмента то, чего в нем не было заложено. И соверешенно игнорируют тот момент, что реализация их "хотелок" и "очевидных фич", приведет к большому числу неоднозначностей и мест, где можно выстрелить себе в ногу.


Ну, я прекрасно понимаю чем грозит неявное преобразование, поэтому и считаю F# лучшим ЯП для дотнет.

type Cmd = | Start = 1 | Stop = 2;;

[<Struct>]
type Cmd =
  | Start = 1
  | Stop = 2

type Cmd with 
    member it.GetValue() = int it
    static member GetCmd(value : int) = enum<Cmd> value;;

type Cmd with
  member GetValue: unit -> int
type Cmd with
  static member GetCmd: value: int -> Cmd

Cmd.GetCmd 2;;
val it: Cmd = Stop

it.GetValue();;
val it: int = 2
☭ ✊ В мире нет ничего, кроме движущейся материи.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.