The OpenNET Project / Index page

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



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

Оглавление

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

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


38. "Выпуск языка программирования Rust 1.63"  –1 +/
Сообщение от Аноним (23), 12-Авг-22, 03:00 
Zig в миллион, в миллиард раз лучше и эффективнее чем С.

Во-первых, он гораздо, на порядок более низкоуровневый, чем С. Он быстрее чем С. Он обгоняет его во всём.

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

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

42. "Выпуск языка программирования Rust 1.63"  +1 +/
Сообщение от Ivan_83 (ok), 12-Авг-22, 03:39 
Я ходил на сайт и ничего подобного там не заявлено.
Ответить | Правка | Наверх | Cообщить модератору

46. "Выпуск языка программирования Rust 1.63"  +2 +/
Сообщение от Анончик (?), 12-Авг-22, 03:45 
Да это один и тот же сумасшедший, сначало про карбон спамит, теперь про зиг.
Смотрите на стиль написание, заметите сходства.
Ответить | Правка | Наверх | Cообщить модератору

50. "Выпуск языка программирования Rust 1.63"  +/
Сообщение от Аноним (23), 12-Авг-22, 04:11 
Там какой-то дурачок местный про Carbon пишет из воинов супротив Rust-а.

Я лишь свой опыт описываю. Благо в своё время пару лет писал на С.

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

51. "Выпуск языка программирования Rust 1.63"  –2 +/
Сообщение от Аноним (23), 12-Авг-22, 04:30 
1. Можно сделать unrolling конкретного цикла (inline for, inline while).

2. Поддерживается SIMD в языка (тип Vector)

3. Можно изменить calling convention для конкретной функции

4. Можно вставлять ассемблерный код

5. Можно отключать padding для структур и их layout становится детерминированным (packed structs)

7. Нету типа "строка" (т.к. строки это просто набор байт и имеют разную кодировку).

8. Отличная интероперабельность с C из коробки

9. Можно задавать align для типа (структуры, выделенного куска памяти и т.п.; С этого не умеет и ничего об align не знает)

10. @fieldParentPtr - Given a pointer to a field, returns the base pointer of a struct. Как это сделать в С?

11. Можно получить frame функции - @frame - This function returns a pointer to the frame for a given function.

И ещё много того, чего С и не снилось.

Про то что Zig быстрее С и генерирует лучше код и вообще заточен на максимальные оптимизации - это не документацию надо читать, а pull request-ы и сравнения генерируемого кода.

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

52. "Выпуск языка программирования Rust 1.63"  +/
Сообщение от Ivan_83 (ok), 12-Авг-22, 05:25 
Это всё либо доступно в си либо не очень то и нужно.
Ответить | Правка | Наверх | Cообщить модератору

53. "Выпуск языка программирования Rust 1.63"  –3 +/
Сообщение от Аноним (23), 12-Авг-22, 06:04 
Ну да, ну да. Такого ответа я и ожидал.

И где же это доступно в С? Хотелось бы по пунктам.

В С большинство из этого нет и никогда не будет. Можно какие-то вещи сделать используя нестандартные фичи компилятора. Но к С это отношения никакого не имеет.

И да, это всё очень нужно чтобы писать по-настоящему низкоуровневый и по-настоящему быстрый код.

Там ещё есть куча всего интересного.

Направленного на производительность, чего в С нет.

Про корректность и сравнивать нечего.

Zig намного намного лучше и безопаснее чем С.

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

112. "Выпуск языка программирования Rust 1.63"  +/
Сообщение от Ivan_83 (ok), 12-Авг-22, 13:42 
Доступно в С означает что написано.
Это не означает что это втащили в сам С.
Этого вполне достаточно.
Ответить | Правка | Наверх | Cообщить модератору

54. "Выпуск языка программирования Rust 1.63"  +/
Сообщение от Аноним (23), 12-Авг-22, 06:10 
Ну-ка, как работать с direct i/o где память требует выравнивания 512?

Ах...в С этого сделать нельзя и можно передать память с неправильным выравниванием. И всё успешно скомпилируется.

Какая печаль :))) Какой "низкоуровневый" и "безопасный" язык С.

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

113. "Выпуск языка программирования Rust 1.63"  +/
Сообщение от Ivan_83 (ok), 12-Авг-22, 13:43 
Ответ очень простой: написать аллокатор или использовать имеющися.
Не нужно тащить это в язык.
Ответить | Правка | Наверх | Cообщить модератору

194. "Выпуск языка программирования Rust 1.63"  +/
Сообщение от Прохожий (??), 12-Авг-22, 18:28 
Давайте посравниваем C с ассемблером. Любой программист на ассемблере может задать вам тот же вопрос - зачем эти абстракции в C, зачем тащить это в язык? Просто поразмыслите на досуге. Абстракции призваны упрощать жизнь. Если они бесплатны, то почему бы и не притащить их в язык?
Ответить | Правка | Наверх | Cообщить модератору

241. "Выпуск языка программирования Rust 1.63"  +/
Сообщение от Ivan_83 (ok), 12-Авг-22, 21:25 
Любой пограмист на асембллере знает ответ: ради портабельности/переносимости.
Кроме того подмножество С значительно меньше подмножества ассемблера.
Ответить | Правка | Наверх | Cообщить модератору

262. "Выпуск языка программирования Rust 1.63"  +/
Сообщение от Прохожий (??), 13-Авг-22, 01:13 
Отлично. С обеспечивает переносимость и удобство за счёт своих абстракций. То есть, увеличивает производительность труда в конечном счёте. Те же выводы справедливы и по отношению к другим абстракциям в других ЯП.
Ответить | Правка | Наверх | Cообщить модератору

292. "Выпуск языка программирования Rust 1.63"  +/
Сообщение от Sw00p aka Jerom (?), 13-Авг-22, 12:11 
>Абстракции призваны упрощать жизнь.

посмотрел я на абстракцию присваивания int a = 0,и не понял, где мой нолик будет лежать, в регистрах, стеке, куче и т. д. и в итоге ни где не лежит, кхммм.

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

80. "Выпуск языка программирования Rust 1.63"  +/
Сообщение от Аноним (80), 12-Авг-22, 10:25 
Почти всё поддерживается gcc в си. Плюс сишные циклы можно автоматом распараллелить через OpenMP или вообще выгрузить на GPU, а зиг? https://gcc.gnu.org/wiki/Offloading
Ответить | Правка | К родителю #51 | Наверх | Cообщить модератору

78. "Выпуск языка программирования Rust 1.63"  +/
Сообщение от vAnd (?), 12-Авг-22, 10:19 
"шикарный внедорожник с кондиционером" может оказаться паркетником
Ответить | Правка | К родителю #38 | Наверх | Cообщить модератору

118. "Выпуск языка программирования Rust 1.63"  +/
Сообщение от Аноним (117), 12-Авг-22, 14:10 
Сравнивть повозку с клячей?
А внедорожник сравнивать с кондиционером?

Ваш ум, батенька, не знает формальных границ!

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

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

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




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

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