The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Доступен язык программирования OCaml 5.4.0"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Доступен язык программирования OCaml 5.4.0"  +/
Сообщение от opennews (??), 10-Окт-25, 23:11 
Опубликован  релиз языка программирования OCaml 5.4.0, промышленного функционального языка программирования с акцентом на выразительность и безопасность разрабатываемого программного обеспечения. В OCaml гармонично сочетается функциональное ядро, императивные возможности, продвинутая объектная система и неповторимая модульная система...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=64035

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

2. Сообщение от Аноним (2), 10-Окт-25, 23:32   +3 +/
Начало новостной заметки звучит как сказка Андерсена
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #9

5. Сообщение от Аноним (5), 11-Окт-25, 00:06   +3 +/
> с акцентом на выразительность
> let ( * ) (x,~dx) (y, ~dx:dy) = x*.y, ~dx:(x *. dy +. y *. dx )

Хотелось бы услышать экспертное мнение о сабже от сишников, которые при каждой возможности воют о том, какой у Раста нечеловеческий синтаксис.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #6, #7, #8, #12, #15, #17, #24, #25, #30

6. Сообщение от Аноним (6), 11-Окт-25, 00:15   +15 +/
Все верно, с акцентом на выразительность
Вот как тут не выразиться, глядя на такой код?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

7. Сообщение от Аноним (-), 11-Окт-25, 00:19   +/
> Хотелось бы услышать экспертное мнение о сабже от сишников,

Сейчас тебе расскажут что "все просто и понятно" :)
С другой местные кекспертные сишники обычно еще и яростно наяривают на lisp и scheme, а иногда даже на перловку.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #20, #22

8. Сообщение от Аноним (8), 11-Окт-25, 00:30   +7 +/
Как сишник, не вижу противоречий, что у раста, что окамл, синтаксис непонятный.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #10

9. Сообщение от Аноним (9), 11-Окт-25, 00:50   +5 +/
особенно "с акцентом на выразительность" - вырвиглазность
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #19, #26

10. Сообщение от Аноним (10), 11-Окт-25, 00:58   +1 +/
Функциональные языки в целом не от мира сего, более-менее адекватно выглядят только созданные под конкреьные задачи Erlang (телеком) и F# (банкинг).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #13

11. Сообщение от Аноним (11), 11-Окт-25, 01:07   +1 +/
я верю что окамл может лучше!
https://github.com/jinyus/related_post_gen
Ответить | Правка | Наверх | Cообщить модератору

12. Сообщение от Аноним (13), 11-Окт-25, 01:48   +2 +/
На всякий случай сообщаю, что первые версии раста были написаны на окамле.

ЗЫ интересно, кто-то кроме меня на опеннете в состоянии понять, что здесь написано?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #21

13. Сообщение от Аноним (13), 11-Окт-25, 01:48   +/
>F# (банкинг).

Только вот F# это почти Ocaml, подобно тому, как C# почти Java.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

15. Сообщение от Аноним (-), 11-Окт-25, 04:58   +/
Всё ещё понятнее растосинтаксиса. Да даже у хаскеля синтаксис понятнее.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

17. Сообщение от Сосиска (?), 11-Окт-25, 06:53   +/
Выразительнее только у Perl
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

18. Сообщение от Аноним (-), 11-Окт-25, 07:22   +/
> В OCaml гармонично сочетается функциональное ядро,
> императивные возможности, продвинутая объектная
> система и неповторимая модульная система.

...и абсолютно отбитый синтаксис, после которого Rust и C++ кажутся не такими уж и плохими.


       let ( * ) (x,~dx) (y, ~dx:dy) =
         x*.y, ~dx:(x *. dy +. y *. dx )

Все очень читаемо и понятно, разве нет? :). Блин даже автоцензор на такой код агрится. На что же это похоже?...
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #28

19. Сообщение от Аноним (-), 11-Окт-25, 07:23   +/
> особенно "с акцентом на выразительность" - вырвиглазность

Что делать, в новостях бывают опечатки :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9

20. Сообщение от Аноним (-), 11-Окт-25, 07:24   +/
> Сейчас тебе расскажут что "все просто и понятно" :)

Да вообще элементарщина. Ящеры совсем не палятся...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

