Хорошая ли идея связаться с Rust?
От: Shmj Ниоткуда  
Дата: 28.10.23 09:03
Оценка: :)
Вопрос такой. Вот пока в говно не влезешь — оно может выглядеть конфеткой. Ведь все так хвалят. Но как вам это:

  Скрытый текст


Тут: https://github.com/rxRust/rxRust/blob/master/src/observable.rs#L1134-L1142


Какой-то душок уже чувствуется.
Re: Хорошая ли идея связаться с Rust?
От: ArtDenis Россия  
Дата: 28.10.23 09:55
Оценка: +1
Здравствуйте, Shmj, Вы писали:

S>Вопрос такой. Вот пока в говно не влезешь — оно может выглядеть конфеткой. Ведь все так хвалят. Но как вам это:

S>Какой-то душок уже чувствуется.

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

observable::from_iter(vec![3., 4., 5., 6., 7.])
    .average()
    .subscribe(|v| println!("{}", v));
[ 🎯 Дартс-лига Уфы | 🌙 Программа для сложения астрофото ]
Re: Хорошая ли идея связаться с Rust?
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 28.10.23 10:09
Оценка: 7 (3) +2 -2 :)))
Здравствуйте, Shmj, Вы писали:

S>Хорошая ли идея связаться с Rust?


Лично я считаю, что для работодателя спонсирующего проект лучший выбор это Си или C++. Тоже самое для независимого программиста. Если по каким-то причинам работодатель выбирает иную технологию и готов за неё платить, то знающему программисту нет повода отказываться от этой работы.

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

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

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

Я ведь не то, что какой-то предусмотрительный, или там начитался Ричарда Столлмана. Просто два десятилетия назад под воздействием маркетологов я тоже лоханулся в выборе и поделился своим видением. Надо было оставаться с двухтысячных на C++, а учиться алгоритмам на Си, а не болтаться как говно в проруби.

Даже маркетолог тебе скажет, посмотри, программисты же дебилы допускают утечки памяти. А вот возьми чудо язык и даже обезьяна напишет "Войну и мир". Но откуда берутся эти недоучки обезьяны. А всё потому что куча языков и до программирования даже порой дело не доходит.

Каждый кричит используй меня, но почему-то приложения которые я использую в основном написаны на Си или C++. Если говорить о теориях заговора, то я вообще считаю, что корпораты специально создают свои языки программирования и продвигают их, чтобы помешать развиваться всем остальным разработчикам.

Да, со мной уже спорили и по этому поводу. Типа ко ко ко, ты не прав, корпорации добра продвигают свои языки программирования ради всеобщего счастья и блага на Земле, а не для того, чтобы тебя контролировать и уничтожить как возможного конкурента. Так вот и живём.

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

Так почему же мы говорим своё настоящее мнение, а не строим подлянки для своих коллег. Ещё некоторые и спорят, типа в интернете кто-то не прав, не могу спать, буду переписываться всю ночь чтобы победить в споре. Но никакого спора нет, наступила эра толерастии, хочешь использовать Rust, используй.
Re: Хорошая ли идея связаться с Rust?
От: Разраб  
Дата: 28.10.23 11:56
Оценка: :)
Здравствуйте, Shmj, Вы писали:

S>Вопрос такой. Вот пока в говно не влезешь — оно может выглядеть конфеткой. Ведь все так хвалят. Но как вам это:


  Скрытый текст
Image: 6d4c231694dcf971f2a3ee895fb5a3fa.png

Тут: https://github.com/rxRust/rxRust/blob/master/src/observable.rs#L1134-L1142

не хуже на мой взгляд чем это
  ++
#include "rxcpp/rx.hpp"
namespace Rx {
using namespace rxcpp;
using namespace rxcpp::sources;
using namespace rxcpp::operators;
using namespace rxcpp::util;
}
using namespace Rx;

#include <regex>
#include <random>
using namespace std;
using namespace std::chrono;

