Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

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



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

"Компания Canonical представила проект по разработке транслятора с Си на Rust"  +/
Сообщение от opennews (?), 20-Авг-26, 08:34 
Компания Canonical анонсировала проект, развиваемый совместной с Бристольским университетом и нацеленный на разработку инструментария для автоматической трансляции кода с языка Си на Rust. Проект ориентирован на перевод больших репозиториев, содержащих сотни тысяч строк кода на Си, в безопасное (без unsafe-операций) и легко сопровождаемое представление на языке Rust. Canonical профинансирует работу исследователей над проектом в течение 3 лет. Развиваемая технология будет опробована для перевода на Rust пакетов AppArmor и snap-confine, чтобы проверить применимость метода к реальным системным компонентам...

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

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

Оглавление

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


1. "Компания Canonical представила проект по разработке транслят..."  +14 +/
Сообщение от я (?), 20-Авг-26, 08:34 
а не логичнее наоборот сделать?
Ответить | Правка | Наверх | Cообщить модератору

24. Скрыто модератором  +/
Сообщение от Аноним (24), 20-Авг-26, 10:23 
Ответить | Правка | Наверх | Cообщить модератору

28. "Компания Canonical представила проект по разработке транслят..."  –1 +/
Сообщение от Аноним (28), 20-Авг-26, 10:39 
Интересно посмотреть, как на расте будет выглядеть двусвязный список без unsafe.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

33. "Компания Canonical представила проект по разработке транслят..."  +/
Сообщение от Аноним (33), 20-Авг-26, 10:57 
Вот так. Ещё вопросы?

use std::cell::RefCell;
use std::rc::{Rc, Weak};

pub struct Node<T> {
    pub value: T,
    pub next: Option<Rc<RefCell<Node<T>>>>,
    pub prev: Option<Weak<RefCell<Node<T>>>>,
}

pub struct DoublyLinkedList<T> {
    head: Option<Rc<RefCell<Node<T>>>>,
    tail: Option<Rc<RefCell<Node<T>>>>,
    pub length: usize,
}

impl<T> DoublyLinkedList<T> {
    pub fn new() -> Self {
        DoublyLinkedList {
            head: None,
            tail: None,
            length: 0,
        }
    }

    pub fn is_empty(&self) -> bool {
        self.length == 0
    }

    pub fn push_front(&mut self, value: T) {
        let new_node = Rc::new(RefCell::new(Node {
            value,
            next: self.head.take(),
            prev: None,
        }));

        if let Some(old_head) = &new_node.borrow().next {
            old_head.borrow_mut().prev = Some(Rc::downgrade(&new_node));
        } else {
            self.tail = Some(Rc::clone(&new_node));
        }

        self.head = Some(new_node);
        self.length += 1;
    }

    pub fn push_back(&mut self, value: T) {
        let new_node = Rc::new(RefCell::new(Node {
            value,
            next: None,
            prev: self.tail.as_ref().map(|t| Rc::downgrade(t)),
        }));

        if let Some(old_tail) = self.tail.take() {
            old_tail.borrow_mut().next = Some(Rc::clone(&new_node));
        } else {
            self.head = Some(Rc::clone(&new_node));
        }

        self.tail = Some(new_node);
        self.length += 1;
    }

    pub fn pop_front(&mut self) -> Option<T> {
        self.head.take().map(|old_head| {
            self.length -= 1;
            if let Some(next_node) = old_head.borrow_mut().next.take() {
                next_node.borrow_mut().prev = None;
                self.head = Some(next_node);
            } else {
                self.tail.take();
            }
            Rc::try_unwrap(old_head)
                .ok()
                .expect("Failed to unwrap Rc")
                .into_inner()
                .value
        })
    }

