The OpenNET Project / Index page

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



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

"Выпуск языка программирования Rust 1.49"  +/
Сообщение от opennews (??), 02-Янв-21, 10:32 
Опубликован релиз языка системного программирования Rust 1.49, основанного проектом Mozilla. Язык сфокусирован на безопасной работе с памятью, обеспечивает автоматическое управление памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки)...

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

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

Оглавление

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

1. Сообщение от Аноним (1), 02-Янв-21, 10:32   +26 +/
Фракталу подарок на НГ.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #12, #115

2. Сообщение от Аноним (2), 02-Янв-21, 10:44   –11 +/
1. Сколько на Расте весит hello world? 3 или 5 Мегабайт?

2. Что дольше компилируется C++ или Раст? При условии, что размер исходного кода одинаков.

3. У типичного исходника на Расте, какая парадигма? Вроде ОПП там нет, вроде язык не функциональный, вроде чистый Си они считают примитивным, тогда стуктурная парадигма тоже отпадает.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #5, #6, #10, #28, #40, #57, #75, #92, #105

3. Сообщение от Аноним (2), 02-Янв-21, 10:46   –2 +/
4. LLVM явяляется зависимостью пакета Раст?
Ответить | Правка | Наверх | Cообщить модератору

4. Сообщение от Аноним (4), 02-Янв-21, 10:49   +/
Тескт в статье противоречит официальной документации.

"Автоматическое управление памятью в Rust избавляет разработчика от ошибок <...>, таких как <...>, разыменование нулевых указателей<...>"


Официальная документация, "Behavior considered undefined":
<...>
* Dereferencing (using the * operator on) a dangling or unaligned raw pointer.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #45, #62

5. Сообщение от Аноним (5), 02-Янв-21, 10:55   +2 +/
C++ оверхед , а это поделие вообще в серьез нельзя воспринимать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

6. Сообщение от VINRARUS (ok), 02-Янв-21, 10:59   +2 +/
Юзай shell:
echo "hello word"
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

8. Сообщение от Аноним (8), 02-Янв-21, 11:20   –3 +/
Как и любая технология, придуманная в десятые — невообразимо переусложнённое хипстерское убожество. Бейджики с местоимениями на конференциях прилагаются. Уже когда у разработчиков возникла ИДЕЯ cargo, например, или слизывания Haskell, язык был обречён. Позовите, когда сделают урезанный C с такой же моделью памяти, а-ля Cyclone.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #37, #41, #108

9. Сообщение от Аноним (10), 02-Янв-21, 11:40   –5 +/
Чтобы было проще было собирать мусор. Хруст сразу генерирует мусор.
Ответить | Правка | Наверх | Cообщить модератору

10. Сообщение от Аноним (10), 02-Янв-21, 11:42   +1 +/
Раст это просто DSL чтобы написать на нем браузерный движок. Как все уже знают ничего из этого не вышло. Теперь пытаются придумать Расту хоть какое-то применение и не находят. Потому что он плохо подходит для всего.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #58

11. Сообщение от Дегенератор (ok), 02-Янв-21, 11:45   +/
Смузи вечеринка в разгаре
Ответить | Правка | Наверх | Cообщить модератору

12. Сообщение от Анан (?), 02-Янв-21, 11:53   +5 +/
божественный язык
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #17, #25, #56

13. Сообщение от Аноним (13), 02-Янв-21, 11:53   +7 +/
У комментаторов прям спермотоксикоз на раст. Это хорошо - стадия отрицания на лицо)
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #15

14. Сообщение от Аноним (14), 02-Янв-21, 11:55   +1 +/
Чаще раста наверное ни один яп так не получает обновы.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #16, #19, #65

15. Сообщение от Аноним (10), 02-Янв-21, 11:56   –6 +/
А у тебя стадия гнев. Ничего скоро вырастишь, маленький джигит. И примешь то что Раст это ошибка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #18

16. Сообщение от Аноним (10), 02-Янв-21, 11:57   –2 +/
Потому что кроме как писать на нём Раст язык больше ни для чего не подходит.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #46, #66

17. Сообщение от microsoft (?), 02-Янв-21, 12:05   –25 +/
s/божественный язык/очередное бесполезное и бездарное поделие васянов/

Не благодари за правки, я так знаю что шикарен

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #111

18. Сообщение от Anonym_1914 (?), 02-Янв-21, 12:18   +1 +/
Да ладно, если кому-то доставляет, то пусть пользуются на здоровье
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

19. Сообщение от Аноним (8), 02-Янв-21, 12:33   –2 +/
Нет, это как раз обычный темп. C++, C#, ECMAScript и т.п. обрастают хламом с той же скоростью, а хипстеры радуются и просят ещё. Единственные серьёзные, консервативные языки в 2020 — это C и Go.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #22

20. Сообщение от Demo (??), 02-Янв-21, 12:42   +/
Столько желчи…
Непонятно, отчего это у C#-стов так nogropaeт от одной только новости?
Ответить | Правка | Наверх | Cообщить модератору

21. Сообщение от Аноним (21), 02-Янв-21, 12:43   +1 +/
эта шляпа собирается больше часа на машине, где питон собирается в районе минуты. надо найти, что именно тянет в зависимостях раст и выпилить. Сорян, ребят, вам с гентой не по пути. разве что бакдоры удобнее скрывать в таком обьеме кода
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #24, #164, #172

22. Сообщение от Аноним (22), 02-Янв-21, 12:43   –3 +/
> и Go.

Это в каком месте оно консервативное ? В буклетиках от гулга ?

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

24. Сообщение от Аноним (22), 02-Янв-21, 12:47   +1 +/
Я об этом на каждом углу кричу. Более гигабайта непонятного, нечитаемого говнокода. О каком доверии вообще может идти речь ? А еще и отсутствие каких либо причин его использовать. Жаль лиш что некоторые проекты отравили этой гадостью и теперь они мертвы. Будем форкать и пилить, а что остается если изначальные авторы такое допустили.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #38

25. Сообщение от Аноним (25), 02-Янв-21, 12:48   +3 +/
Ну сколько раз повторять - божественный язык, это Лисп. Он был божественным еще 50 лет назад и с тех пор все еще остается божественным.

А вы выберите себе любой другой эпитет.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #33, #54

26. Сообщение от Аноним (-), 02-Янв-21, 12:51   –4 +/
> Опубликован релиз языка системного программирования Rust 1.49, основанного [и выброшенного] проектом Mozilla

Вот так правильно.

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

28. Сообщение от анонн (ok), 02-Янв-21, 12:56   +7 +/
> 1. Сколько на Расте весит hello world? 3 или 5 Мегабайт?

6-7KB без каких либо "ухищрений".

ЗЫ
На опеннете все как всегда:
"Криворук и вантузо-ламероват? Это раст все виноват!!"

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #39, #44

31. Сообщение от Иваня (?), 02-Янв-21, 13:26   –2 +/
Вот что это за хрень #[derive(Debug)], #[no_mangle], #[test]
Где можно найти реализацию в компиляторе? 😕
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #49, #53, #70, #74