int main()
{
    random_device rd;   // non-deterministic generator
    mt19937 gen(rd());
    uniform_int_distribution<> dist(4, 18);

    // for testing purposes, produce byte stream that from lines of text
    auto bytes = range(0, 10) |
        flat_map([&](int i){
            auto body = from((uint8_t)('A' + i)) |
                repeat(dist(gen)) |
                as_dynamic();
            auto delim = from((uint8_t)'\r');
            return from(body, delim) | concat();
        }) |
        window(17) |
        flat_map([](observable<uint8_t> w){
            return w |
                reduce(
                    vector<uint8_t>(),
                    [](vector<uint8_t> v, uint8_t b){
                        v.push_back(b);
                        return v;
                    }) |
                as_dynamic();
        }) |
        tap([](const vector<uint8_t>& v){
            // print input packet of bytes
            copy(v.begin(), v.end(), ostream_iterator<long>(cout, " "));
            cout << endl;
        });

    //
    // recover lines of text from byte stream
    //
    
    auto removespaces = [](string s){
        s.erase(remove_if(s.begin(), s.end(), ::isspace), s.end());
        return s;
    };

    // create strings split on \r
    auto strings = bytes |
        concat_map([](vector<uint8_t> v){
            string s(v.begin(), v.end());
            regex delim(R"/(\r)/");
            cregex_token_iterator cursor(&s[0], &s[0] + s.size(), delim, {-1, 0});
            cregex_token_iterator end;
            vector<string> splits(cursor, end);
            return iterate(move(splits));
        }) |
        filter([](const string& s){
            return !s.empty();
        }) |
        publish() |
        ref_count();

    // filter to last string in each line
    auto closes = strings |
        filter(
            [](const string& s){
                return s.back() == '\r';
            }) |
        Rx::map([](const string&){return 0;});

    // group strings by line
    auto linewindows = strings |
        window_toggle(closes | start_with(0), [=](int){return closes;});

    // reduce the strings for a line into one string
    auto lines = linewindows |
        flat_map([&](observable<string> w) {
            return w | start_with<string>("") | sum() | Rx::map(removespaces);
        });

    // print result
    lines |
        subscribe<string>(println(cout));

    return 0;
}
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[2]: Хорошая ли идея связаться с Rust?
От: Константин Б. Россия  
Дата: 28.10.23 18:24
Оценка: +1 :))) :))
Здравствуйте, velkin, Вы писали:

V>В конце концов ущерб понесёт работодатель, а не наёмный программист. На иных технологиях работодатель столкнётся с отсутствием кроссплатформенности, готовых библиотек алгоритмов, в некоторых случаях зависимостью от поставщика и многим другим.


Ущерб понесет пользователь когда из-за очередной уязвимости словит вирус-шифровальщик.
Кроссплатформенность и библиотеки это тоже не сильные стороны C и C++
Re[3]: Хорошая ли идея связаться с Rust?
От: ononim  
Дата: 28.10.23 20:38
Оценка: +5 -1
КБ>Ущерб понесет пользователь когда из-за очередной уязвимости словит вирус-шифровальщик.
КБ>Кроссплатформенность и библиотеки это тоже не сильные стороны C и C++
Как много веселых ребят, и все делают велосипед...
Re: Хорошая ли идея связаться с Rust?
От: vsb Казахстан  
Дата: 28.10.23 21:28
Оценка: 1 (1) +2
Ну мне нравится. Я ничего в Rust не понимаю и я даже способен понять общий смысл того, что тут написано. По-моему это не душок, это успех.

Напиши тот же код на другом языке со сходными возможностями. C++ или Haskell. И тогда можно попробовать сравнить.

По сути тут задача не тривиальная же.
Re[3]: Хорошая ли идея связаться с Rust?
От: Carc Россия https://vk.com/gosha_mazov
Дата: 29.10.23 00:06
Оценка: +2
Здравствуйте, Константин Б., Вы писали:

КБ>Здравствуйте, velkin, Вы писали:


V>>В конце концов ущерб понесёт работодатель, а не наёмный программист. На иных технологиях работодатель столкнётся с отсутствием кроссплатформенности, готовых библиотек алгоритмов, в некоторых случаях зависимостью от поставщика и многим другим.


КБ>Ущерб понесет пользователь когда из-за очередной уязвимости словит вирус-шифровальщик.

А причем тут вирус-шифровальщик и языки программрования? Какая между ними связь?
Aml Pages Home
Re[2]: Хорошая ли идея связаться с Rust?
От: CreatorCray  
Дата: 29.10.23 04:10
Оценка:
Здравствуйте, Разраб, Вы писали:

Р>не хуже на мой взгляд чем это

Тут какой то псих пишет LINQ-style кашу.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[3]: Хорошая ли идея связаться с Rust?
От: Разраб  
Дата: 29.10.23 04:38
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Здравствуйте, Разраб, Вы писали:


Р>>не хуже на мой взгляд чем это

CC>Тут какой то псих пишет LINQ-style кашу.
ну как псих. The Reactive Extensions for Native (RxCpp) is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators in both C and C++.
, те что в десятке мэйнстримных языков реализованы.
Я к тому, что не язык определяет человека, а наоборот.
Вот для меня кол-во концепций ++ слишком велико.
В расте хотя бы инструменты единые, понятные сообщения компилятора.
а ++ я даже не понял какие нужны чтобы модули заюзать под линуксом.
а по синтаксису они могут соревноваться.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[4]: Хорошая ли идея связаться с Rust?
От: Doom100500 Израиль  
Дата: 29.10.23 06:45
Оценка: +3
Здравствуйте, Разраб, Вы писали:

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


CC>>Здравствуйте, Разраб, Вы писали:


Р>>>не хуже на мой взгляд чем это