    pub fn pop_back(&mut self) -> Option<T> {
        self.tail.take().map(|old_tail| {
            self.length -= 1;
            if let Some(prev_weak) = old_tail.borrow_mut().prev.take() {
                if let Some(prev_node) = prev_weak.upgrade() {
                    prev_node.borrow_mut().next = None;
                    self.tail = Some(prev_node);
                }
            } else {
                self.head.take();
            }
            Rc::try_unwrap(old_tail)
                .ok()
                .expect("Failed to unwrap Rc")
                .into_inner()
                .value
        })
    }
}

impl<T> Drop for DoublyLinkedList<T> {
    fn drop(&mut self) {
        while self.pop_front().is_some() {}
    }
}

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

34. "Компания Canonical представила проект по разработке транслят..."  +2 +/
Сообщение от linked list (?), 20-Авг-26, 11:01 
Интересно посмотреть на пример реальной задачи где двусвязный список лучше решение
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

29. "Компания Canonical представила проект по разработке транслят..."  +/
Сообщение от Васян Айтишник (?), 20-Авг-26, 10:41 
Давайте ещё микроскопами камни обтёсывать :)
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

31. "Компания Canonical представила проект по разработке транслят..."  +/
Сообщение от Аноним (31), 20-Авг-26, 10:52 
По ходу никто не понял сарказма. Мозг нынче обмельчал, ТС :)
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

2. "Компания Canonical представила проект по разработке транслят..."  +5 +/
Сообщение от Sm0ke85 (ok), 20-Авг-26, 08:40 
>Компания Canonical анонсировала проект, развиваемый совместной с Бристольским университетом и нацеленный на разработку инструментария для автоматической трансляции кода с языка Си на Rust. Проект ориентирован на перевод больших репозиториев, содержащих сотни тысяч строк кода на Си, в безопасное (без unsafe-операций) и легко сопровождаемое представление на языке Rust.

Самое яркое подтверждение того, что посредством раста корпы решили наложить руку на весь гпл код...

#КорпыВорыМошенники

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

15. "Компания Canonical представила проект по разработке транслят..."  +/
Сообщение от Аноним (15), 20-Авг-26, 09:30 
Наконец-то свободное ПО станет действительно свободным
Ответить | Правка | Наверх | Cообщить модератору

22. "Компания Canonical представила проект по разработке транслят..."  +/
Сообщение от _hide_ (ok), 20-Авг-26, 10:15 
Самая главная свобода -- это свобода от взятых обязательств.
Ответить | Правка | Наверх | Cообщить модератору

43. "Компания Canonical представила проект по разработке транслят..."  +/
Сообщение от Аноним (43), 20-Авг-26, 11:18 
Отнюдь. Это всего лишь означает, что лопающийся пузырь ИИ пытаются удержать ХОТЬ ЧЕМ-ТО! Типа "вот, смотрите, у нас прогресс - мы можем НИЧЕГО нового не сделать, но теперь уже на расте!". 😆

Весь ржач в том, что 1) ИИ всё равно лопнет - это неизбежность 2) Нагенерённый Раст код можно будет просто выкинуть - он НИКОМУ не нужен, даже гуглом@кaкам  3) Сам код никуда не делся, можешь забирать и дорабатывать.

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

4. "Компания Canonical представила проект по разработке транслят..."  +1 +/
Сообщение от Аноним123 (?), 20-Авг-26, 08:42 
Можно ссылку на github?
Ответить | Правка | Наверх | Cообщить модератору

5. "Компания Canonical представила проект по разработке транслят..."  +3 +/
Сообщение от bOOster (ok), 20-Авг-26, 08:46 
Что за маразм вообще происходит? В С и С++ пилят анализаторы аналогичные rust и это даст лучшие результаты.
А все эти трансляторы - как были полным дер..ом, так ими и останутся, во всяком случае пока лжеИИ не обретет интеллект сравнимый с человеческим.
Ответить | Правка | Наверх | Cообщить модератору

7. "Компания Canonical представила проект по разработке транслят..."  +1 +/
Сообщение от Хру (?), 20-Авг-26, 08:57 
Так уже обрёл - если верить АльтманОвичу ;)
Ответить | Правка | Наверх | Cообщить модератору