32. Сообщение от Я (??), 02-Янв-21, 13:41   +2 +/
Отличная новость, молодцы
Ответить | Правка | Наверх | Cообщить модератору

33. Сообщение от Аноним (33), 02-Янв-21, 13:42   +/
А можно мне какой-нибудь "лисп 2.0"? А то эта его божественная древность из всех щелей просвечивает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #35

35. Сообщение от Сишникemail (?), 02-Янв-21, 14:14   +1 +/
Текстовое представление байткода webassembly оч похоже.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33

37. Сообщение от Cradle (?), 02-Янв-21, 14:32   +2 +/
кобол вам в тапки, числа с фиксированной запятой и форматы вывода
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

38. Сообщение от анонн (ok), 02-Янв-21, 14:38   +4 +/
> А еще и отсутствие каких либо причин его использовать.

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


> Будем форкать и пилить. Правда, только в мечтах и размышлизмах на опеннете.

Поправил для хоть какого-то соответствия с реальностью.
> а что остается если изначальные авторы такое допустили.

Сколько-сколько годков librsvg была без мейнтейнера, совершенно никому (в том числе и теперешним кричальщикам "Караул! Все пропало! Не смейте форкать и переписывать нашу прелесть!") не нужной, 4 или только 3?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #47

39. Сообщение от Аноним (-), 02-Янв-21, 14:39   +/
Сознавайся стрипп нг делал, шалунишка?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

40. Сообщение от anonymous (??), 02-Янв-21, 14:40   –1 +/
Если заморочиться, то байт 100.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #51

41. Сообщение от банан (?), 02-Янв-21, 14:51   +3 +/
> Как и любая технология, придуманная в десятые — невообразимо переусложнённое хипстерское убожество.

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

>  Уже когда у разработчиков возникла ИДЕЯ cargo, например, или слизывания Haskell, язык был обречён.

А чем вам карго не нравится? и чего вы вообще имели ввиду? обречён на любовь разработчиками и ненависть хейтерами?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #98

43. Сообщение от Иваня (?), 02-Янв-21, 15:39   –3 +/
Вот что за язык такой непонятный этот Rust/ Вот смотрите как понять где лежит:
use std::fs::File;
use std::io::prelude::*;
use std::path::Path;

Python, Java, Golang в этом плане более понятные, там import'ы и в исходниках языка можно ЛЕГКО найти код
Java:
import java.io.*;
Python:
import os
Golang:    
import (
    "bufio"
    "fmt"
    "io"
    "io/ioutil"
    "os"
)

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #48, #50, #64, #91

44. Сообщение от Сишникemail (?), 02-Янв-21, 16:09   +/
+ растовые либы на те же 5мб или сколько там.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #52

45. Сообщение от Wilem82 (?), 02-Янв-21, 16:30   +/
А где несоответствие?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

46. Сообщение от Аноним (115), 02-Янв-21, 16:45   +/
Так его пишут на C++.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #67

47. Сообщение от Аноним (-), 02-Янв-21, 16:49   –2 +/
У тебя все в мечтах, выучить хруст тоже. Кто не осилил программирование - думает что хруст их спасет, лол. Практики (с правильной версией librsvg в том числе) и пока к сожалению не централизованным набором патчей - ржут над такими как ты.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38 Ответы: #55, #63

48. Сообщение от Недоумевающий аноним (?), 02-Янв-21, 16:49   +2 +/
> use std::fs::File;
> use std::io::prelude::*;
> use std::path::Path;

А это разве не perl?

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

49. Сообщение от Фантик Хруста (?), 02-Янв-21, 16:50   +/
В языке разбираться нужно тогда найдёшь
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

50. Сообщение от Аноним (50), 02-Янв-21, 16:54   +11 +/
А теперь слово use в воображении смени на import и :: на . и вуаля (понимаю, сложно, но попробуй напрячься - такие упражнения на воображение пойдут тебе на пользу). Я уже начинаю полагать, что у людей, которые кричат тут, что не могут понять синтаксис Rust, есть серьезные проблемы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43

51. Сообщение от Аноним (51), 02-Янв-21, 16:57   +1 +/
> Если заморочиться, то байт 100.

принт хеловорлд ? бабушке своей будешь втирать

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

52. Сообщение от анонн (ok), 02-Янв-21, 16:59   +/
> + растовые либы на те же 5мб или сколько там.

https://packages.debian.org/de/jessie/libc6
> amd64    4.555,7 kB    10.229,0 kB

"Это другое!"(с)?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44 Ответы: #60, #61, #72

53. Сообщение от Аноним (51), 02-Янв-21, 17:01   –1 +/
> Вот что это за хрень #[derive(Debug)], #[no_mangle], #[test]
> Где можно найти реализацию в компиляторе? 😕

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

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

54. Сообщение от Аноньимъ (ok), 02-Янв-21, 17:13   +/
К сожалению интрументально лисп застрял в 80х. Ранний успех умалил стремление становиться лучше.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

55. Сообщение от Аноним (55), 02-Янв-21, 17:16   +1 +/
Что, у кого-то есть не хрустанутая libsvg? Явне не в гноме, в гноме она безальтернативна. Интересно, а в хрустанутой тоже есть уязвимости вроде исполнения произвольного кода при открытии файла?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47 Ответы: #59

56. Сообщение от Аноним (56), 02-Янв-21, 17:19   +/
Вы решили скопипастить слова из соседней ветки?

А если серьезно, то после всех этих ваших Java, PHP, Delphi, C#, C++, ... хочется действительно сказать, что Rust это действительно то на чем хочется писать.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #79, #133

57. Сообщение от Аноним (56), 02-Янв-21, 17:22   +2 +/
1. Сколько на Расте весит hello world? 3 или 5 Мегабайт?
Зависит от статически слинкованого std + debug symbols + ...
А и даже по кодово классический println! это не просто вывод в C/C++, это потокобезопасный синхронизированный вывод.

2. Что дольше компилируется C++ или Раст? При условии, что размер исходного кода одинаков.
Если без библиотек и всего, то C++.
Но если с библиотеками то Rust, так как rust делает компиляцию один раз:) А си нет.

3. У типичного исходника на Расте, какая парадигма? Вроде ОПП там нет, вроде язык не функциональный, вроде чистый Си они считают примитивным, тогда стуктурная парадигма тоже отпадает.

Парадигма СВОЯ, ООП нет но все что есть в ООП легко делается и в Rust ДРУГИМИ примитивами дающими еще большие возможности.

И чистый си и rust?:) ХАха нуи сравнение....

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #129

58. Сообщение от Аноним (56), 02-Янв-21, 17:26   +2 +/
Ребят, хватит тупо копипастить вопросы из соседней ветки.
Вы бы еще кроме вопросов копипастили бы еще и ОТВЕТЫ НА НИХ:)

Rust давным давно не связан с мозиллой НИКАК, да и элементы написанные на Rust для Firefox давно (почти, но всеже) внедрены в сам браузер.

