The OpenNET Project / Index page

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



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

Оглавление

Выпуск языка программирования Rust 1.60, opennews (??), 07-Апр-22, (0) [смотреть все] –1

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


87. "Выпуск языка программирования Rust 1.60"  +4 +/
Сообщение от Брат Анон (ok), 08-Апр-22, 07:58 
Паскаль, Модула, Модула-2 (Нью Паскаль) , Оберон-2 (Супер Паскаль) , Оберон-7 (Ультра Паскаль). И всё это один человек, и всё это методом самораскрутки.
Медаль Тьюринга (которая раз в жизни вручается), почётный доктор половины универов мира (и в России тоже), всемирное признание. Что он сделал не так? Или ты умнее его?
Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

95. "Выпуск языка программирования Rust 1.60"  +/
Сообщение от ANANAS (ok), 08-Апр-22, 09:05 
Товарищ, на ваш оберон-7 есть современные компиляторы и критичные либы?
Ответить | Правка | Наверх | Cообщить модератору

98. "Выпуск языка программирования Rust 1.60"  +2 +/
Сообщение от Брат Анон (ok), 08-Апр-22, 09:18 
> Товарищ, на ваш оберон-7 есть современные компиляторы и критичные либы?

Скажем так: графика под Линуксом и на stm32 работает. Сеть -- это большой вопрос, но если использовать сисколы от линукса -- вопрос вполне решаем. Есть компилятор multioberon (используется в атомной промышленности, исходники открыты) -- там с высокой вероятностью есть всё минимально-необходимое.

А современными компиляторами -- дело обстоит не дурно:
https://github.com/lboasso/oberonc -- Oberon to Java
https://github.com/kekcleader/FreeOberon -- native Oberon for Win/Lin
https://github.com/bbcb/bbcp -- BlackBox Component Builder for Windows, GNU/Linux, OpenBSD, FreeBSD (ready production)
https://github.com/AntKrotov/oberon-07-compiler -- Oberon-07 compiler for x64 (Windows, Linux), x86 (Windows, Linux, KolibriOS), MSP430x{1,2}xx, STM32 Cortex-M3 (ready production)

https://github.com/Vostok-space/vostok -- The translator is written in its own input language - Oberon. Generates code for:
A common subset of C and C++ compatible with gcc, clang, tcc and CompCert.
Java 1.7
JavaScript compatible with ECMAScript 5
Oberon-07, Active Oberon and Component Pascal
License is LGPL for translator's code and Apache for libraries, tests and examples.

https://github.com/aixp/O7 -- Oberon → ARMv{6,7E}-M compiler, based on N. Wirth Project Oberon Oberon → RISC compiler (ready production)

https://github.com/dvdagaev/Mob -- MultiOberon is an Oberon Compiler with 3 different backends:
BlackBox Native x86 code Generator (1.7, version 1.6 with partial support)
Ofront Generated C-Language Code Translator;
LLVM representation Generator.
MultiOberon is Cross-Platform Compiler with supported platforms:

Windows X86;
Windows X64;
Linux X86;
Linux X64;
Raspberry Pi OS ArmV71;
Linux Ubuntu Arm64.

Ready production (with requerements nuclear power)

Хватит, или ещё погуглить в пользу забанненого в гугле?

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

186. "Выпуск языка программирования Rust 1.60"  –1 +/
Сообщение от Ананас (?), 08-Апр-22, 20:10 
Т.е. готовой инфраструктуры нет и нужно дёргать вызовы каждый раз руками и писать обёртки самому?
Хорошо, а детям хоть преподавать можно? Хотя бы некий условный GraphABC (или что там в паскале было) есть?
Ответить | Правка | Наверх | Cообщить модератору

207. "Выпуск языка программирования Rust 1.60"  +1 +/
Сообщение от Брат Анон (ok), 09-Апр-22, 10:49 
> Т.е. готовой инфраструктуры нет и нужно дёргать вызовы каждый раз руками и
> писать обёртки самому?

Т.е. вы читать не умеете. Берёте BlackBox Component Builder -- там всё есть.

> Хорошо, а детям хоть преподавать можно? Хотя бы некий условный GraphABC (или
> что там в паскале было) есть?

Ещё раз внимательно читайте выше. Если вам действительно нужно преподавать детям -- давно бы уже нагуглили BlackBox Component Builder Школьный. Там вам и черепашка, и готовая программа обучения, и задания для проверки пройденного материала. В подмосковном Троицке и в Новосибирске учебная программа обкатана и более чем успешно преподаётся уже с десяток лет. Если вы не в курсе, то в Троицке расположен Всеросийский ядерный научный центр. И такая научная проблема, как "дефект массы нейтрино" была решена именно на Обероне. Целый пакет символьной математики, если вы понимаете что это такое. Это есть инфраструктура или её нету?))