9. "Компания Canonical представила проект по разработке транслят..."  +3 +/
Сообщение от bOOster (ok), 20-Авг-26, 09:04 
> Так уже обрёл - если верить АльтманОвичу ;)

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

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

8. "Компания Canonical представила проект по разработке транслят..."  +/
Сообщение от Пыщь (?), 20-Авг-26, 08:58 
> Что за маразм вообще происходит? В С и С++ пилят анализаторы аналогичные
> rust и это даст лучшие результаты.
> А все эти трансляторы - как были полным дер..ом, так ими и
> останутся, во всяком случае пока лжеИИ не обретет интеллект сравнимый с
> человеческим.

См. https://www.opennet.me/openforum/vsluhforumID3/141055.html#2

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

13. "Компания Canonical представила проект по разработке транслят..."  +/
Сообщение от Colorado_House_of_Representatives (?), 20-Авг-26, 09:29 
> В С и С++ пилят анализаторы аналогичные rust

Нет, не аналогичные.

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

10. "Компания Canonical представила проект по разработке транслят..."  +1 +/
Сообщение от Смузихеб забывший пароль (?), 20-Авг-26, 09:12 
> автоматической трансляции кода с языка Си на Rust
> в безопасное и легко сопровождаемое представление

с каких пор автоперевод кода с одного ЯП на другой вдруг стал означать упрощение сопровождения ?


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

17. "Компания Canonical представила проект по разработке транслят..."  +1 +/
Сообщение от _oleg_ (ok), 20-Авг-26, 09:51 
Тссс... Не надо включать логику, это хорошо потому что модно.
Ответить | Правка | Наверх | Cообщить модератору

35. "Компания Canonical представила проект по разработке транслят..."  +/
Сообщение от Alladin (?), 20-Авг-26, 11:06 
с той поры что это раст, он действительно упрощает сопровождение
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

42. "Компания Canonical представила проект по разработке транслят..."  +/
Сообщение от Аноним (43), 20-Авг-26, 11:14 
Ты сейчас ляпнул что-то типа "армяне лучше, чем грузины". Чем? "Чем грузины!". Л - логика! 😆
Ответить | Правка | Наверх | Cообщить модератору

12. "Компания Canonical представила проект по разработке транслят..."  –1 +/
Сообщение от Аноним (12), 20-Авг-26, 09:16 
Почему не использовать сишные либы через ffi, а на расте просто новые вайбкодить? Токенозатраты в таком случае уменьшаются в бесконечное кол-во раз.
Ответить | Правка | Наверх | Cообщить модератору

14. "Компания Canonical представила проект по разработке транслят..."  +/
Сообщение от Colorado_House_of_Representatives (?), 20-Авг-26, 09:29 
Могут себе позволить.
Ответить | Правка | Наверх | Cообщить модератору

38. Скрыто модератором  +/
Сообщение от Аноним (38), 20-Авг-26, 11:11 
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

16. "Компания Canonical представила проект по разработке транслят..."  +3 +/
Сообщение от Alexemail (??), 20-Авг-26, 09:50 
Вовремя я с Убунты спрыгнул на арч. Похоже кононикал во все тяжкие пустился. Обосрал свой дистрибутив теперь другим житья не даст.
Ответить | Правка | Наверх | Cообщить модератору

18. "Компания Canonical представила проект по разработке транслят..."  +/
Сообщение от онанист (?), 20-Авг-26, 09:58 
"пакетов AppArmor и snap-confine, чтобы проверить применимость метода к реальным системным компонентам. "

ыть как они про аппармор

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

19. "Компания Canonical представила проект по разработке транслят..."  +1 +/
Сообщение от Mik Foxi (ok), 20-Авг-26, 10:09 
Не зря я с убунты ушел на винду. Не будет уже в убунте толка. Главное чтоб до дебиана не добрались и не засрали его также, а то и на серверах хз что ставить тогда.
Ответить | Правка | Наверх | Cообщить модератору