Вы бы интересовались что на расте ДРУГОЕ было написано и чем уже вы пользуетесь с использованием его.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #71, #77

59. Сообщение от Аноним (59), 02-Янв-21, 17:27   –1 +/
Это такой тупой поворот в троллинг ? Ну тогда спускай весь свой пафос в /dev/null, librsvg, а не libsvg трололо ты необразованное.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55 Ответы: #68

60. Сообщение от Аноним (56), 02-Янв-21, 17:28   +1 +/
Да, до людей не доходит что LIBC у них лежит отдельно на диске.
А std из Rust лежит у них внутри бинаря...

Собирайте уже наконец си проги со статической линковкой libc:)

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

61. Сообщение от Сишникemail (?), 02-Янв-21, 17:32   +/
libc везде есть, в отличие от. Если я например для андроид приложения делаю конвертертацию картинки uvc -> rgb на Си, этот код будет занимать примерно нисколько, а для хруста надо будет доп либки совать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52 Ответы: #69

62. Сообщение от Аноним (56), 02-Янв-21, 17:35   +2 +/
Хаха, люди. Вы реально хотябы почитайте что такое Rust и с чем его едят..

В rust есть СВОЕ понятие ссылок (нет, это не си ссылки) это так называемые безопасные указатели. Они используются в 99% случаях в вашем коде

это &T и &mut T

Данные ссылки не бывают null, их разыменовывать можно, имеют лайфтаймы (тоесть управляемые времена жизни).


А есть unsafe это уже действительно сишные СЫРЫЕ указатели (прямо то что и написано в отрывке вашей документации)

это *const T и *mut T
Они могут быть и null, всегда без лайфтаймов, и работать с ними нормально можно лишь ЧЕРЕЗ UNSAFE. Если не использовать безопасные обертки для этих указателей, то rust будет автоматически проверять данное на null и делать разные другие контролируемые вещи...

А лайфтаймы нужны для контроля освобождения и запрета разрабу использования освобожденной памяти, заимствованой памяти... Одновременное обращение к & в то время когда есть &mut и другое...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #119

63. Сообщение от анонн (ok), 02-Янв-21, 17:36   +3 +/
> У тебя все в мечтах, выучить хруст тоже. Кто не осилил программирование - думает что хруст их спасет, лол.

Т.е. ссылки на твой форк librsvg (или другой "оскверненной" ржавчиной либы), готовый для использования проектами GTK/Gnome/Gimp и т.д -  не будет. Только отмазки и пафосные рассуждизмы не по теме (со старательным избеганием конкретики).
>  Практики (с правильной версией librsvg в том числе) и пока к сожалению не централизованным набором патчей - ржут над такими как ты.
> пока к сожалению не централизованным набором патчей

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

Надеюсь, это не заразно.


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

64. Сообщение от Аноним (-), 02-Янв-21, 17:36   +3 +/
Напрягись Иваня, тужсо тужсо родной.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43

65. Сообщение от Аноним (56), 02-Янв-21, 17:38   +/
Да, rust является очень быстро растущим языком.. но и при этом очень стабильным на Api.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #80

66. Сообщение от Аноним (56), 02-Янв-21, 17:39   +/
Для чего не подходит?

Embedded? Браузеры? Операционные системы? Прикладное ПО? Блокчейн? Базы данных? ... (даже игры есть)... (этот список можно продолжать вечно.)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #78

67. Сообщение от Аноним (56), 02-Янв-21, 17:40   +4 +/
Rust написан на Rust, ранее был на OCaml.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46 Ответы: #73

68. Сообщение от Аноним (55), 02-Янв-21, 17:40   +1 +/
Да не, мне просто плевать, как она называется. И это нормально. В идеале было бы выкинуть руст, а то уже целые 2 программы его требуют. Ты не ответил на вопрос, кстати? Видимо, уязвимости svg никуда не делись, просто потому. что это svg? Так и скажи тогда.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #59

69. Сообщение от анонн (ok), 02-Янв-21, 17:41   +1 +/
> libc везде есть, в отличие от.

Ну т.е. "это другое! Понимать надо!"

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61 Ответы: #90

70. Сообщение от Аноним (56), 02-Янв-21, 17:46   +4 +/
#[derive] Автореализация трейта Debug для чего-либо компилятором, без описания кода.
#[no_mangle] Скорее всего вы открыли extern функцию подготовленную для запуска в си, no_mangle запрещает rust компилятору воротить и изменять имя функции.
#[test] В расте встроенные фитчи автотестирования, просто пишите функцию, пишите #[test] перед названием и данная функция будет восприниматься и запускаться автотестером с целью поиска ошибок.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

71. Сообщение от Аноним (71), 02-Янв-21, 17:50   –1 +/
> и чем уже вы пользуетесь

в моём FF ни строчки на расте. Удивительно, да?!

> на расте ДРУГОЕ

Ну расскажи, если сможешь.

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

72. Сообщение от Аноним (71), 02-Янв-21, 17:53   –2 +/
на расте написать libc невозможно... на расте вообще вызовы ядра нельзя сделать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52 Ответы: #81, #120

73. Сообщение от Wilem82 (?), 02-Янв-21, 18:00   +5 +/
Это в реальном мире. А тот аноним, как и многие другие анонимы - из параллельной вселенной. Что доказывает, что Опеннет пронзает пространственно-временной континуум.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67 Ответы: #152

74. Сообщение от Wilem82 (?), 02-Янв-21, 18:05   –1 +/
Почитай документацию, там объясняют.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

75. Сообщение от freecoder_xx (?), 02-Янв-21, 18:06   +3 +/
> 1. Сколько на Расте весит hello world? 3 или 5 Мегабайт?


$ echo 'fn main() { println!("Hello"); }' > hello.rs
$ rustc -O -C lto hello.rs
$ ls -lh hello
-rwxrwxr-x 1 xx xx 1,3M янв  2 17:54 hello

Из-за статической линковки std бинарь жирный, но не 5 мегабайт. Кстати, крупная продакшн-система на Rust, над которой я сейчас работаю, весит 30 мегабайт, а там внутри http и grpc-сервер, встраиваемая БД, рантайм для асинхронщины и много чего еще. Программа на многие тысячи строк кода, даже без учета зависимостей, которых сотни, так что размер хелоуворда ни о чем не говорит.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #83, #93, #109

77. Сообщение от Аноним (79), 02-Янв-21, 18:21   –2 +/
ТАк давай, любить КАПСА, по порядку.

Раст не связан с Мозиллой только потому что он никому НЕ НУЖЕН.

Движок Servo для которого создавался Раст НЕ ВКЛЮЧЕН в в состав FF.

Если бы на Раст и было написано хотя бы одно полезное приложение, то ты бы его уже упоминал, но ни одного такого приложения НЕТ.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58 Ответы: #100, #113, #150

78. Сообщение от Аноним (79), 02-Янв-21, 18:23   +/
Ты не написал названия ни одного такого приложения. А все эти хеллоуворлда/реактос подобные поделки типа Redox никому не нужны.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66 Ответы: #97

