The OpenNET Project / Index page

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



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

Оглавление

Выпуск языка программирования Rust 1.54, opennews (??), 29-Июл-21, (0) [смотреть все]

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


23. "Выпуск языка программирования Rust 1.54"  +6 +/
Сообщение от Аноним (24), 29-Июл-21, 22:53 
Постепенно углубляюсь в этот язык, кайфую
После C/C++ совсем сказка, море возможностей и удобств, при этом высокая производительность

Советую всем, даже кого C/C++ держит и точно не отпустит. С разбором Раста приходит большее понимание, как лучше писать код вообще.

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

28. "Выпуск языка программирования Rust 1.54"  +1 +/
Сообщение от Аноньимъ (ok), 29-Июл-21, 22:56 
Лисп попробуйте, схему какуюнить, Racket например.
Много почерпнёте.
Ответить | Правка | Наверх | Cообщить модератору

35. "Выпуск языка программирования Rust 1.54"  +1 +/
Сообщение от Аноним (40), 29-Июл-21, 23:03 
Спасибо за рекомендацию!
К сожалению, как-то так складывается, что не перевариваются скобочные языки с фп в чистом виде. А вот элементы фп в других языках - приятное дополнение к их возможностям.
Ответить | Правка | Наверх | Cообщить модератору

225. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноним (246), 30-Июл-21, 05:15 
Да нет в этих лиспах никакого чистого ФП. В scheme ФП, конечно, побольше, чем в CL, но по сути там столько же ФП, сколько его в современном Джаваскрипте.

За чистым ФП - в Haskell, ну или к некоторым языкам семейства ML.

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

292. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноним (290), 30-Июл-21, 09:41 
для haskell нужно вспоминать забытый после универа матан( подзабил в своё время на его изучение
Ответить | Правка | Наверх | Cообщить модератору

403. "Выпуск языка программирования Rust 1.54"  +1 +/
Сообщение от Аноним (547), 30-Июл-21, 18:43 
Да не надо там никакого матана. Просто он из академической среды, и потому им привычнее в терминах теории категорий рассуждать. На самом деле всё это объясняется на пальцах элементарно: http://learnyouahaskell.com/
Ответить | Правка | Наверх | Cообщить модератору

554. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Kuku (?), 01-Авг-21, 00:39 
Напоминает хаскелевский хайп надцатилетней давности. Потом как-то все устаканилось, и язык трехсот головоломных способов вычисления чисел Фибоначчи занял почетное место во главе промышленно используемых языков, но с конца.
Тем же окончится и абсолютистский подход к "безопасности использования памяти", когда без ансейфа код становится пароксизмом пи*доватизма, а безопасность страдает уже от множества других проблем, решение которых так и не удается загнать вместо линтера в компилятор ))
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

558. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноньимъ (ok), 01-Авг-21, 01:22 
Напоминает.
Но все-же хаскель был немного о другом. Если я верно понимаю, фишка хаскеля это корректность и верифицируемость (ещё про ленивость много шутили)

В то время как фишка раста, это универсальность в первую очередь но с сахаром и плюшками.
Раст можно сравнить в этом плане с котлином например.

Учитывая, что раст даже вот в линукс ядро пропихивают, есть некие надежды на то, что будет он чуть более популярнее хаскеля.

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

674. "Выпуск языка программирования Rust 1.54"  +1 +/
Сообщение от wyry (?), 14-Дек-21, 14:54 
Это другое!). А так история циклична, а ПО как писали на C/C++, JVM-семействе, так и пишут. Когда училась в универе функциональные и околофункциональные языки были очень в моде, с одной стороны Haskell, с другой стороны LISP'еры грозились захватить мир и было очень даже много неплохих ресурсов по LISP, Microsoft на хайпе запилили свой диалект OCaml и носились с ним просто ВЕЗДЕ! И знаете что? Все перечисленные языки во всех смыслах лучше и качественнее Rust! В каждом есть своя идея, реализация на уровне проектирования, вот почему-то F# написан на F#, то есть разработчики в кои то веки с технической точки зрения знали что делают и чего хотят достичь. Rust же до сих пор не вышел из состояния зародыша, НО УЖЕ покрылся ржавчиной (собственно правдивое название), причём язык даже не умудрился привнести вообще ничего нового. На C++ почти на всю функциональность Rust есть свои приёмы, можно без труда писать на C++ в стиле Rust и заиметь все те преимущества (не очень то и существенные) которые он даёт. То есть если Хаскель или ML-семейство или LISP или даже JVM-семейство даёт альтернативные пути и фишки, то Rust не привносит ВООБЩЕ НИЧЕГО кроме агрессивного маркетинга. Причём я никогда не хейтила Rust от чистого сердца, но разобравшись в нём получше поняла, что во-первых на C и С++ писать И ЧИТАТЬ (для меня) намного проще, во-вторых сам язык не несёт вообще никаких критических инноваций, по поводу удобств и производительности разработчика - я это слышу уже годами. Java говорила что она быстрее, удобнее и надёжнее, в итоге паттерны (а на практике чаще антипаттерны) создают настолько шизанутый код, что если бы он был тупо был написан в стиле чистого C - разобраться в нём было бы в разы легче. F# говорил что код можно писать значительно короче и сразу без ошибок. И да, там где задачу можно решить просто в функциональном стиле - F# хорош, как только дело доходит до чего-то другого, проще родить ежа и ужа, чем написать, в итоге производительность разработчика откатывается обратно в 0 или даже хуже.
Ответить | Правка | Наверх | Cообщить модератору

676. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноньимъ (ok), 14-Дек-21, 18:01 
Да, лучше бы типизированный лисп развивали конечно.

Я после того как осилил лисп смотрю на сиподобные языки как на ужасное нечно. Непонятно зачем вообще сделанное.

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

677. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноньимъ (ok), 14-Дек-21, 18:07 
>И да, там где задачу можно решить просто в функциональном стиле - F# хорош, как только дело доходит до чего-то другого, проще родить ежа и ужа, чем написать, в итоге производительность разработчика откатывается обратно в 0 или даже хуже.

Думаю всегда можно.
Не всегда наверное нужно.

Я так понимаю F# должен интегрироваться с C# ибо всё на одной платформе, так что штука по идее крутая для дотнетчиков, коим я уже давно не являюсь.

> Java говорила что она быстрее, удобнее и надёжнее, в итоге паттерны (а на практике чаще антипаттерны) создают настолько шизанутый код, что если бы он был тупо был написан в стиле чистого C - разобраться в нём было бы в разы легче

Джава создавалась для интернета вещей, затем сан убили, а оракл натянул сову на глобус, получили в итоге корпоративную джаву с фабриками фабрик порождений парсинга XML классов.

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

678. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноньимъ (ok), 14-Дек-21, 18:09 
>Rust же до сих пор не вышел из состояния зародыша, НО УЖЕ покрылся ржавчиной (собственно правдивое название), причём язык даже не умудрился привнести вообще ничего нового. На C++ почти на всю функциональность Rust есть свои приёмы, можно без труда писать на C++ в стиле Rust и заиметь все те преимущества (не очень то и существенные) которые он даёт.

Мне нужно написать на расте что нибудь достаточно объемное чтобы как-то об этом судить. Давно собирался, да руки как-то не доходили. Изис Агора Лавкрафт вроде отзывалась положительно о расте, надо в общем самому посмотреть.

А вас случайно на OSDN Conf 2021 не было?

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

31. "Выпуск языка программирования Rust 1.54"  –5 +/
Сообщение от Кир (?), 29-Июл-21, 22:57 
Углубляйся. Даже, можно сказать, погружайся! Смотри только, метаном не задохнись.
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

34. "Выпуск языка программирования Rust 1.54"  –1 +/
Сообщение от Аноним (40), 29-Июл-21, 23:00 
Метаном пованивает, когда возвращаюсь C/C++
После Раста весьма прискорбное занятие.
Ответить | Правка | Наверх | Cообщить модератору

39. "Выпуск языка программирования Rust 1.54"  –2 +/
Сообщение от Кир (?), 29-Июл-21, 23:05 
Это ты просто не переоделся после погружений в раст.
Ответить | Правка | Наверх | Cообщить модератору

41. "Выпуск языка программирования Rust 1.54"  –2 +/
Сообщение от Аноним (40), 29-Июл-21, 23:09 
Ты же понимаешь, что после Раста это и правда совершенно ниочемные языки?
Особенно пустой C, в C++ хотя бы стандартная либа более-менее что-то из себя представляет (впрочем, нетворка всё равно до сих пор нет)
Ответить | Правка | Наверх | Cообщить модератору

47. "Выпуск языка программирования Rust 1.54"  –1 +/
Сообщение от Кир (?), 29-Июл-21, 23:14 
А можно больше конкретики? Что именно позволяет сделать раст такого, чего нельзя (причем эффективнее) сделать на плюсах?
Ответить | Правка | Наверх | Cообщить модератору

56. "Выпуск языка программирования Rust 1.54"  –1 +/
Сообщение от Кир (?), 29-Июл-21, 23:26 
Вот интересно, ярый фанат раста уже полчаса ничего не отвечает на этот простой вопрос... Отчего бы?
Ответить | Правка | Наверх | Cообщить модератору

61. "Выпуск языка программирования Rust 1.54"  +2 +/
Сообщение от Аноним (59), 29-Июл-21, 23:31 
Спать пошёл, не?
Ответить | Правка | Наверх | Cообщить модератору

440. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноним (440), 30-Июл-21, 20:42 
Мамка запугала, что за компутером поздно сидит
Ответить | Правка | Наверх | Cообщить модератору

221. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Хан (?), 30-Июл-21, 05:10 
Он ищет истину! Там где ее нет... заблудшие растоманы такие
Ответить | Правка | К родителю #56 | Наверх | Cообщить модератору

68. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Anonnnym (?), 29-Июл-21, 23:34 
> Что именно позволяет сделать раст такого, чего нельзя (причем эффективнее) сделать на плюсах?

Ну вот представь, понадобилось тебе выделить голой памяти через new. Не знаю зачем, просто понадобилось, и ты забыл потом вызвать delete - в плюсах ты получишь ворнинг, а в расте не получишь, потому что для выделения голых байтов, тебе придется нырнуть в unsafe.

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

236. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноним (246), 30-Июл-21, 05:50 
Статический анализатор для unsafe кода написать не проблема.

Просто никому не надо, поскольку в расте это исключение, а в плюсах (особенно в старом коде) вокруг и рядом.

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

275. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от n00by (ok), 30-Июл-21, 08:51 
Если не знаете зачем понадобилась память, то и ошибки, вероятно, нет: это одна из стратегий работы с памятью. При завершении процесса она вернётся к системе. Ошибкой это будет в цикле, когда и сборщик мусора не всякий справится.
Ответить | Правка | К родителю #68 | Наверх | Cообщить модератору

87. "Выпуск языка программирования Rust 1.54"  +2 +/
Сообщение от ПомидорИзДолины (?), 30-Июл-21, 00:04 
Растовские маркросы - это просто песня. После них в сторону темплейты, даже с концептами, смотреть вообще не хочется.
Ответить | Правка | К родителю #47 | Наверх | Cообщить модератору

94. "Выпуск языка программирования Rust 1.54"  –1 +/
Сообщение от Кир (?), 30-Июл-21, 00:33 
Ну приведи же пример песни, что-нибудь такое, что заставит всех ахнуть от восхищения и навсегда забыть прочие богомерзкие ЯП! А то на поверку оказывается практически всегда, что растаманы просто не знают C++ и выдают теплое за мягкое )))))
Ответить | Правка | Наверх | Cообщить модератору

115. "Выпуск языка программирования Rust 1.54"  –1 +/
Сообщение от ПомидорИзДолины (?), 30-Июл-21, 01:28 
А ты такой наивный, крошка.
Если интересно - сам найдешь.
Ответить | Правка | Наверх | Cообщить модератору

118. "Выпуск языка программирования Rust 1.54"  –1 +/
Сообщение от Кир (?), 30-Июл-21, 01:47 
То есть блеснуть киллер-фичей не могём, понятно. Ладно, не расстраивайся, продолжай надувать щёки...
Ответить | Правка | Наверх | Cообщить модератору

222. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноним (222), 30-Июл-21, 05:10 
Захочешь - сам найдешь. Не захочешь - тебе хоть двести фич под нос сунь, все равно плеваться будешь.
Ответить | Правка | Наверх | Cообщить модератору

324. "Выпуск языка программирования Rust 1.54"  –3 +/
Сообщение от Кир (?), 30-Июл-21, 13:23 
Да ладно, слив уже засчитан.
Ответить | Правка | Наверх | Cообщить модератору

549. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от . (?), 31-Июл-21, 23:41 
Ну как пример которым пользуются в любой кодовой базе на Rust (А фич у макросов намного больше) - derive макросы

Есть у тебя структура, поставил ей #[derive(Debug)] - и для неё реализован отладочный вывод в консоль (трейт Debug), то же самое с Clone, Copy, PartialEq, Eq, PartialOrd, Ord...

Такую же штуку могут реализовывать библиотеки (Это всё же макросы, а не чот встроенное и заточенное под стандартную библиотеку) - например serde имеет макросы Serialize/Deserialize, которые после добавления позволяют писать данную структуру как json/cbor/xml/bson/msgpack/... (в любой формат, для которого реализована библиотека с поддержкой serde, под protobuf правда такого нет, у него отдельный #[derive(Message)])

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

454. "Выпуск языка программирования Rust 1.54"  –1 +/
Сообщение от freecoder (?), 30-Июл-21, 22:57 
Например вот:


let value = json!({
    "code": 200,
    "success": true,
    "payload": {
        "features": [
            "serde",
            "json"
        ]
    }
});

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

483. "Выпуск языка программирования Rust 1.54"  –2 +/
Сообщение от Кир (?), 31-Июл-21, 02:28 
Серьёзно? https://github.com/nlohmann/json

auto j2 = R"(
{
    "happy": true,
    "pi": 3.141
  }
)"_json;

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

515. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от freecoder (?), 31-Июл-21, 12:40 
> Серьёзно? https://github.com/nlohmann/json
>
auto j2 = R"( 
> {
>     "happy": true,
>     "pi": 3.141
>   }
> )"_json;

Ваш вариант - это просто строка. В случае же макросов в Rust можно DSL-синтаксис смешивать с выражениями Rust:


let full_name = "John Doe";
let age_last_year = 42;

let john = json!({
    "name": full_name,
    "age": age_last_year + 1,
    "phones": [
        format!("+44 {}", random_phone())
    ]
});


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

535. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Кир (?), 31-Июл-21, 17:16 
Ну тогда так, устроит?
 #include <iostream>
#include <nlohmann/json.hpp>
  
using json = nlohmann::json;
  
int main()
{
     // create JSON values
     json j_empty_init_list = json({});
     json j_object = { {"one", 1}, {"two", 2} };
     json j_array = {1, 2, 3, 4};
     json j_nested_object = { {"one", {1}}, {"two", {1, 2}} };
     json j_nested_array = { {{1}, "one"}, {{1, 2}, "two"} };
  
     // serialize the JSON value
     std::cout << j_empty_init_list << '\n';
     std::cout << j_object << '\n';
     std::cout << j_array << '\n';
     std::cout << j_nested_object << '\n';
     std::cout << j_nested_array << '\n';
}

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

618. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от anonymous (??), 02-Авг-21, 11:43 
> json j_object = { {"one", 1}, {"two", 2} };

Это в JSON будет {"one":1, "two":2} ?

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

619. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от freecoder (?), 02-Авг-21, 11:53 
> Ну тогда так, устроит?

Сравни теперь это с вариантом на Rust и поймешь, почему разработчикам больше нравятся его макросы.

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

238. "Выпуск языка программирования Rust 1.54"  +2 +/
Сообщение от Аноним (246), 30-Июл-21, 06:04 
Раст переносит гарантии смартпоинтеров в компайл тайм, убирая соответствующий рантайм-оверхед. Цена за это - когнитивная нагрузка, надо вникнуть в принципы, перестроить мышление, ну и временами уговаривать компилятор, чтобы он понял, что тут все окей (поскольку полный статический анализ сделать невозможно ввиду проблемы останова).

В остальном, конечно, разницы особо нет, больше вопрос предпочтений.

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

241. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноним (246), 30-Июл-21, 06:15 
Кстати, в теории возможно реализовать аналог компайл-тайм модели Раста на плюсовых темплейтах, они, как-никак, Тьюринг-полные.

Это, конечном будет полный brainfuck, для компиляции которого понадобятся терабайт памяти и пара лет, но в теории :)

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

276. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от n00by (ok), 30-Июл-21, 08:55 
> Раст переносит гарантии смартпоинтеров в компайл тайм, убирая соответствующий рантайм-оверхед.

А какой у современных компиляторов оверхед в unique_ptr<>?

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

404. "Выпуск языка программирования Rust 1.54"  +2 +/
Сообщение от Аноним (547), 30-Июл-21, 18:46 
У unique_ptr никакого, а вот у shared_ptr есть.

В Расте же compile time refcount.

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

245. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноним (24), 30-Июл-21, 06:23 
serde.rs
Ответить | Правка | К родителю #47 | Наверх | Cообщить модератору

303. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от red75prime (?), 30-Июл-21, 10:36 
> Что именно позволяет сделать раст такого, чего нельзя (причем эффективнее) сделать на плюсах?

Писать код без ошибок (инвалидация итераторов, exception unsafety, data races). А насчёт функциональности программ: что такого можно сделать в С++, чего нельзя (причём эффективнее) сделать на ассемблере?

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

328. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Кир (?), 30-Июл-21, 13:37 
> Писать код без ошибок

Что-то, судя по постоянным растопроблемам, нифига не получается )))) Детка, ни один ЯП не позволяет писать код без ошибок, серебряных пуль не бывает, тебя обманули.

> что такого можно сделать в С++, чего нельзя (причём эффективнее) сделать на ассемблере?

Естественно, все что можно сделать на C++, можно сделать на ассемблере. И все что можно сделать на ржавом, можно сделать на ассемблере. Как это влияет на сравнение плюсов с ржавым?

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

412. "Выпуск языка программирования Rust 1.54"  –1 +/
Сообщение от n00by (ok), 30-Июл-21, 19:12 
> что такого можно сделать в С++, чего нельзя (причём
> эффективнее) сделать на ассемблере?

Вычисления во время трансляции. Из ассемблеров только fasm на это способен (я не смотрел остальные, просто угадываю).

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

480. "Выпуск языка программирования Rust 1.54"  –1 +/
Сообщение от Кир (?), 31-Июл-21, 00:14 
Стоп, ты сейчас написал, что C++ не умеет в вычисления на этапе компиляции? Серьезно, я тебя правильно понял? То есть ты признался, что нифига не знаешь C++? Похоже, рассказы про тупость растаманов имеют под собой нехилую основу...
Ответить | Правка | Наверх | Cообщить модератору

481. "Выпуск языка программирования Rust 1.54"  +1 +/
Сообщение от Кир (?), 31-Июл-21, 00:19 
Прошу прощения, неправильно понял мысль, дико извиняюсь.
Ответить | Правка | Наверх | Cообщить модератору

453. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от freecoder (?), 30-Июл-21, 22:41 
Дело не в том, что Rust _позволяет_ сделать такого, чего нельзя на плюсах, а в том, что Rust _не позволяет_ делать, в сравнении с плюсами.
Ответить | Правка | К родителю #47 | Наверх | Cообщить модератору

179. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Хан (?), 30-Июл-21, 03:38 
У C++ есть два плюса Boost и Qt, ну и сишные либы ему как родные
Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

475. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноним (24), 31-Июл-21, 00:01 
Буст - весьма специфическая штука и нужна именно языку C++
В Расте заменяется стандартной либой и некоторыми крейтами
Интеграция с Qt есть
Ответить | Правка | Наверх | Cообщить модератору

43. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Кир (?), 29-Июл-21, 23:12 
А почему ты пишешь C/C++? Не видишь разницы? Еще один товарищ из криокамеры с томиком Ритчи 80-лохматого года издания?
Ответить | Правка | К родителю #34 | Наверх | Cообщить модератору

309. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от anonymous (??), 30-Июл-21, 11:16 
Он как раз видит разницу и она не в пользу раст. Например, на раст невозможно реализовать даже вектор - придётся лезть в ансейф.
Ответить | Правка | Наверх | Cообщить модератору

476. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноним (24), 31-Июл-21, 00:01 
На Расте можно что угодно реализовать, а unsafe - часть Раста
Ответить | Правка | Наверх | Cообщить модератору

477. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноним (24), 31-Июл-21, 00:03 
Потому что у C++ все те же болячки C и уши из 80-90ых
Да, C++ лучше, особенно для прикладного применения, но все новинки не избавляют его от древних болячек, увы
Они даже побоялись аби нарушить ради увеличения производительности
Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

103. "Выпуск языка программирования Rust 1.54"  +2 +/
Сообщение от Аноним (103), 30-Июл-21, 01:04 
Метан - он без вкуса и запаха.
Ответить | Правка | К родителю #34 | Наверх | Cообщить модератору

193. "Выпуск языка программирования Rust 1.54"  +1 +/
Сообщение от Аноним (193), 30-Июл-21, 04:08 
Это он природный без запаха, а тут после интенсивной газификации малых водоёмов.
Ответить | Правка | Наверх | Cообщить модератору

287. "Выпуск языка программирования Rust 1.54"  +3 +/
Сообщение от Аноним (287), 30-Июл-21, 09:37 
Путаете метан с сероводородом и аммиаком.
Ответить | Правка | Наверх | Cообщить модератору

38. "Выпуск языка программирования Rust 1.54"  –3 +/
Сообщение от Кир (?), 29-Июл-21, 23:05 
А вообще, хочешь совет? Если хочешь реально посмотреть на программирование с новой стороны, попробуй Haskell. Очень интересная, хотя и временами мозговыносящая штука.
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

51. "Выпуск языка программирования Rust 1.54"  +2 +/
Сообщение от Аноним (46), 29-Июл-21, 23:21 
На Rust после C++ и Haskell мне было довольно приятно перейти. Теперь на нём фулл-тайм и пишу.
Ответить | Правка | Наверх | Cообщить модератору

310. "Выпуск языка программирования Rust 1.54"  –3 +/
Сообщение от anonymous (??), 30-Июл-21, 11:18 
Ты забыл уточнить кое-что важное - пишешь хэлворды за бесплатно. Интересно, какой в этом смысл?
Ответить | Правка | Наверх | Cообщить модератору

442. "Выпуск языка программирования Rust 1.54"  +1 +/
Сообщение от Аноним (442), 30-Июл-21, 21:09 
Себя проецируешь, себя и спрашивай ;)
Ответить | Правка | Наверх | Cообщить модератору

55. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Хан (?), 29-Июл-21, 23:26 
Брат жив?
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

127. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от adolfus (ok), 30-Июл-21, 02:18 
Спецификация этого раста существует? Строгое описание синтаксиса, ситуации неопределенного поведения, особенности функционирование в среде, автономное функционирование? Срок поддержки текущих спецификаций какой? Вот все современные компиляторы языка С спокойно и без каких-либо проблем компилируют код, написанный в начале 80-х и содержащий кучу вызовов библиотечных функций, включая лонгджампы и сложный форматный ввод/вывод. Код не менялся около сорока лет и сегодня используется без какой-либо доработки в том виде, в котором использовался с самого начала.
Аналолгично и с C++ -- код, написанный в начале 90-х и компилировавшийся semantic C++ и topspeed C++ без проблем сегодня компилируется и собирается с помощью g++. Как обстоит дело с этим у раста? Ныне написанный код скомпилируется в 2035 году? Или нужно будет искать программиста, чтобы он апедйтил исходники от версии к версии этого раста?

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

181. "Выпуск языка программирования Rust 1.54"  +1 +/
Сообщение от Хан (?), 30-Июл-21, 03:40 
Даже видео на эту тему Страуструп запи ывал))) но вы ни понимаете это другое
Ответить | Правка | Наверх | Cообщить модератору

299. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноним (299), 30-Июл-21, 10:08 
Правда? А чего для многих проектов указывают конкретные версии компиляторов?
Ибо на последних оно не соберется
Ответить | Правка | К родителю #127 | Наверх | Cообщить модератору

311. "Выпуск языка программирования Rust 1.54"  +1 +/
Сообщение от anonymous (??), 30-Июл-21, 11:21 
Я тебе сектрет открою, там указывают _протестированные_ компиляторы и их версии.
Ответить | Правка | Наверх | Cообщить модератору

620. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от anonymous (??), 02-Авг-21, 11:56 
Вообще-то если даже взять один и тот же компилятор Си (одной и той же версии) и попробовать собрать (и запустить) проект в других условиях (например, другая ОС), то уже вылезает тонна проблем. А если ещё и версию поменять, то ещё выползут. А если ещё и другой компилятор взять, то ещё выползут. Как минимум тупо разные UB создадут проблем. Я уж не говорю про такие мелочи, как -Werror делает тонну проектов не собираемых почти всегда (а без этого флага в коде копится ещё больше UB).

Но даже если забить на это, тут ещё проблема в том, что язык превращён в свалку (особенно последние С++).

Кстати говоря, не помню, чтобы в Go был стандарт, но там как раз без проблем можно собирать (и запускать) старые проекты.

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

624. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Совершенно другой аноним (?), 02-Авг-21, 12:41 
> Вообще-то если даже взять один и тот же компилятор Си (одной и
> той же версии) и попробовать собрать (и запустить) проект в других
> условиях (например, другая ОС), то уже вылезает тонна проблем.

Э.. а они точно вылезут из-за компилятора, а не, например, наличия библиотек, или настроек, сделанных при сборке самого компилятора? У нас есть самодельная прошивка, которая собирается GCC разных версий, и при сборке под Linux пришлось только добавлять -fleading-underscore, т.к. в сборке GCC она по-умолчанию выставлена для Windows, а для Linux нет.

> А если ещё и версию поменять, то ещё выползут. А если ещё и
> другой компилятор взять, то ещё выползут.

Вы точно говорите про компилятор C?

> Как минимум тупо разные UB создадут проблем. Я уж не говорю про такие мелочи, как -Werror
> делает тонну проектов не собираемых почти всегда (а без этого флага
> в коде копится ещё больше UB).

И часто Вы встречаете эти UB? Имхо, про них обычно узнают, когда что-то падает, и в итоге выясняется - да, здесь программист положился на UB, а в другой аппаратной платформе/другом компиляторе оно работает (или не работает) по-другому.

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

270. "Выпуск языка программирования Rust 1.54"  –3 +/
Сообщение от Брат Анон (ok), 30-Июл-21, 08:43 
Что только люди не сделают. Лишь нормальные языки не учить.Согласен переход с извращения на другое извращение -- несколько разнообразит боль.
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

478. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноним (24), 31-Июл-21, 00:05 
А какие есть нормальные с производительностью уровня раста / c++?
И такие, чтоб популярные, а не ним или кристал
Ответить | Правка | Наверх | Cообщить модератору

564. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Брат Анон (ok), 01-Авг-21, 08:39 
> А какие есть нормальные с производительностью уровня раста / c++?
> И такие, чтоб популярные, а не ним или кристал

При чём тут производительность? Если в С++ проблемы с текущей памятью, а в расте с концептуальной перегруженностью (и это только начало) -- как это поможет в написании надёжного софта?

Что ним, что кристалл -- одинаковые поделки любителей, попытка подражания мейнстриму.

Хочешь глоток свежего воздуха? Смотри в сторону Обероно-подобных языков. Например, MultiOberon. Если хочешь зашаливающей производительности -- посмотри на тесты варианта Оберона "Vostok". Там тебе и десктоп, и JVM, и ведроид. Ты сожешь попробовать Оберон прямо сейчас в песочнице браузера. Ссылки гуглятся на раз.

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

571. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноним (571), 01-Авг-21, 11:06 
Обероны с GC  поэтому конкуренты не для раста а для Go и D.
Ответить | Правка | Наверх | Cообщить модератору

587. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Брат Анон (ok), 01-Авг-21, 21:04 
> Обероны с GC  поэтому конкуренты не для раста а для Go
> и D.

Кто тебе такую чушь сказал? В 60% реализаций Оберонов нет никакого GC. Оберон успешно запускают (лично я, например), на STM32F4T6. Там памяти, простите за мой французский -- с гулькин нос. Какой там GC? именно в этом и сила Оберонов -- хочешь будет тебе GC, не хочешь -- не будет. Ещё обращу твоё внимание анон: в варианте "Vostok" Оберон откровенно нагибает С++ и заставляет нервничать Си. См. тесты в блогпосте от ComDiv. Ещё раз специально для тебя повторю: на Оберонах написан под десяток операционных систем. Сколько операционных систем написано на Расте, которые испольуются в боевых самолётах, типа "Еврофайтера"? Или сколько управляющих систем на Расте используется на Ростовской атомной станции? На подстанции 110 кВ (как в Калининграде)? Или при управлении БПЛА? Ты пишешь с умным видом глупости по теме, которой совершенно не знаешь.

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

615. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноним (571), 02-Авг-21, 11:13 
> В 60% реализаций Оберонов нет никакого GC

Ссылку можно хоть на одну реализацию и чтобы там прямо говорилось что без GC. А то гугль наоборот больше подсовывает ссылки как оберон умеет в GC даже в ядерном коде.

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

656. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Брат Анон (ok), 04-Авг-21, 08:34 
> Ссылку можно хоть на одну реализацию и чтобы там прямо говорилось что
> без GC. А то гугль наоборот больше подсовывает ссылки как оберон
> умеет в GC даже в ядерном коде.

Достаточно на сайте Вирта почитать сообщение  о языке. Там ни слова нет о GC. Я тебе даже дам ссылку на русский перевод. Плохо ищешь.

https://github.com/Spirit-of-Oberon/ProjectOberon2013 -- виртовский Оберон, даже с эмулятором. Нет GC.

https://github.com/AntKrotov/oberon-07-compiler -- работает на ТРЁХ осях. Нет GC.

https://docs.google.com/document/d/14-KQD4UT0_Xd_s7kVHVKa6tx... -- перевод на русский язык, где GC даже не упоминается.

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

658. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноним (658), 04-Авг-21, 13:33 
>виртовский Оберон, даже с эмулятором. Нет GC.