21. Сообщение от Аноним (-), 11-Окт-25, 07:25   +/
> На всякий случай сообщаю, что первые версии раста были написаны на окамле.

А первые версии си - вообще на ассемблере, вероятно. Не означает что толпа народа с энтузиазмом возьмется на ассемблере писать.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

22. Сообщение от Аноним (22), 11-Окт-25, 07:48   +/
В Lisp и Sсheme нет синтакиса в общем случае. Нет синтаксиса - нет проблем. Так что все действительно просто и понятно. Так что наяривали, наяриваем, и будем наяривать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

23. Сообщение от cheburnator9000 (ok), 11-Окт-25, 07:50   +1 +/
Теперь понятно с какой дичи срисовывали раст.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #29

24. Сообщение от Vkni (ok), 11-Окт-25, 08:19   +/
Наверное это троллинг. Если хочется на Камле писать код с плавающей точкой, то надо в преамбуле модуля написать

let (+) = Float.(+)

и т.д., а дальше писать с нормальными +-. Увы, нормально это в системах типов Хиндли-Милнера без классов типов не делается, а OCaml вынужден идти другим путём.

Зачем тащить эти +. *. в учебный пример? В оригинальном PR'е пример значительно разумнее:

let sum_and_product ints =
  let init = ~sum:0, ~product:1 in
  List.fold_left (fun (~sum, ~product) elem ->
    let sum = elem + sum in
    let product = elem * product in
    ~sum, ~product
  ) init ints

См https://github.com/ocaml/ocaml/pull/13498

И, в общем, понятно, что это идёт из кровавого ынтерпрайза (Улицы тёти Жени). И да, там оно имеет смысел.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

25. Сообщение от Аноним (-), 11-Окт-25, 08:27   +/
Выразительность ≠ Читабельность. У чистой сишки одновременно имеются оба эти качества: выразитеьность и читабельность.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #27

26. Сообщение от Хайль_тоталитарный_Либерализм_РФиНАТО (ok), 11-Окт-25, 09:28   +/
> особенно "с акцентом на выразительность" - вырвиглазность

Меня почти дословно опередил ;)

Хоть там при этой "выразительности" - ещё и безопасность же "повышенна"...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9

27. Сообщение от Аноним (27), 11-Окт-25, 11:46   +/
> Выразительность ≠ Читабельность. У чистой сишки одновременно имеются оба эти качества:
> выразитеьность и читабельность.

Угу, угу
https://www.ioccc.org/2005/aidan/aidan.c


if(!C) {
        l=(o=S].O)?S].I:0; I=o?S].l%9+1:(S].O=i%9+1);
        for(;l<81;l++,I=S].O,o=0) if(!(s]>>10)) {
        for(;;I=I%9+1,o=1) {
            l0=0; if(o&&I==S].O) goto O;
            if(s]>>I&1) {
            S].l=I; S++].I=l; S]=S-1];
            N(I,); O>w&&(w=O); goto lO;
            }
        }
        }
    }
    lO: S].O=0; goto l0; l: if(!(l0=O)) { L=0; goto O; } O--;
    s,S].I] &=~ (1<<S].l);


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

28. Сообщение от Аноним (28), 11-Окт-25, 13:01   +/
И что же тут непонятного? Простая перезагрузка оператора для дифференцирования. Матан 1 курс, алло!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

29. Сообщение от Аноним (28), 11-Окт-25, 13:03   +/
Окамлу 100 лет в обед, вы удивитесь что только с него срисовывали. А на деле - чего тут срисовывать? Окамл просто предоставляет строгую семантику для математических функций. То есть зная математику окамл учится за вечер.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

30. Сообщение от freehck (ok), 11-Окт-25, 13:03   +/
>> с акцентом на выразительность
>> let ( * ) (x,~dx) (y, ~dx:dy) = x*.y, ~dx:(x *. dy +. y *. dx )

Ну, как человек хорошо знакомый с OCaml я скажу, что мне тут всё понятно без пояснений, так что да: выразительность тут налицо.

> Хотелось бы услышать экспертное мнение о сабже от сишников, которые при каждой
> возможности воют о том, какой у Раста нечеловеческий синтаксис.

Зачем вообще говорить с людьми, которые судят язык по синтаксису, не зная его?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру