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. "Доступен язык программирования OCaml 5.4.0"  +3 +/
Сообщение от Аноним (2), 10-Окт-25, 23:32 
Начало новостной заметки звучит как сказка Андерсена
Ответить | Правка | Наверх | Cообщить модератору

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

36. "Доступен язык программирования OCaml 5.4.0"  +1 +/
Сообщение от Bottle (?), 11-Окт-25, 13:59 
Вы эти сказки неофитам оставьте, тут конечно не сидят прожжёные самовары, но люди понимают, что это піздѣж чистой воды.
Ответить | Правка | Наверх | Cообщить модератору

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

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

13. "Доступен язык программирования OCaml 5.4.0"  +/
Сообщение от Аноним (13), 11-Окт-25, 01:48 
>F# (банкинг).

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

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

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

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

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

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

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

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

37. "Доступен язык программирования OCaml 5.4.0"  +/
Сообщение от Аноним (37), 11-Окт-25, 14:53 
Первые версии GCC, который тогда умел только C компилять, на каком-то Паскале.
Ответить | Правка | Наверх | Cообщить модератору

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

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

38. "Доступен язык программирования OCaml 5.4.0"  +/
Сообщение от Аноним (37), 11-Окт-25, 14:55 
В смысле, вызывает поток выражений из уст программиста?
Ответить | Правка | Наверх | Cообщить модератору

24. "Доступен язык программирования OCaml 5.4.0"  +1 +/
Сообщение от 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

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

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

34. "Доступен язык программирования OCaml 5.4.0"  +/
Сообщение от freehck (ok), 11-Окт-25, 13:52 
> Наверное это троллинг.

Скорее дань традиции.

> Если хочется на Камле писать код с плавающей точкой, то надо в преамбуле модуля написать
> let (+) = Float.(+)

А в современном OCaml Core можно и вовсе сделать банально[1]:

open Core.Float.O

После такой преамбулы модуля вообще все операторы будут заменены.

[1] https://ocaml.org/p/core/v0.17.1/doc/core/Core/Float/O/index...

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

Ну, нормально или нет -- это всё же вкусовщина. Вот мне например больше нравится с модулями заданных сигнатур работать.
Это ведь нагляднее: в 99.999% случаев мы в рамках заданного контекста один фиг работаем только с одним типом данных.

Впрочем, я не стану отрицать, что когда я впервые столкнулся с тайпклассами, Haskell изрядно подпортил общее впечатление умолчательной ленивостью.
Вполне возможно, что мой тезис более говорит о том, что я выбираю OCaml вместо Haskell, а не общие сигнатуры модулей вместо тайпклассов.

> Зачем тащить эти +. *. в учебный пример? В оригинальном 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

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

> И, в общем, понятно, что это идёт из кровавого ынтерпрайза.

Думаю, что проще. Когда писали SML концепция модуля уже была, а вот концепции тайпкласса -- ещё не было.

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

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

27. "Доступен язык программирования OCaml 5.4.0"  +/
Сообщение от Аноним (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ообщить модератору

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

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

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

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

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

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

43. "Доступен язык программирования OCaml 5.4.0"  +/
Сообщение от NonRumata (?), 11-Окт-25, 16:15 
Я, конечно, извиняюсь.

Но напишите, как в вашем понимании будет понятно и выразительно (неважно на чем, Си, OCaml, Python, Erlang).

P.S. Я вот просто смотрю и явно вижу знакомую формулу и даже не представляю, как можно было понятнее написать.

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

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

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

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


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

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

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

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

35. "Доступен язык программирования OCaml 5.4.0"  +/
Сообщение от freehck (ok), 11-Окт-25, 13:58 
> И что же тут непонятного? Простая перезагрузка оператора для дифференцирования.

Да, вот только не перегрузка, а переопределение. Это важно.

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

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

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

31. "Доступен язык программирования OCaml 5.4.0"  +/
Сообщение от Аноним (9), 11-Окт-25, 13:11 
> То есть зная математику окамл учится за вечер.

жонглируя предметами, вы не познаете силу притяжения.

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

32. "Доступен язык программирования OCaml 5.4.0"  +/
Сообщение от freehck (ok), 11-Окт-25, 13:23 
> То есть зная математику окамл учится за вечер.

Вот кстати поддерживаю на 100%. Берёшь RealWorldOcaml, за день читаешь первые несколько глав -- и базовый OCaml уже освоен.
А дальше будет уже исключительно изучение усиливающих разработчика абстракций.

Ответить | Правка | К родителю #29 | Наверх | Cообщить модератору

40. "Доступен язык программирования OCaml 5.4.0"  +/
Сообщение от Аноним (37), 11-Окт-25, 15:06 
100 лет в обед это вообще ML-ям, а конкретно OCaml появился в 1996.
Ответить | Правка | К родителю #29 | Наверх | Cообщить модератору

33. Скрыто модератором  +/
Сообщение от Аноним (33), 11-Окт-25, 13:44 
Ответить | Правка | Наверх | Cообщить модератору

39. "Доступен язык программирования OCaml 5.4.0"  +/
Сообщение от blevakagmail.comemail (?), 11-Окт-25, 15:04 
Ocaml for.net aka F#
Rust via ocaml
Fabel fsharp компилируется в Раст. Кстати ребята делают на f# fidelity fw компилируется в mlir натив. У оригинала также классный компилятор
Ответить | Правка | Наверх | Cообщить модератору

42. Скрыто модератором  +/
Сообщение от Аноним (-), 11-Окт-25, 15:15 
Ответить | Правка | Наверх | Cообщить модератору

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

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




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

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