23. "Компания Canonical представила проект по разработке транслят..."  –1 +/
Сообщение от Аноним (24), 20-Авг-26, 10:21 
> ушел на винду
> Главное чтоб до дебиана не добрались
> на серверах хз что ставить тогда

Винду, очевидно. Лучшая ОС.

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

25. "Компания Canonical представила проект по разработке транслят..."  +1 +/
Сообщение от Кроссдрессер (?), 20-Авг-26, 10:29 
Слаку - самый стабильный и предсказуемый дистр.
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

20. "Компания Canonical представила проект по разработке транслят..."  +1 +/
Сообщение от опеншлёпивпродакшн (?), 20-Авг-26, 10:11 
> традиционные трансляторы создают неидиоматичный и небезопасный Rust-код

В новом Rust уже традиции какие-то появились. Ещё и небезопасные!

> AI-модели плохо масштабируются на крупные репозитории и не гарантируют сохранение поведения программы

Это кто-то код на библиотеки и модули разбивать не умеет.

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

21. "Компания Canonical представила проект по разработке транслят..."  +/
Сообщение от Нонон (?), 20-Авг-26, 10:12 
Они пытаются выше головы прыгнуть. Через чур амбициозно. Собственно, как обычно для Canonical

ИИ и так неплохо переводит код с си в раст. Но с блоками unsafe. А вот начиная с этого этапа лучше уже вмешиваться человеку И более пристально проверять как ИИ будет решать избавится от этого unsafe

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

40. "Компания Canonical представила проект по разработке транслят..."  –1 +/
Сообщение от Аноним (43), 20-Авг-26, 11:12 
"Через чур" - через какой "чур", 6еcтoлочь?! Марш обратно в школу!
Ответить | Правка | Наверх | Cообщить модератору

27. "Компания Canonical представила проект по разработке транслят..."  +/
Сообщение от Аноним (27), 20-Авг-26, 10:39 
Зачем? ЫЫшка справляется с переписыванием.
Ответить | Правка | Наверх | Cообщить модератору

32. Скрыто модератором  +/
Сообщение от Аноним (31), 20-Авг-26, 10:56 
Ответить | Правка | Наверх | Cообщить модератору

30. "Компания Canonical представила проект по разработке транслят..."  +/
Сообщение от Аноним (28), 20-Авг-26, 10:42 
> небезопасный Rust-код

Вау! Значит, раст можно откинуть, как и "небезопасный Си-код"? И перейти на безопасный Паскаль.

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

36. "Компания Canonical представила проект по разработке транслят..."  +1 +/
Сообщение от Аноним (38), 20-Авг-26, 11:09 
То о чем так долго говорили в комментария наконец произошло.
Ответить | Правка | Наверх | Cообщить модератору

37. "Компания Canonical представила проект по разработке транслят..."  +/
Сообщение от Аноним (37), 20-Авг-26, 11:09 
Вручную написанный на rust код нечитаем, что будет после подобной трансляции даже представить страшно. Хотя это же каноникал, они ни один проект до конца не довели
Ответить | Правка | Наверх | Cообщить модератору

39. "Компания Canonical представила проект по разработке транслят..."  –1 +/
Сообщение от Аноним (43), 20-Авг-26, 11:11 
Логичный вопрос: зачем вообще что-либо переписывать на ржу?! Цаноницалу вообще заняться нечем что ли?? Тогда перепишите хотя бы с Си на Ди!
Ответить | Правка | Наверх | Cообщить модератору

41. "Компания Canonical представила проект по разработке транслят..."  +/
Сообщение от Аноним (33), 20-Авг-26, 11:14 
> на Ди

Ага, на мёртвый язык, намертво привязанный к GC.

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

44. "Компания Canonical представила проект по разработке транслят..."  +/
Сообщение от Аноним (37), 20-Авг-26, 11:18 
Про Ди уже и вспоминать стыдно
Ответить | Правка | К родителю #39 | Наверх | Cообщить модератору

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

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




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

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