79. Сообщение от Аноним (79), 02-Янв-21, 18:24   +1 +/
Так почему ты на Расте ничего не пишешь?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56 Ответы: #94, #136

80. Сообщение от Аноним (79), 02-Янв-21, 18:25   +/
Таблетки принимать начинай уже. Раст не растущий и api у него постоянно меняется.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #65 Ответы: #99

81. Сообщение от анонн (ok), 02-Янв-21, 18:30   +/
> на расте написать libc невозможно... на расте вообще вызовы ядра нельзя сделать.

Однако, какой мощный выброс метана!
https://docs.rs/syscall/0.2.1/src/syscall/platform/linux-x86...


#[inline(always)]
pub unsafe fn syscall0(n: usize) -> usize {
    let ret : usize;
    asm!("syscall" : "={rax}"(ret)
                   : "{rax}"(n)
                   : "rcx", "r11", "memory"
                   : "volatile");
    ret
}

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #72 Ответы: #96, #142

83. Сообщение от Аноним (-), 02-Янв-21, 19:11   –2 +/
Лютый пдц. Надеюсь хоть не добровольно ?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75

86. Сообщение от niktechnet (ok), 02-Янв-21, 19:26   +3 +/
Идея чтобы некоторой сторонний алгоритм заботился о ошибки и освобождение памяти в моём коде мне не нравится.
Или всё или ничто.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #87, #116

87. Сообщение от Sgt. Gram (?), 02-Янв-21, 19:46   –1 +/
Ну сам-то ты даже о том, чтобы согласовать слова в предложении без ошибок, не можешь
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #86 Ответы: #88, #89

88. Сообщение от Sgt. Gram (?), 02-Янв-21, 19:47   +/
позаботиться.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #87

89. Сообщение от niktechnet (ok), 02-Янв-21, 20:04   +/
Постараюсь, русский язык не родной, извини.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #87 Ответы: #103

90. Сообщение от Аноним (90), 02-Янв-21, 20:22   –5 +/
Си == Unix-like. Rust == Redox. Rust != Unix-like. Rust != POSIX.

Что потеряли растаманы на Юниксовом форуме? Раст для Линукса является чужеродным образованием.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69 Ответы: #95, #112

91. Сообщение от Михрютка (ok), 02-Янв-21, 20:43   +3 +/
вьюнош, то вы еще не пытались понять, где лежит #include <file>, а где - #include "file".

где лежат use strict; use warnings; я и сам доси толком не знаю.

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

92. Сообщение от Ordu (ok), 02-Янв-21, 20:45   +2 +/
> 3. У типичного исходника на Расте, какая парадигма? Вроде ОПП там нет, вроде язык не функциональный, вроде чистый Си они считают примитивным, тогда стуктурная парадигма тоже отпадает.

Мне этот вопрос очень понравился. Я тебе советую отложить его и вернутся к нему после окончания второго курса. К тому моменту ты наберёшь достаточное количество знаний и опыта, чтобы понимать, что все эти "парадигмы" -- это бред теоретиков. Эти парадигмы не исключают друг-друга (функциональный язык может быть ООП языком, а ООП язык может быть структурным), и они не описывают всего спектра явлений. То есть, они не только не обладают никакой предсказательной силой, у них и описательная сила ниже плинтуса.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #102

93. Сообщение от Аноним (90), 02-Янв-21, 21:05   –4 +/
>а там внутри http и grpc-сервер, встраиваемая БД, рантайм для асинхронщины и много чего еще. Программа на многие тысячи строк кода, даже без учета зависимостей, которых сотни

Ты только, что описал язык Эмбаркадеро Дельфи. Дельфи тоже такой, попробуй.

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

94. Сообщение от Аноним (56), 02-Янв-21, 21:07   +5 +/
Пишу, кто сказал что я не пишу? Вы?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #79 Ответы: #125, #141

95. Сообщение от Аноним (56), 02-Янв-21, 21:11   +/
Юниксовый форум? Вы про ЛОР или про опеннет? Вроде опеннет про открытие вещи в интернетах ВСЯКИХ, не?

И почему Rust для линукса это чужеродное? Если Rust прозрачно работает хоть и без std, даже можно тупо отлинковать std, подрубить ваш libc и работать с ним через unsafe.

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

96. Сообщение от Аноним (56), 02-Янв-21, 21:12   +/
Я догадываюсь что сейчас налетят "ФУУУ, АССЕМБЛЕР!! ФУУУ", Нет) На расте и попроще можно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #81 Ответы: #110

97. Сообщение от Аноним (56), 02-Янв-21, 21:14   +/
Я писать? Зачем? Зайдите хоть на сайт Rust, посмотрите кто его использует)...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78

98. Сообщение от Вы забыли заполнить поле Name (?), 02-Янв-21, 21:15   +/
> обречён на любовь разработчиками и ненависть хейтерами?

На приседная со штангой имени теории категорий. Взрослым это некогда, нужно делать деньги.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41 Ответы: #148, #159

99. Сообщение от Аноним (56), 02-Янв-21, 21:15   +2 +/
Я просто промолчу:))...

Изучите хотябы немного rust, а уже потом пишите "дая все знаю, раст видал!".

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

100. Сообщение от банан (?), 02-Янв-21, 21:15   +1 +/
Alacritty ежедневно пользуюсь
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #77 Ответы: #139

101. Сообщение от Аноним (90), 02-Янв-21, 21:16   +/
Сидит программист, чуток расслабился. Подходит чувак с палкой и хрясь его по спине, приговаривая: "Сиди с ровной спиной".

Этот чувак с палкой - компилятор языка Раст.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #107, #117, #153

102. Сообщение от банан (?), 02-Янв-21, 21:22   +/
> бред теоретиков.

Именно.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #92 Ответы: #104

103. Сообщение от Аноним (90), 02-Янв-21, 21:24   –2 +/
Мамбет ты плов умеешь готовить?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #89

104. Сообщение от Ordu (ok), 02-Янв-21, 22:40   +/
>> бред теоретиков.
> Именно.

Ты огорчаешь меня. Чувак, сказав глупость, оставил провокацию, в ответ на которую я оставил такую провокацию, которая провоцирует встречную провокацию, которая позволила бы мне нырнуть в философию и изложить теорию создания теорий, которая может классифицировать теории и поливать дерьмом любые классификации внутри любых теорий. Между прочим можно было бы пройтись по технарям, которые ничего такого не понимают в силу ущербности своего образования. Такая у меня крутая провокация была, но ты вместо того, чтобы повестись на неё и начать спорить, берёшь и соглашаешься. Я в печале. Пришла пора повышать уровень игры?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #102 Ответы: #118, #173

105. Сообщение от Аноним (105), 02-Янв-21, 22:48   +1 +/
>Сколько на Расте весит hello world? 3 или 5 Мегабайт?

3.2M, если тебя это утешит. Eсть множество флагов, как эти 3.2M сделать до 100k, от банального cargo build --release и strip (около 250k), до cargo rustc --release -- -C prefer-dynamic — 17k.