CC>>Тут какой то псих пишет LINQ-style кашу.
Р>ну как псих. The Reactive Extensions for Native (RxCpp) is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators in both C and C++.
Р>, те что в десятке мэйнстримных языков реализованы.
Р>Я к тому, что не язык определяет человека, а наоборот.
Р>Вот для меня кол-во концепций ++ слишком велико.
Р>В расте хотя бы инструменты единые, понятные сообщения компилятора.
Р>а ++ я даже не понял какие нужны чтобы модули заюзать под линуксом.
Р>а по синтаксису они могут соревноваться.

Так-то в ОП было перечисление ограничений типов, а сама статья писала нытьё про то, как это надо копипастить от impl до impl.
А твой пример — это лютая функциональщина, на js похожая. Это реализовали почти все языки, и, как по мне, везде выглядит как говно (но мнения, конечно, бывают разные).

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

:)
Спасибо за внимание
Отредактировано 29.10.2023 6:54 Doom100500 . Предыдущая версия . Еще …
Отредактировано 29.10.2023 6:51 Doom100500 . Предыдущая версия .
Re[2]: Хорошая ли идея связаться с Rust?
От: Shmj Ниоткуда  
Дата: 29.10.23 07:57
Оценка: :)
Здравствуйте, vsb, Вы писали:

vsb>Ну мне нравится. Я ничего в Rust не понимаю и я даже способен понять общий смысл того, что тут написано. По-моему это не душок, это успех.


А вот вы для себя просто поймите этот пример: https://doc.rust-lang.ru/book/ch20-01-single-threaded.html и https://doc.rust-lang.ru/book/ch20-02-multithreaded.html

Там интересная книга — итог обучения — как бы этот пример. Но можно пойти от обратного — смотрите пример и спрашивайте GPT все, что вам не понятно. Поймете этот пример — уже будет понятно 95% всего кода на Rust.

Мое недовольство было — по количеству бойлерплейт кода.
Отредактировано 29.10.2023 7:57 Shmj . Предыдущая версия .
Re[4]: Хорошая ли идея связаться с Rust?
От: CreatorCray  
Дата: 29.10.23 08:56
Оценка:
Здравствуйте, Разраб, Вы писали:

CC>>Тут какой то псих пишет LINQ-style кашу.

Р>ну как псих.
На С++ писать функциональщину — это mental disorder
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[5]: Хорошая ли идея связаться с Rust?
От: Shmj Ниоткуда  
Дата: 29.10.23 09:07
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>>>Тут какой то псих пишет LINQ-style кашу.

Р>>ну как псих.
CC>На С++ писать функциональщину — это mental disorder

А что там такого ужасного? Разница лишь в форме записи и к этому можно привыкнуть.
Re[3]: Хорошая ли идея связаться с Rust?
От: T4r4sB Россия  
Дата: 29.10.23 09:31
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Мое недовольство было — по количеству бойлерплейт кода.


Покажи аналог на С++. Чтоб в заголовке шаблона были описаны все необходимые и достаточные ограничения на типы, которые в него можно подставлять (кажется, "концепт" называется).
Просто утиный шаблон не предлагать, потому что нечитаемых ошибок компиляции от govno compiler collection я насмотрелся.
Re[2]: Хорошая ли идея связаться с Rust?
От: kov_serg Россия  
Дата: 29.10.23 09:56
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Напиши тот же код на другом языке со сходными возможностями. C++ или Haskell. И тогда можно попробовать сравнить.

vsb>По сути тут задача не тривиальная же.

o_O вычисление среднего не тривиальная задача?
Re[6]: Хорошая ли идея связаться с Rust?
От: CreatorCray  
Дата: 29.10.23 09:59
Оценка:
Здравствуйте, Shmj, Вы писали:

S>А что там такого ужасного? Разница лишь в форме записи и к этому можно привыкнуть.

Это примерно как define нафигачить и на плюсах писать как на паскале, с begin/end.
Работать то будет, но нафига???
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re: Хорошая ли идея связаться с Rust?
От: student__  
Дата: 29.10.23 10:23
Оценка: :)))
В детстве был хорошим мальчиком, но начал писать на Расте, связался со смузихлёбами и покатился...
Re[5]: Хорошая ли идея связаться с Rust?
От: student__  
Дата: 29.10.23 10:25
Оценка: +1
Здравствуйте, CreatorCray, Вы писали:
CC>На С++ писать функциональщину — это mental disorder

Поправил. Можешь не благодарить.
Re[4]: Хорошая ли идея связаться с Rust?
От: Константин Б. Россия  
Дата: 29.10.23 11:37
Оценка: :))) :)
Здравствуйте, Carc, Вы писали:

C>Здравствуйте, Константин Б., Вы писали:


C>А причем тут вирус-шифровальщик и языки программрования? Какая между ними связь?


Код на си — ошибки работы с памятью — уязвимости — ransomware.

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