Есть GC https://github.com/Spirit-of-Oberon/ProjectOberon2013/blob/m...

>работает на ТРЁХ осях. Нет GC.

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

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

Тут http://www.projectoberon.com/ в pdfках много раз упоминается.

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

659. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Брат Анон (ok), 05-Авг-21, 09:02 
>>виртовский Оберон, даже с эмулятором. Нет GC.
> Есть GC https://github.com/Spirit-of-Oberon/ProjectOberon2013/blob/m...

Хм. Что-то новенькое. Когда последний раз смотрел -- не было. Как по мне -- даже хорошо.

>>работает на ТРЁХ осях. Нет GC.
> Тут да нет, но это не полноценная реализация оберона, код на него
> легко переносим не будет, сразу потечет. И из-за отсутствия GC нет
> одного из самых любых пропагандистами оберон фич - динамической модульности. Про
> компонентное программирование тоже можно сразу забыть.

Код будет перенесён легко. Три оси это доказывают. Динамической модульности нет, да.
Но это не функция языка -- это функция системы. Наоборот, чем меньше фич в ЯЗЫКЕ -- тем легче перенос. Компонентное программирование реализуется не через язык,а через среду. BBCB тебе в помощь.
Если ты внимательно прочитал описание -- там на нормальном буржуйском языке написано, что это не коммерческий вариант. Пацанчег его запили в одну харю. Попробую запили в одну харю Аду или ржавого. Ещё раз отдельно отмечу: существует ДВА ДЕСЯТКА реализаций Оберона одиночками. Переносимость у Оберона -- кратно выше, чем в Си. Зависимость от железа -- нулевая. Именно это главная фича Оберона, а не GC или динамическая модульность.

>>перевод на русский язык, где GC даже не упоминается.
> Тут http://www.projectoberon.com/ в pdfках много раз упоминается.

Нет. Нигде не упоминается обязательность GC. См. реализацию Оберона на основе виртовского от AIXP -- там всё также нет GC.

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

665. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноним (665), 06-Авг-21, 11:11 
>Хм. Что-то новенькое. Когда последний раз смотрел -- не было. Как по мне -- даже хорошо.

Судя по пдфкам последний раз 8 лет назад обновленным, оно там всегда было.

>Код будет перенесён легко. Три оси это доказывают

Я про перенос кода с других реализаций оберона, а там GC и все на этой реализации тупо утекет.

>Попробую запили в одну харю Аду или ржавого.

В свое время в одиночку форт пилил, ничего сложного в пилении примитивных языков не вижу.

>Ещё раз отдельно отмечу: существует ДВА ДЕСЯТКА реализаций Оберона одиночками.

Фортов и лиспов еще больше было, часто плохо совместимых, похоже тут та же болезнь.

>Нет. Нигде не упоминается обязательность GC.

Это очень плохо. Теперь более понятна стала для меня непопулярность оберонов. Вообще как-то раньше ставил побаловаться xds oberon,  его умения оптимизации кода тогда впечатлили.

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

650. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноним (246), 03-Авг-21, 08:55 
Если уж говорить о промышленных языках, на которых написано вот всякое такое, то это Ada.

А оберон это для узкого круга фанатов, он слишком уж вещь в себе.

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

657. "Выпуск языка программирования Rust 1.54"  +2 +/
Сообщение от Брат Анон (ok), 04-Авг-21, 08:39 
> Если уж говорить о промышленных языках, на которых написано вот всякое такое,
> то это Ada.
> А оберон это для узкого круга фанатов, он слишком уж вещь в
> себе.

Нет. Ада это полукоммерческий продукт, который в ардуино ты не запихнёшь при всём желании.
Узкий круг фанатов Оберона, ещё раз для уяснения: фазированная антенная решётка основного боевого самолёта Евросоюза -- "Еврофайтер", швейцарский национальный центр управления дорожным движением. процессинговый центр "Дойчебанка", диспетчерский центр управления каскадом ГРЭС на Амазонке, подсистема резервирования телеметрии на Ростовской АЭС, управляющая программа БПЛА (в России, гуглится на раз), подсистема дорасчёта электрических параметров ПС 110 кВ "Восточная-1" Калининград, система диспетчерского управления перерабатывающих заводов в Орле(2 шт, Мираторг),символьная система расчёта проблемы дефекта массы нейтрино (объединённый центр ядерных исследований, Дубна), комплекс приборов для исследования эффекта люминисценции в биологических растворах (Новосибирск), основы преподавания программирования (клуб "Байтик", Троицк), кружок программирвоания для детей при Новосибирском государственном федеральном университете.

В каком месте это узкий круг фанатов? В каком месте тут хоть раз использована Ада? Пишешь то, о чём не имеешь ни малейшего понятия. Попробуй детям попреподавать Аду -- я на тебя посмотрю. Вот те самые детишки, что освоили Оберон -- будут программировать на нём ВСЁ, и уних не будет болеть голова от концепции владения раста (с его диким синтаксисом) и не думая о том, что такое адресная арифметика, как не поломать память, и всякие низкоуровневые вещи. Но при этом, при необходимости -- всего могут спуститься на аппаратный уровень. Один язык для всегда -- это технологическое преимущество перед всеми остальными, кто сначала учит Васик, потом Паскаль, потом С++, а когда приходят на работу -- оказывается надо было учить питон или пхп какой-нибудь. На Обероне -- для программирования железа даже ассемблер не нужен, как отдельная сущность. Собственно, как отдельной сущности -- ассемблера в Обероне и нет (в отличии от Си, который в ассемблере всё же нуждается -- в сущности, второй язык).

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

660. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Совершенно другой аноним (?), 05-Авг-21, 10:16 
> На Обероне -- для программирования железа даже ассемблер не нужен, как
> отдельная сущность. Собственно, как отдельной сущности -- ассемблера в Обероне и
> нет (в отличии от Си, который в ассемблере всё же нуждается
> -- в сущности, второй язык).

Если не сложно изложите по-подробнее - как Вы без ассемблера сможете в регистре CR0 установить соответствующий бит для перехода в защищенный режим? или загрузить регистр GDTR таблицы GDT?

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

663. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Брат Анон (ok), 06-Авг-21, 09:03 
> Если не сложно изложите по-подробнее - как Вы без ассемблера сможете в
> регистре CR0 установить соответствующий бит для перехода в защищенный режим? или
> загрузить регистр GDTR таблицы GDT?

Оберон -- это ЯВУ. Ему плевать какие есть регистры в процессоре, потому что это уже не ЯВУ. А если таки руки чешутся добраться до железа (за что в Оберонах придётся мягко говоря серьёзно держать ответ перед тимлидом за такие выкрутасы) -- для этого во всех Оберонах есть псевдомодуль SYSTEM (который позволяет творить с железом что угодно и для безопасности -- импорт этого модуля легко детектируется анализатором исходников). SYSTEM (* если прям очень сильно хочется *) может содержать ассемблер, но в сущности -- он просто не нужен.  Манипуляцию с байтами в машинной памяти берёт на себя компилятор (у которого есть высокоуровневые сущности от железа, что существенно снижает вероятность косяков, но не даёт ложную уверенность программисту, что всё будет ништяк).

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

664. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Совершенно другой аноним (?), 06-Авг-21, 10:13 
>> Если не сложно изложите по-подробнее - как Вы без ассемблера сможете в
>> регистре CR0 установить соответствующий бит для перехода в защищенный режим? или
>> загрузить регистр GDTR таблицы GDT?
> Оберон -- это ЯВУ. Ему плевать какие есть регистры в процессоре, потому
> что это уже не ЯВУ.

Ну, несмотря на то, что C до недавнего времени тоже был ЯВУ, и там для повседневной работы тоже не нужно было знать регистры, но мы вроде как про программирование железа - а там, как-раз эти регистры и есть, какие в процессоре, какие отображенные на память (иногда с хитрым поведением, когда для обнуления каких-то определённых бит надо именно эти биты записать в регистр, а иногда, которые просто обнуляются по факту чтения из данного регистра), а какие (в архитектуре 8086+) отображенные на специальное пространство ввода-вывода, к которому доступ идёт спец-командами (in/out).

> но в сущности -- он просто не нужен.  Манипуляцию с
> байтами в машинной памяти берёт на себя компилятор (у которого есть
> высокоуровневые сущности от железа, что существенно снижает вероятность косяков, но не
> даёт ложную уверенность программисту, что всё будет ништяк).

Всё-же не совсем понятно, как Вы можете не используя ассемблер, установить в регистре CR0, бит 0, чтобы перевести процессор в защищенный режим процессора. На память этот регистр не отображается. Ну или всякие взаимодействия с отладочными регистрами DR (мы-же вся так-же про программирование железа, в том числе и настроек самого процессора).

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

671. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Брат Анон (ok), 09-Авг-21, 08:55 
> Ну, несмотря на то, что C до недавнего времени тоже был ЯВУ,...

Си никогда не был ЯВУ.

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

Поэтому Си не ЯВУ.

> Всё-же не совсем понятно, как Вы можете не используя ассемблер, установить в
> регистре CR0, бит 0, чтобы перевести процессор в защищенный режим процессора.

Откройте для себя машинные команды.


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

672. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Совершенно другой аноним (?), 09-Авг-21, 09:20 
>> Ну, несмотря на то, что C до недавнего времени тоже был ЯВУ,...
> Си никогда не был ЯВУ.

гм.. вообще-то был, до того, как пошли C++/Java.

>> и там для повседневной работы тоже не нужно было знать регистры,
> Поэтому Си не ЯВУ.

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

Как Вы из этого вывели, что C не ЯВУ? или под ЯВУ Вы понимаете что-то другое?

>> Всё-же не совсем понятно, как Вы можете не используя ассемблер, установить в
>> регистре CR0, бит 0, чтобы перевести процессор в защищенный режим процессора.
> Откройте для себя машинные команды.

какие-такие машинные команды, и как можно вписать в программу на Обероне? или как в старых ассемблерах, которые не поддерживали некоторые новые команды лепили что-то типа:

        db 0eah
        dw 0
        dw entry

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

630. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноним (630), 02-Авг-21, 14:53 
За него уже деньги платят? Трудяг реальных для интересных и стабильных работ ищут?
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

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

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




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

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