Забавные новости 0й-Ti :)

Тема в разделе "WASM.HEAP", создана пользователем UbIvItS, 18 июн 2018.

  1. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.087
    а где же истеричные вопли о переполнение буфера???? такие порты переводят редокс в сишную категорию осей.. в сугубо сишную:)
     
  2. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.250
    Helix, кстати, в основном на Ржавом написан. Cosmic по сути тоже, если имеется ввиду та версия, что отвязана от гномов, а не старая. Я уже писал, что нужно проверять информацию прежде, чем идти с ней ныть на форум.

    Вопрос в ядре, переписать вообще весь софт на невсратых языках не представляется возможным.
     
  3. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.329
    А че так? Это же быстро и безопасно, не надо как в сях обо всяких мелочах думать. Говоришь, вон, копилоту "напиши мне текстовый редактор типа ворда" и только успевай терабайты под рог изобилия подставлять... :)
     
    UbIvItS нравится это.
  4. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.087
    Rel, открываем сорцы...
    Код (Text):
    1.  let library = unsafe { Library::new(&library_path) }
    2.         .with_context(|| format!("Error opening dynamic library {:?}", library_path))?;
    3.     let language_fn_name = format!("tree_sitter_{}", name.replace('-', "_"));
    4.     let language = unsafe {
    5.         let language_fn: Symbol<unsafe extern "C" fn() -> Language> = library
    6.             .get(language_fn_name.as_bytes())
    7.             .with_context(|| format!("Failed to load symbol {}", language_fn_name))?;
    8.         language_fn()
    9.     };
    10. //https://github.com/helix-editor/helix/blob/master/helix-loader/src/grammar.rs
    скажу Тебе больше == на гламурных яп-ах а-ля ржака вообще почему-то ничего особенного написать невозможно:laugh1::laugh2::laugh3: можь всё дело в том, что с богомерзкой сихой упираешься в лимиты самой жестянки, а с той же ржакой бьёшься башкой о её парадигму и практически либо пишешь сишкой на препроцессоре ржаки / либо тупо вызываешь корневые сишные функи в ансейфах:blush2:
     
  5. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.250
    И что? Если ты не в курсе, что такое tree_sitter и для чего он нужен Хеликсу, то я тут причем, и причем тут Ржавый? Никто никому не запрещает использовать сторонние библиотеки, не понимаю, почему очевидную вещь так сложно понять.

    Ты так говоришь, как будто на цэ чего-то особенного можешь написать.
    --- Сообщение объединено, 3 фев 2024 ---
    Вообще, надо завести тренд среди девелоперов, мол если хочешь быть особенным, то пиши на Цэ! Не на Цэ ничего особенного написать невозможно...
    --- Сообщение объединено, 3 фев 2024 ---
     
    Последнее редактирование: 3 фев 2024
  6. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.427
    Адрес:
    Россия, Нижний Новгород
    UbIvItS, ты же сам себе противоречишь. По твоей ссылке 600-строчный файл, в котором только три слова unsafe, и те именно в твоих девяти строчках.
    То есть, у нас 591 строчка безопасного pure-Rust кода, а 9 строчек - небезопасная FFI-обёртка для tree-sitter. Слабенький аргумент.
    Чтобы доказывать битьё башкой о парадигму, надо искать примеры, где на unsafe написано хотя бы процентов 30. Думаю, даже в змейке ансейфа меньше.

    А здесь ещё неясно, где грань этого "чего-то особенного".
    Вот, например, один из самых используемых растовских веб-серверов: https://github.com/tokio-rs/axum

    upload_2024-2-3_13-21-31.png

    31 миллион установок за всё время, семь с половиной - недавние.
    В принципе, можно считать этот проект значимым или хотя бы заметным.

    Смотрим на гитхаб:
    upload_2024-2-3_13-23-28.png

    То есть, внутри нет unsafe-блоков. Вообще ни одного. Как же он его сумел написать, если, по твоим словам, ничего особенного на нём написать невозможно?

    Но Axum построен на библиотеке Hyper (125 миллионов загрузок за всё время и 15 миллионов недавно), которая уже не декларирует forbid(unsafe_code). Наверно там-то ансейфы кишмя кишат?
    Смотрим: https://github.com/search?q=repo:hyperium/hyper unsafe&type=code
    Вроде нет, 34 ансейфа на всю библиотеку.

    Так что нет, аргументы не аргументы, давай ищи что-то, где открываешь рандомный файл, и у тебя всё лицо в ансейфах.
     
  7. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    562
    Ещё один камень в огород питухония.

    Именно прототипирование по мне проще делать на JS, чем на этом мерзком питухонии. Ну переоценённый безполезный ЯП, от которого если бы не избавится, то требо снизить популярность.
    На JS код проще, и потом его легче переделать в С++ если требуется.
     
  8. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.250
    Просто оставлю это здесь:
    https://github.com/denysdovhan/wtfjs
     
  9. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.427
    Адрес:
    Россия, Нижний Новгород
    Ну нет, если лично тебе не нравится - это же не значит, что ЯП переоценён и бесполезен.
    JS - это язык конечной разработки. Писать на нём пользовательские скрипты (как на баше или на том же питоне) или юзать REPL в принципе можно, но просто неудобно.
    И всякие мелочи, которые могут быть существенными, типа отсутствия целых чисел без костылей.
    --- Сообщение объединено, 3 фев 2024 ---
     
  10. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.087
    интересно это аким дикобразом я умудрился сразу попасть на эти "редкие" строчки :) потом что Ты понимаешь под понятием "сейф код"??? тупо напихать чекеров в цикл совсем не делает код безопасным..
    1. увеличиваем угрозу обрушить стек.
    2. делаем код более медленным.
    3. увеличиваем расход батареи.
    =====
    это так - навскидку. а можем ещё вспомнить арифметику циклов...

    loop { // 101%
    loop{ // (101%)2 == 102%
    ....
    }
    }
    ========
    то бишь при росте лага в верхнем цикле всего лишь на процент у следующего вложенного цикла получаем 2%. арифметика простая:[math] \frac{\displaystyle 101^{2}}{\displaystyle 100}= 102.01%[/math] и замечу особо, это расчёт минимального роста ТОРМОЗУХИ :grin:
    потом все ржака бинари не компилятся без libc.. как бы на редоксе такой зависимости быть не должно, но порты сишного кода делают редокс сишным и всё больше сишного кода будет появляться именно на редоксе, пч он (сишный код) дешевле и надёжней :grin:
     
  11. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.250
    Да-да, клятый читер Хошемин, делая свою змейку, просто вкомпилил либцэ и никому не сказал.

    То-то я смотрю, адепты Ржавого все свои софты называют "blazingly fast", они то, наверное, не в курсе просто, что у них все вложенные циклы тормозят на 2 процента, надо тебе срочно пойти им всем об этом рассказать.
     
  12. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.087
    ох-уж этот Rel ё-моЁ :)
     
  13. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.250
    Вот тупые твитторные пориджи, вместо того, чтобы ловить сегфолты на своем кэш-сервере на Цэ, как настоящие спецы, они вструхнули и переписали все на Ржавом... Наверное, не слыхали, что все их циклы теперь на целых 2 процента медленнее будут.

    --- Сообщение объединено, 4 фев 2024 ---
    Ну что? Всё, конец всему? Добро пожаловать в ужасное будущее, где Цэ оказывается не нужон: https://github.com/microsoft/windows-drivers-rs - мелкомягкие пориджи сделали библиотеку для написания драйверов на Ржавом.
     
  14. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.427
    Адрес:
    Россия, Нижний Новгород
    На самом деле, их две.
    Первый порт WDK лежит в windows-rs (официальный порт WinAPI) - там генерируют биндинги на основе метаданных: там в одном крейте сразу и юзермодные апи, и ядерные. В build.rs подлинковываем ntoskrnl.lib, меняем тип на драйвер - получается… драйвер.
    А второй - это вот эта либа от команды Surface, они её делали изначально для себя и планируют на ней писать драйвера для своего железа. И она генерирует биндинги на основе сишных хедеров, используя bindgen.
    Два мира - два плана.
    В случае метаданных можно удобно раскидать функции по модулям/неймспейсам и генерировать биндинги для любых языков, но нет версионирования (мы не можем сказать, мол, хотим ограничиться набором WDK10) - надо следить самому, чтобы не использовать функции, которых ещё нет на целевых системах.
    В случае bindgen’a наоборот: мы генерируем биндинги для конкретного WDK требуемой версии, но все функции свалены в кучу (получается огромный rs-файлик на 100к+ строчек).
    Как-то спрашивал у них про эти два подхода, можно глянуть здесь: https://github.com/microsoft/windows-drivers-rs/discussions/20

    На самом деле, мне вариант с метаданными нравится больше, но на вкус и цвет все фломастеры разные.
    Ни тот, ни другой, несмотря на авторство команд из Microsoft, не являются "официальными" и единственно правильными WDK: использовать можно оба.
    --- Сообщение объединено, 4 фев 2024 ---
    Ну и ещё актуален вопрос с паниками при OOM: на это тоже есть дискуссия: https://github.com/microsoft/windows-drivers-rs/issues/6
     
  15. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.329
    Лол. Им скриптом на петоне нагенерили врапперов над сишным winapi, а они двигаются так, как будто у них уже полное ядро драйверов на расте :)
     
    UbIvItS нравится это.
  16. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.250
    Стадия 1: Отрицание...
     
  17. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.329
    Я смотрю, в нашем полку спецов прибыло... :)
     
  18. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.250
  19. Research

    Research Member

    Публикаций:
    1
    Регистрация:
    6 янв 2024
    Сообщения:
    70
    Наконец то раст идет к успеху. Пусты и полны заблуждений те языки программирования, которые не порождены опытом, отцом всякой достоверности. Теперь опустошительные срачи про говнораст прекратятся
     
  20. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.329
    Ну, пока что только говорят, что идет :)