Вопрос где мои 3 и 5 Мегабайт в hello world? Понимаю, жать на одну зелёную кнопку в IDE удобнее, чем разобраться во флагах компилятора, но может лучше смотреть в документацию языка, чем вот так штаны себе портить?

https://doc.rust-lang.org/rustc/codegen-options/index.html
https://github.com/johnthagen/min-sized-rust

user@user:~/dev$ cargo new hello_w
     Created binary (application) `hello_w` package
user@user:~/dev$ cd hello_w/
user@user:~/dev/hello_w$ cargo build
   Compiling hello_w v0.1.0 (/home/user/dev/hello_w)
    Finished dev [unoptimized + debuginfo] target(s) in 0.38s
user@user:~/dev/hello_w$ cargo rustc --release -- -C prefer-dynamic
   Compiling hello_w v0.1.0 (/home/user/dev/hello_w)
    Finished release [optimized] target(s) in 0.14s
user@user:~/dev/hello_w$ strip target/debug/hello_w
user@user:~/dev/hello_w$ exa -lhT --level=3
Permissions Size User  Date Modified Name
drwxrwxr-x     - user  2 янв 22:36  .
.rw-rw-r--   138 user  2 янв 22:36  ├── Cargo.lock
.rw-rw-r--   196 user  2 янв 22:35  ├── Cargo.toml
drwxrwxr-x     - user  2 янв 22:35  ├── src
.rw-rw-r--    45 user  2 янв 22:35  │  └── main.rs
drwxrwxr-x     - user  2 янв 22:36  └── target
.rw-rw-r--   177 user  2 янв 22:36     ├── CACHEDIR.TAG
drwxrwxr-x     - user  2 янв 22:36     ├── debug
drwxrwxr-x     - user  2 янв 22:36     │  ├── build
drwxrwxr-x     - user  2 янв 22:36     │  ├── deps
drwxrwxr-x     - user  2 янв 22:36     │  ├── examples
.rwxrwxr-x  285k user  2 янв 22:36     │  ├── hello_w
.rw-rw-r--    82 user  2 янв 22:36     │  ├── hello_w.d
drwxrwxr-x     - user  2 янв 22:36     │  └── incremental
drwxrwxr-x     - user  2 янв 22:36     └── release
drwxrwxr-x     - user  2 янв 22:36        ├── build
drwxrwxr-x     - user  2 янв 22:36        ├── deps
drwxrwxr-x     - user  2 янв 22:36        ├── examples
.rwxrwxr-x   17k user  2 янв 22:36        ├── hello_w
.rw-rw-r--    84 user  2 янв 22:36        ├── hello_w.d
drwxrwxr-x     - user  2 янв 22:36        └── incremental

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #128

106. Сообщение от Аноним (109), 02-Янв-21, 22:59   +/
Без автоделегирования не нужно.
Ответить | Правка | Наверх | Cообщить модератору

107. Сообщение от Ordu (ok), 02-Янв-21, 22:59   +6 +/
А потому что нехрен расслабляться, когда программируешь. Стоит только разок расслабиться, и вот уже полезли ошибки в работе с памятью. Хочешь расслабиться, дуй на тропический остров, и там, лёжа на пляжу, потягивай смузи.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #101

108. Сообщение от Аноним (109), 02-Янв-21, 23:02   +/
>Уже когда у разработчиков возникла ИДЕЯ вступить в культ cargo

Поправил.

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

109. Сообщение от Аноним (109), 02-Янв-21, 23:05   –2 +/
>ls -lh hello
>-rwxrwxr-x 1 xx xx 1,3M

Они там совсем больные? Шли бы они xx xx со своей статической линковкой. Языки, где hw - 1.3 MiB - ффтопку. Я лучше на питоне попишу.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75 Ответы: #114

110. Сообщение от анонн (ok), 02-Янв-21, 23:07   +1 +/
> Я догадываюсь что сейчас налетят "ФУУУ, АССЕМБЛЕР!! ФУУУ", Нет) На расте и попроще можно.

Тихо, прикармливаемых "Экспердов" спугнешь!


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

111. Сообщение от Аноним (111), 02-Янв-21, 23:09   +1 +/
Годы идут, а вбросы школьников все унылее.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17 Ответы: #157

112. Сообщение от анонн (ok), 02-Янв-21, 23:13   +/
> Си == Unix-like. Rust == Redox. Rust != Unix-like. Rust != POSIX.

Ну раз аноним авторитетно заявляет, то наверное так оно и есть!

> Что потеряли растаманы на Юниксовом форуме? Раст для Линукса является чужеродным образованием.

Все может быть. Но я не понял, зачем было упоминать "unix-like" и POSIX вместе с "Линукс"
"ignore everything it says about POSIX compatibility and hack away your amazing Linux software" (c) Главный Разработчик Линуксэкосистемы


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #90 Ответы: #124

113. Сообщение от Аноним (111), 02-Янв-21, 23:21   +/
Ну, если ты никто и он тебе не нужен, то твое утверждение с натяжкой можно назвать верным, в ином случае не нужен тебе != не нужен никому.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #77

114. Сообщение от анонн (ok), 02-Янв-21, 23:28   +4 +/
> Они там совсем больные? Шли бы они xx xx со своей статической
> линковкой. Языки, где hw - 1.3 MiB - ффтопку.


cat hello_w.rs                                                              
fn main() {
  println!("Hello World!");
}

$ rustc -O -C prefer-dynamic   hello_w.rs && ll hello_w                        
-rwxr-x---  1 анонн  wheel   9,0K Jan  2 23:26 hello_w*

$ rustc -O -C prefer-dynamic -C link-args="-s" hello_w.rs && ll hello_w      
-rwxr-x---  1 анонн  wheel   6,4K Jan  2 23:26 hello_w


>  Я лучше на питоне попишу.

Действительно, будет лучше для всех.

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

115. Сообщение от Аноним (115), 02-Янв-21, 23:44   +/
А я тут недавно на такую штуку наткнулся: https://www.roi.ru/71821/
Интересно, не Фракталушка ли запилил?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #126

116. Сообщение от Ирбис (?), 03-Янв-21, 01:10   –2 +/
Заботится не "некий алгоритм", а компилятор.
Обвинять компилятор в том, что он проверяет код на ошибки и требовать, чтобы компилятор что-то додумывал в коде от себя, вместо того, чтобы спросить человека, что он на самом деле хотел - несколько странновато.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #86

117. Сообщение от Аноним (117), 03-Янв-21, 01:22   +1 +/
А потом после такого сидения деформируется позвоночник и никакой мануальщик не спасёт.

Уж лучше чувак с палкой.

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

118. Сообщение от Аноним (118), 03-Янв-21, 01:26   +/
Контрпример. Data-Oriented Design - вполне парадигма (заставляет писать код определенным образом: с разделением данных и обработчиков, обработчики работают со множеством локализованных в памяти данных) и вполне практична (подстраивается под ЦПУ, что дает более высокую производительность и распараллеливаемость кода).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #104 Ответы: #131

119. Сообщение от Аноним (118), 03-Янв-21, 02:15   +1 +/
По-моему вы малость перевираете.