Нужен пакет для работы? Качаете BlackBox Component Bulder для Win/Lin/FreeBSD и работаете. Не хватает компонентов? Идёте на oberon.org и качаете что вам надо. Хотите работать с мобильного телефона? Идёте на тот же oberon.org, регистриуетесь и прям в браузере пишете код, тут же видите результат.

Что вам ещё не хватает для полного счастья?

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

273. "Выпуск языка программирования Rust 1.60"  +/
Сообщение от ANANAS (ok), 10-Апр-22, 19:39 
Хорошо, чем blackbox.oberon.org отличается от blackboxframework.org и на что лучше ориентироваться?
Ответить | Правка | Наверх | Cообщить модератору

141. "Выпуск языка программирования Rust 1.60"  +1 +/
Сообщение от PnD (??), 08-Апр-22, 12:59 
Go рассматривают как "идеологического наследника".
Убрали самое одиозное (BEGIN, END, PROCEDURE) и развили работу с типами.
Ответить | Правка | К родителю #95 | Наверх | Cообщить модератору

184. "Выпуск языка программирования Rust 1.60"  +/
Сообщение от Аноним (184), 08-Апр-22, 19:17 
> Го
> Типы
Ответить | Правка | Наверх | Cообщить модератору

193. "Выпуск языка программирования Rust 1.60"  +/
Сообщение от Аноним (190), 08-Апр-22, 21:13 
Если бы убрать каналы (травят производительность), выполнение в пулах потоков,
то выйдет современный и удобный C, а не то что там сейчас получилось.

Вся надежда на то что кто-то может допилит или стандартную библиотеку расширив до нормальных современных типов (Map, BTree, List и т.д.), базовых функций (поиск, сортировки и т.д.), кросплатформенных часов, потоков и т.д.

А то современные приемники в виде Rust и Golang это какие-то комбайны жалеко ушедшие в свою философию.

Так и выходит, что Си устарел, а  Rust и Golang слишком раздутые. А место между ними занимает сейчас динмическая Java которая из-за своего JVM многим очень не по вкусу.

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

208. "Выпуск языка программирования Rust 1.60"  +/
Сообщение от Брат Анон (ok), 09-Апр-22, 10:56 
> Если бы убрать каналы (травят производительность), выполнение в пулах потоков,
> то выйдет современный и удобный C, а не то что там сейчас
> получилось.

Нет. Это получится классический Оберон в нотации Си.

> Вся надежда на то что кто-то может допилит или стандартную библиотеку расширив
> до нормальных современных типов (Map, BTree, List и т.д.), базовых функций
> (поиск, сортировки и т.д.), кросплатформенных часов, потоков и т.д.

В си такого не будет. Си был сочинён для PDP-11. И это первородный грех.

> А то современные приемники в виде Rust и Golang это какие-то комбайны
> жалеко ушедшие в свою философию.

Rust нечитаем. Go -- инженерный компромисс. Далеко не идеален, но явно лучше потому что явно проще.

> Так и выходит, что Си устарел, а  Rust и Golang слишком
> раздутые. А место между ними занимает сейчас динмическая Java которая из-за
> своего JVM многим очень не по вкусу.

Golang по сравнению с Rust -- проще раза в три. Не выдумывайте.

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

280. "Выпуск языка программирования Rust 1.60"  +/
Сообщение от name (??), 11-Апр-22, 10:22 
Как ты сетью работать собрался из go? С raw сокетами, tcp пакетами?
Ответить | Правка | К родителю #193 | Наверх | Cообщить модератору

284. "Выпуск языка программирования Rust 1.60"  +/
Сообщение от PnD (??), 11-Апр-22, 12:26 
> Как ты сетью работать собрался из go? С raw сокетами, tcp пакетами?

Не совсем понял в чём трагедия?
Для tcp/udp есть вполне рабочая библиотека "net". Битовая арифметика — считается не хуже чем с C. Вот например обработка кусочка сетевого пакета:
"""
    crc32_bytes := BUFFER.data[length-4 :]
    crc32_frame := uint32(crc32_bytes[0])
    crc32_frame |= uint32(crc32_bytes[1]) << 8
    crc32_frame |= uint32(crc32_bytes[2]) << 16
    crc32_frame |= uint32(crc32_bytes[3]) << 24
    if crc32.ChecksumIEEE(BUFFER.data[:length - 4]) != crc32_frame { // Invalid CRC
        if *DEBUG { xl.Debug("Invalid CRC") }
        return
    }
"""
* Как видим, "в лоб" (как на C) у меня перекастовать не вышло и пришлось "запинать ногами".
Но это как раз наименее удачное место обработчика (зато пример хороший). И я не специализируюсь как программист (есть же варианты пролезть через unsafe).

Для raw нету готового? А вот уже́ и есть https://github.com/golang/net/blob/master/internal/socket/ra...

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

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

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




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

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