Обычная переменная в Rust - это аналог умного указателя std::unique_ptr из C++11. Константного или неконстантного - с mut.
А вот заимствование '&' - это почти тоже, что и ссылка в С++, где она также не должна ссылаться в никуда. Только в Rust мы ссылаемся на умные указатели, которые на момент доступа по ссылке могут быть "пустыми", передавшими свое значение. Тогда Rust, чтобы обеспечить заявленные гарантии безопасности, следит и заставляет следить программиста за временем жизни всех ссылок и "переменных", на которые те ссылаются. Отсюда все эти одинарные кавычки в прототипах функций и танцы с вложенными блоками {}.

Я, правда, дальше чтения документации не уходил. Может, кто-то практикующий Rust меня поправит, будет всем полезно.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #62 Ответы: #121

120. Сообщение от red75prim (?), 03-Янв-21, 03:07   +1 +/
На сишечке, кстати, сисколлы тоже не святым духом Кернигана Риччи делаются. Такой же ассемблер

#define __asm_syscall(...) do { \
    __asm__ __volatile__ ( "svc 0" \
    : "=r"(r0) : __VA_ARGS__ : "memory"); \
    return r0; \
    } while (0)

Обратите внимание на элегантный do{}while(0)

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

121. Сообщение от red75prim (?), 03-Янв-21, 03:25   +/
Обычная переменная в Rust - это обычная переменная и лежит на стеке, если её оптимизатор не положит в регистр. Перемещения значения из переменной ничего не делает с содержимым памяти, в котором это значение лежало. Отсутствие обращений к переменной, из которой было перемещено значение, проверяется только во время компиляции.

Заимствование в Rust - это не ссылка из C++. Семантически, ссылка в C++ - это другое имя (alias) для какой-то переменной. Поэтому в С++ запрещено брать адрес ссылки, например. В Rust заимствование - это указатель на память, с дополнительным гарантиями: указывает на валидное значение, нет алиасинга мутабельных указателей. Лайфтаймы ("одинарные кавычки") - это средство обеспечения указанных гарантий во время компиляции.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #119 Ответы: #122

122. Сообщение от Аноним (118), 03-Янв-21, 05:16   +/
Спасибо за пояснения.

Ожидаемо, что паттерн "уникальный умный указатель" реализован в Rust более эффективно, как compile-time проверки компилятора над действиями с именнованными областями памяти, нежели, как исторически сложилось в С++, средствами обобщенного программирования. Однако, область применения ведь аналогична юникам из плюсов (а не переменным)?

С заимствованиями, в общем тоже не нашел противоречий по временам жизни. Но аналогия с указателями С++, мне всё же кажется неточной. Ведь мы же не можем поменять заимствованный адрес? Только затенить связанное имя? То есть, не вдаваясь в детали реализации, это всё же больше похоже на ссылку из С++, где, в отличие от указателя, имя жестко связано со значением, а разыменования неявны.

P.S. Ох. Надо начинать практиковаться, пока всё прочитанное из головы не выветрилось или не перемешалось. Пользуясь случаем, не посоветуете Rust IDE (с поддержкой Linux)? Пробовал Gnome Builder и QtCreator. Но всё какое-то гвоздями приколоченное, на честном слове, работает через раз. А я ведь дальше хеллоуворлда, запущенного под отладчиком не уходил. На чём вообще работают программисты Rust? Плагины для тяжеловесных полупроприетарных Java IDE? Плагины для блокнотов/вимов/емаксов? Или есть какая-то секретная, открытая, идиоматичная IDE-мечта?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #121 Ответы: #123

123. Сообщение от red75prim (?), 03-Янв-21, 05:47   +/
> Однако, область применения ведь аналогична юникам из плюсов (а не переменным)?

Разделение точно такое же как в C++. Переменные лежат на стеке, уники (в расте Box) указывают на аллоцированный объект и владеют им. Отличие в том, что move семантика в расте применяется к переменным содержащим значения, которые нельзя тривиально скопировать (не Copy типы). Переменные, содержащие значения Copy-типов в расте соответствуют переменным в С++ с тривиальными конструкторами копирования.

> Ведь мы же не можем поменять заимствованный адрес?

Можем и поменять и разыменование явное. Единственное, что похоже на ссылку - гарантия валидности значения на которое указывает заимствование.

let a=1;
let b=2;
let mut reference = &a;
reference = &b; // поменяли адрес
let c = *reference; // разыменование явное


> Пользуясь случаем, не посоветуете Rust IDE (с поддержкой
> Linux)?

Я пользуюсь VS Code с плагином rust analyzer. Rust analyzer ещё работает с vim, emacs, sublime и gnome builder, но их не пробовал.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #122 Ответы: #132

124. Сообщение от Аноним (125), 03-Янв-21, 08:09   +/
>Ну раз аноним авторитетно заявляет, то наверное так оно и есть

Когда нет контраргументов ты начинаешь хамить.

>Все может быть. Но я не понял, зачем было упоминать "unix-like" и POSIX вместе с "Линукс"
>"ignore everything it says about POSIX compatibility and hack away your amazing Linux software" (c)

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

>Главный Разработчик Линуксэкосистемы

GNU/Linux экосистемы.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #112 Ответы: #143

125. Сообщение от Аноним (125), 03-Янв-21, 08:13   –2 +/
Ваш разговор так мил. Напоминает, общение врача с пациентом.

А я не пишу на Расте. А ха-ха-ха-ха!

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

126. Сообщение от Аноним (125), 03-Янв-21, 08:14   –1 +/
На такое способны только русские.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #115

128. Сообщение от Аноним (125), 03-Янв-21, 08:31   –1 +/
А четвертый пункт, тоже мусор? Кто-нибудь ответит почему у компилятора Раст в зависимостях LLVM?

Например,  GCC есть в зависимостях binutils... , но это понятно, он содержит низкоуровневые вещи, типа GNU ассемблера.

Вопрос оформлен чуть ниже.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #105 Ответы: #130

129. Сообщение от Аноним (-), 03-Янв-21, 08:57   +/
>ООП нет но все что есть в ООП легко делается и в Rust ДРУГИМИ примитивами дающими еще большие возможности.

Ха-ха! Твоя слабость заключается в том, что ты считаешь отсутствие ООП каким-то недостатком.

Разработчики Раст считают, что ООП это зло. И поэтому сознательно не сделали ООП.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57 Ответы: #135

130. Сообщение от red75prim (?), 03-Янв-21, 09:04   +2 +/
> Кто-нибудь ответит почему у компилятора Раст в зависимостях LLVM?

По той же причине что и для flang (компилятор FORTRANа) и для gnat llvm (компилятор Ada) - бэкенд для генерации оптимизированного машинного кода под разные архитектуры.

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

131. Сообщение от Аноним (-), 03-Янв-21, 09:41   –4 +/
Так-сс, где-то я это слышал...
хм..., Ах да, разделение данных и кода. Ты только что описал банальный ООП.

Data-Oriented Design - это тупо ООП.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #118 Ответы: #166, #167

132. Сообщение от Аноним (118), 03-Янв-21, 09:59   +/
А, разобрался. Действительно, unique_ptr<T> - более специфичен из-за выделения памяти под объект типа T в куче.
Остановлюсь на том, что переменные в языках схожи. Если тип реализует типаж Copy, то конструктор тривиальный-копирующий, нет - перемещающий.

По второму вопросу, сбило с толку, что ```fn ln(s: &str) -> usize { s.len() }``` без явного разыменования ```(*s).len()```. Но в вызове функции ```ln(&"hello");``` и других местах, оно действительно выглядит как передача адреса указателю в С++. Проморгал, каюсь.

> VS Code

Эх, у меня аллергия на продукты, содержащие Javascript. :) Придётся, поискать что-то ещё.

В общем, спасибо. Буду изучать. Уж больно этот Rust интересный и многообещающий язык, не на Опеннете будет сказано.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #123 Ответы: #138

133. Сообщение от банан (?), 03-Янв-21, 10:43   +/
c# / java отличные языки, что с ними не так?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56

135. Сообщение от банан (?), 03-Янв-21, 11:26   +/
> Ха-ха! Твоя слабость заключается в том, что ты считаешь отсутствие ООП каким-то недостатком.

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

Если адепт ФП видит хороший код, он называет его функциональным.
И наоборот, если адепт ООП видит хороший код, то он говорит, что код написан в хорошем ООП стиле.

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

Напротив же, плохой код можно назвать функциональной ccаниной или "ооп головного мозга", это примерно одно и то же

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

136. Сообщение от Аноним (136), 03-Янв-21, 12:35   +/
Потому что тогда расхочется, и нечем будет трясти в комментариях
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #79

137. Сообщение от Аноним (137), 03-Янв-21, 13:12   –1 +/
Синтаксис уж извинте - полное г. Если бы не навязывание - воспринималось бы как очередной nim, jullia и тому подобное.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #154

138. Сообщение от Аноним (138), 03-Янв-21, 13:13   –1 +/
red75prim, Wilem родившийся 1982 году, и прикормленный эксперт-аноним, котоый обещал выучить Раст. Спасибо всем троим за рекламную болтовню, теперь вы свободны.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #132

139. Сообщение от Аноним (141), 03-Янв-21, 13:51   +/
Хорошая попытка, но нет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #100 Ответы: #146

141. Сообщение от Аноним (141), 03-Янв-21, 13:55   +/
Показывай что за хеллоу ворлды ты на нем написал.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #94

142. Сообщение от Аноним (141), 03-Янв-21, 13:58   –1 +/
Так и где тут безопасность? И если её нет зачем нужен Раст?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #81 Ответы: #144

143. Сообщение от анонн (ok), 03-Янв-21, 14:05   +/
>>Ну раз аноним авторитетно заявляет, то наверное так оно и есть
> Когда нет контраргументов ты начинаешь хамить.

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

> Вот только включать дурака не надо. Когда Линус начинал писать свое ядро
> он ориентировался на стандарт POSIX.

Что там было 30 лет назад, никак не изменяет того, что есть _по факту_ последние 10 лет.

> Линус много чего говорил, но вырванные тобой из контекста фразы неубедительны.

А значит "не стчитаица", ага. Правда на факты это никак не влияет - на POSIX Леннарт со товарищи исправно и давно кладет большой и толстый.
Иронична отссылка на "вне контекста" - потому что высказал это совсем не Линус и смысл высказывания как раз вполне сохранен.

>>Главный Разработчик Линуксэкосистемы
> GNU/Linux экосистемы.

Мог бы и вбить цитату в поисковик, узнал бы, что это высказывание пренадлежит Леннарту - но нет, как истинный аноним, полез "исправлять" меня и "защищать" Торвальдса.

"И вот так у вас - все!"(с)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #124 Ответы: #145

144. Сообщение от анонн (ok), 03-Янв-21, 14:40   +/
> Так и где тут безопасность?

Какая безопасность тебе нужна при прямом обращении к железу и как ты собрался обеспечивать гарантии в компиляторе, о великий Эксперд Безопасности Кода?

Кстати, как ловко ты спрыгнул с темы "на расте вообще вызовы ядра нельзя сделать."

> И если её нет зачем нужен Раст?

Т.е. в твоем авто принципиально нет АБС, ЭКУ, ремня и подушек безопасности, а в твоей входной двери - замка?


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #142 Ответы: #168

145. Сообщение от Аноним (-), 03-Янв-21, 14:52   +/
>Что там было 30 лет назад, никак не изменяет того, что есть _по факту_ последние 10 лет.
>А значит "не стчитаица", ага. Правда на факты это никак не влияет - на POSIX Леннарт со товарищи исправно и давно кладет большой и толстый.
>Иронична отссылка на "вне контекста" - потому что высказал это совсем не Линус и смысл высказывания как раз вполне сохранен.

Ты о чем, наверно ты не о чем. Ты же обычный пустозвон. Так и запишем растаманы против POSIX.

>Мог бы и вбить цитату в поисковик, узнал бы, что это высказывание пренадлежит Леннарту - но нет, как истинный аноним, полез "исправлять" меня и "защищать" Торвальдса.

А зачем тратить свое личное время, пытаясь проверить истинность утверждения другого человека. Достаточно того, что по-умолчанию мы будем считать своих опонентов порядочными людьми. И совершенно закономерно под словами "главный разработчик" принять либо Линуса, либо Столлмана. Я же Линуксоид. Мне кажется тебе почудилось то, что я защищаю Торвальдса. Торвальдс не нуждается в защите. Я защищаю идеалы FSF, GNU, Unix-like.

Даю тебе второй шанс. Если ты не пустозвон опровергни утверждение о том, что
"Rust != POSIX, Rust != Unix-like".

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

146. Сообщение от банан (?), 03-Янв-21, 15:31   +2 +/
> Хорошая попытка, но нет.

мне перестать пользоваться?

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

148. Сообщение от банан (?), 03-Янв-21, 16:33   +1 +/
> На приседная со штангой имени теории категорий. Взрослым это некогда, нужно делать деньги.

Почему вы загадками пишите? Я правильно понимаю, что вы как бы намекаете, что вы взрослый и делаете деньги?

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

149. Сообщение от Аноним (149), 03-Янв-21, 17:01   +/
Последнее победное слово!

Rust != POSIX, Rust != Unix-like. Растаманы против GNU, Свободы и копилефта.

Все эти разговорчики про синтаксис и Cargo это детский сад. Знайте главное - они ненавидят копилефт. А копилефт - это основа GNU/Linux. Этот тред вывел их на чистую воду.

Бекенд Раста LLVM. А LLVM запилили только ради того чтобы повергнуть GCC с пьедестала. LLVM профинансировали проприетарщики.

Среднестатистический растаман является типичным пермиссивщиком, если не копирастом.

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

150. Сообщение от inferrna (ok), 03-Янв-21, 18:01   +/
rg на расте, например. Вроде как в 3 раза быстрее гнутого грепа.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #77

152. Сообщение от burjui (ok), 03-Янв-21, 19:50   +1 +/
Согласно интерпетации квантовой механики от Хью Эверетта, существует потенциально бесконечное число вселенных, в которых есть Опеннет - возможно, даже те, где все комментаторы адекватны.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #73

153. Сообщение от burjui (ok), 03-Янв-21, 20:02   +/
Скорее так: сидит погромист, чуток расслабил булки, и код начал менять цвет. Подходит чувак с палкой и хрясь его по башке: "Не говнокодь!".
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #101 Ответы: #160

154. Сообщение от burjui (ok), 03-Янв-21, 20:11   +2 +/
А тебе прямо навязывают, ага. Приходишь такой после работы домой, а у тебя дома сидит мужик в кожаной куртке и с пистолетом.
- Руки за голову, мордой в пол!
На полу мелом написан код.
- Читай!
- Пожалуйста, не надо, заберите мои дискеты с курсачами на плюсах и анимешную подушку, только не трогайте.
Мужик приставляет дуло к виску:
- Borrowed value does not live long enough.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #137 Ответы: #162

155. Сообщение от burjui (ok), 03-Янв-21, 20:15   +5 +/
Короче, минуя промежуточные звенья твоей алогической цепи, растоманы - это служители тайного правительства жидорептилоидов. Но, на всякий случай, таблетки выпей.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #149

157. Сообщение от Аноним (157), 03-Янв-21, 23:42   +/
Просто старые школьники уже выросли, на смену им пришли малолетние растохейтеры.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #111

159. Сообщение от Rhdhdn (?), 04-Янв-21, 06:08   +/
Rust к теории категорий не имеет отношения. Без глубоких познаний в ней в теории и на Хаскеле можно прожить... Что уж говорить про Rust, вы его с Haskellом не путайте. А то это демонстрирует плохую вашу осведомленность о расте, хаскеле или обоих
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #98

160. Сообщение от Аноним (71), 04-Янв-21, 10:00   +1 +/
> чуток расслабил булки ... Подходит чувак с палкой ...

...и присунул палку. Вот этот чувак и есть растаман.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #153 Ответы: #163

162. Сообщение от Аноним (163), 04-Янв-21, 10:43   –1 +/
> после работы домой, а у тебя дома сидит мужик

Ты какой-то больной. В детстве не роняли головой ?

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

163. Сообщение от Аноним (163), 04-Янв-21, 10:44   +/
> ...и присунул палку. Вот этот чувак и есть растаман.

Ага, вот и говорю - какой-то ненормальный. Приходит комментировать в мертвых темах про свои больные фантазии.

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

164. Сообщение от Аноним (164), 04-Янв-21, 11:57   +1 +/
Любой нормальный гентушник понимает что огромные исходники rust это нечитаемый говнокод с бэкдорами, а огромные исходники ядра, libreoffice, chrome, mysql, mesa и т.д. это читаемый правильнокод без бэкдоров
Только тупые растофанатики не понимают что это другое
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #165

165. Сообщение от Аноним (165), 04-Янв-21, 13:52   +1 +/
> исходники ядра > 5.x , libreoffice, chrome, mysql, mesa и т.д. это читаемый говнокод с бэкдорами

Маленькая правочка. Не благодари.

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

166. Сообщение от Аноним (166), 04-Янв-21, 14:04   +1 +/
А если в коде есть функции - то это функциональный язык, да?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #131

167. Сообщение от Аноним84701 (ok), 04-Янв-21, 15:55   +/
> разделение данных и кода. Ты только что описал банальный ООП.

Вообще-то, в ООП объединяют данные (состояние) и их обработчики (методы).


> Data-Oriented Design - это тупо ООП.

Это тайна, о которой знают только самые избранные, анонимные комментаторы? 🙄
Потому что остальные, как лохи, обычно противопоставляют OOP и DOD

http://gamesfromwithin.com/data-oriented-design
> Data-oriented design is a different way to approach program design that addresses all these problems. Procedural programming focuses on procedure calls as its main element, and OOP deals primarily with objects.
> ...
> A key reason why data-oriented design is so powerful is because it works very well on large groups of objects. OOP, by definition, works on a single object.

.

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

168. Сообщение от slepnoga (ok), 04-Янв-21, 17:09   +/
твоем авто принципиально нет АБС, ЭКУ, ремня и подушек безопасности
АБС - нет ОС, нет проца
ремня - а раст тут причем? Если за пиропатроны - то нет ОС, нет проца, нет компилируемого кода, нет
ПЗУ ( только факт срабатывания)
подушек безопасности - смотри выше.

ЭКУ - то че? ЭБУД ( по госту), он же EMU? - ну да, код есть, но он написан не человеком )). И да, он работает под железным гипервизором на 200 баит прошивки, чуть не так - hardware reset. В такие вещи писюкатых погромиздов не пускают

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #144 Ответы: #169

169. Сообщение от анонн (ok), 04-Янв-21, 17:42   +/
>>  твоем авто принципиально нет АБС, ЭКУ, ремня и подушек безопасности
> АБС - нет ОС, нет проца ремня - а раст тут причем? Если за пиропатроны - то нет
> ОС, нет проца, нет компилируемого кода, нет
> ПЗУ ( только факт срабатывания) подушек безопасности - смотри выше.

И все это никак не поможет при въезде в стену, бетонный столб или фуру на 100km/h - а значит, по "логике" выше, "И где обещанная безопасность? А если ее нет, то значит нинужна!"

> ЭКУ - то че? ЭБУД ( по госту), он же EMU? -
> ну да, код есть, но он написан не человеком )). И
> да, он работает под железным гипервизором на 200 баит прошивки, чуть
> не так - hardware reset. В такие вещи писюкатых погромиздов не
> пускают

Сам придумал, сам оспорил - настоящий опеннетовец! ))


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

170. Сообщение от Аноним (170), 04-Янв-21, 17:59   +/
Какие несуществующие проблемы решены в этот раз?
Ответить | Правка | Наверх | Cообщить модератору

171. Сообщение от Аноним (170), 04-Янв-21, 17:59   +/
А от ковида раст уже защищает?
Ответить | Правка | Наверх | Cообщить модератору

172. Сообщение от Wilem82 (?), 05-Янв-21, 12:15   +/
А зачем ты его собираешь? Ладно, допустим на то есть нормальная причина - ну собрал ты его один раз, какая разница сколько он собирался? Запускается-то он потом не час, а мгновенно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

173. Сообщение от Michael Shigorinemail (ok), 05-Янв-21, 16:04   +/
> Ты огорчаешь меня.

YHBT :]

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #104 Ответы: #174

174. Сообщение от Ordu (ok), 05-Янв-21, 22:14   +/
>> Ты огорчаешь меня.
> YHBT :]

Тоже мне, открыл Америку. Меня постоянно троллят, в этом-то и весь фан.

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

175. Сообщение от Аноним (175), 06-Янв-21, 15:32   +/
Не нужно
Ответить | Правка | Наверх | Cообщить модератору


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

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




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

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