The OpenNET Project / Index page

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



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

Оглавление

Выпуск языка программирования Rust 1.54, opennews (??), 29-Июл-21, (0) [смотреть все]

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


185. "Выпуск языка программирования Rust 1.54"  –1 +/
Сообщение от Хан (?), 30-Июл-21, 03:52 
Не спор ради спора, а по сути естественный отбор в ЯП и их фан базе... если их язык дно, а они толстенькие неженки с айфончиками тогда их чудотехнологию раздавят как катком адепты других ЯП вот с такими огроменными яелами
Ответить | Правка | К родителю #177 | Наверх | Cообщить модератору

189. "Выпуск языка программирования Rust 1.54"  –1 +/
Сообщение от deeaitch (ok), 30-Июл-21, 03:59 
Есть забавная история, с месяц назад. Я уже писал о том как пробовал использовать Rust в automotive. Повторятся не буду.

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

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

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

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

194. "Выпуск языка программирования Rust 1.54"  –1 +/
Сообщение от Хан (?), 30-Июл-21, 04:11 
Лол конечно... но что с них взять?

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


Короче образование уровня Уганды и все

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

203. "Выпуск языка программирования Rust 1.54"  –1 +/
Сообщение от deeaitch (ok), 30-Июл-21, 04:30 
Понимаешь, мне потом кошмары реально снились от таких инопланетных технологий.
Ответить | Правка | Наверх | Cообщить модератору

212. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Хан (?), 30-Июл-21, 04:37 
Я аж заскринил это))) но ты хоть обьяснил пареньку в чем суть?
Ответить | Правка | Наверх | Cообщить модератору

214. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от deeaitch (ok), 30-Июл-21, 04:44 
Нет, я не выдержал после того как он сказал что авторитетно может заявить что iOS это Linux и я ему могу верить потому что он специалист.

Мой мозг взорвался.

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

217. "Выпуск языка программирования Rust 1.54"  +1 +/
Сообщение от deeaitch (ok), 30-Июл-21, 04:49 
> Я аж заскринил это))) но ты хоть обьяснил пареньку в чем суть?

А как я мог объяснить по сути? Я даже не понимал за какую базу закрепится если там полностью инопланетяне скушали мозги. Где точка отсчёта? на основании чего эту всю кашу в голове можно разобрать? ААААААААААААААА

Зачем я про него вспомнил. Опять кошмары будут.

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

198. "Выпуск языка программирования Rust 1.54"  –1 +/
Сообщение от Хан (?), 30-Июл-21, 04:17 
Или спроси по приколу почему цикл никогда не вызовет переполнение стека в отличии от рекурсии
Ответить | Правка | К родителю #189 | Наверх | Cообщить модератору

206. "Выпуск языка программирования Rust 1.54"  –1 +/
Сообщение от deeaitch (ok), 30-Июл-21, 04:30 
Слушай, гениально. Всё, у меня на следующей неделе собеседование. Я обязательно спрошу. Классный вопрос. Спасибо.
Ответить | Правка | Наверх | Cообщить модератору

213. "Выпуск языка программирования Rust 1.54"  –1 +/
Сообщение от Хан (?), 30-Июл-21, 04:41 
Ну или такое, чем технически отличается глобальная переменная от статической?(спойлер... ничем... разница лишь в том что в функции известен ее адрес в исполняемом коде, а за ее пределами ее адрес не известен)
Ответить | Правка | Наверх | Cообщить модератору

215. "Выпуск языка программирования Rust 1.54"  –2 +/
Сообщение от deeaitch (ok), 30-Июл-21, 04:44 
Такой у меня уже есть вопрос.
Ответить | Правка | Наверх | Cообщить модератору

220. "Выпуск языка программирования Rust 1.54"  –2 +/
Сообщение от Хан (?), 30-Июл-21, 05:05 
Значит разрабы правильно юзают возрат из функции по ссылке на статическую переменную ибо безопасно
Ответить | Правка | Наверх | Cообщить модератору

386. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноним (376), 30-Июл-21, 17:57 
И юзают в другом потоке?
Ответить | Правка | Наверх | Cообщить модератору

374. "Выпуск языка программирования Rust 1.54"  +1 +/
Сообщение от Аноним (349), 30-Июл-21, 17:18 
Если статическая внутри функции или блока кода то даже в c++ 98 отличаются так как инициалируется только если был вход в функцию, а начиная с c++ 11 еще обязаны потокобезопасно инициализироваться https://en.cppreference.com/w/cpp/language/storage_duration#...
Ответить | Правка | К родителю #213 | Наверх | Cообщить модератору

232. "Выпуск языка программирования Rust 1.54"  +1 +/
Сообщение от Аноньимъ (ok), 30-Июл-21, 05:36 
Теперь поцелуйтесь.
Ответить | Правка | К родителю #206 | Наверх | Cообщить модератору

485. "Выпуск языка программирования Rust 1.54"  –2 +/
Сообщение от deeaitch (ok), 31-Июл-21, 02:41 
> Теперь поцелуйтесь.

Это ты к сладкой парочке Fracta1L и iPony обращайся, они по этому делу.

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

378. "Выпуск языка программирования Rust 1.54"  –1 +/
Сообщение от n00by (ok), 30-Июл-21, 17:30 

int main()
{
  for(int i = 1; ; ++i) {
    volatile int _[i];
    *_ = i;
  }
}

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

391. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноним (376), 30-Июл-21, 18:05 
> int _[i]

это на каком языке? не на си++ точно, на си++ так массивы можно только с константами объявлять

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

405. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от n00by (ok), 30-Июл-21, 18:51 
>> int _[i]
> это на каком языке?

C99

> не на си++ точно, на си++ так массивы
> можно только с константами объявлять

Пффф. Ломать не строить! man alloca.

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

416. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноним (376), 30-Июл-21, 19:19 
А ничего что alloca в куче выделяет память, а не в стеке?
Ответить | Правка | Наверх | Cообщить модератору

421. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от n00by (ok), 30-Июл-21, 19:38 
> А ничего что alloca в куче выделяет память, а не в стеке?

ОПИСАНИЕ
       Функция  alloca()  выделяет  size  байтов  памяти  в  стековом  кадре вызывающего. Это временное
       хранилище данных автоматически освобождается после возврата из функции, вызвавшей alloca().

https://www.opennet.ru/man.shtml?topic=alloca&category=3&rus...

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

418. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноним (376), 30-Июл-21, 19:25 
alloca не выделит памяти больше, чем возможно
Ответить | Правка | К родителю #405 | Наверх | Cообщить модератору

423. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от n00by (ok), 30-Июл-21, 19:43 
> alloca не выделит памяти больше, чем возможно

Заблуждаетесь. Например, RPM5 в Rosa Tresh падал как раз из-за alloca() при установке пакетов с количеством фалов больше определённого.

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

486. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от deeaitch (ok), 31-Июл-21, 02:42 
>
 
> int main()
> {
>   for(int i = 1; ; ++i) {
>     volatile int _[i];
>     *_ = i;
>   }
> }
>

А сказать чего хотел? Или мы тут играем в телепатов как компилятор rust который на этапе компиляции предугадывает сколько я данных из файла в массив загружу? По крайней мере так любят утверждать некоторые фанаты.

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

500. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от n00by (ok), 31-Июл-21, 07:39 
>[оверквотинг удален]
>> {
>>   for(int i = 1; ; ++i) {
>>     volatile int _[i];
>>     *_ = i;
>>   }
>> }
>>
> А сказать чего хотел? Или мы тут играем в телепатов как компилятор
> rust который на этапе компиляции предугадывает сколько я данных из файла
> в массив загружу? По крайней мере так любят утверждать некоторые фанаты.

Скопирую контекст из сообщений, на которые я отвечал:
>>  Или спроси по приколу почему цикл
>> никогда не вызовет переполнение стека в отличии от рекурсии
> Слушай, гениально. Всё, у меня на следующей неделе собеседование.
> Я обязательно спрошу. Классный вопрос. Спасибо.

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

522. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от deeaitch (ok), 31-Июл-21, 14:59 
>[оверквотинг удален]
>>> }
>>>
>> А сказать чего хотел? Или мы тут играем в телепатов как компилятор
>> rust который на этапе компиляции предугадывает сколько я данных из файла
>> в массив загружу? По крайней мере так любят утверждать некоторые фанаты.
> Скопирую контекст из сообщений, на которые я отвечал:
>>>  Или спроси по приколу почему цикл
>>> никогда не вызовет переполнение стека в отличии от рекурсии
>> Слушай, гениально. Всё, у меня на следующей неделе собеседование.
>> Я обязательно спрошу. Классный вопрос. Спасибо.

А, вот оно что. Спасибо что контекст вернул, тут иногда его трудно отследить.

Что-ж, замечание достойное, принимается. Но поскольку мы тут стали играть в задачки со звёздочками твой пример не сработал. Давай подумаем почему?

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

534. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от n00by (ok), 31-Июл-21, 17:09 
>[оверквотинг удален]
>>> в массив загружу? По крайней мере так любят утверждать некоторые фанаты.
>> Скопирую контекст из сообщений, на которые я отвечал:
>>>>  Или спроси по приколу почему цикл
>>>> никогда не вызовет переполнение стека в отличии от рекурсии
>>> Слушай, гениально. Всё, у меня на следующей неделе собеседование.
>>> Я обязательно спрошу. Классный вопрос. Спасибо.
> А, вот оно что. Спасибо что контекст вернул, тут иногда его трудно
> отследить.
> Что-ж, замечание достойное, принимается. Но поскольку мы тут стали играть в задачки
> со звёздочками твой пример не сработал. Давай подумаем почему?

А зачем думать? У меня переполняет. Достаточно, что бы опровергнуть "никогда не вызовет переполнение". Выполнил ли кто-то ulimit -s 500000000, задал размер стека в заголовке PE образа, или же при адресации проскочили сторожевую страницу и программа завершилась "без ошибок" -- важно не это, а что она обязательно где-то упадёт. Просто изменят тип счётчика на "правильный" и она упадёт.

Она упадёт даже без цикла и с константным размером массива, потому что где-то WCHAR_MAX всего 65535, а где-то нет.

Она вообще просто так возьмёт и упадёт, потому что... смотрите внимательно за руками, что бы я не смухлевал:

Like all other architectures, x86_64 has a kernel stack for every
active thread.  These thread stacks are THREAD_SIZE (2*PAGE_SIZE) big.
https://www.kernel.org/doc/Documentation/x86/kernel-stacks

arch/x86/include/asm/page_32_types.h:#define THREAD_SIZE_ORDER    1
arch/x86/include/asm/page_32_types.h:#define THREAD_SIZE        (PAGE_SIZE << THREAD_SIZE_ORDER)

arch/x86/include/asm/page_64_types.h:#define THREAD_SIZE_ORDER    (2 + KASAN_STACK_ORDER)
arch/x86/include/asm/page_64_types.h:#define THREAD_SIZE  (PAGE_SIZE << THREAD_SIZE_ORDER)
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux...

но пока везёт и "у меня на виртуалке всё работает!"

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

570. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от deeaitch (ok), 01-Авг-21, 09:51 
> А зачем думать?

Действительно, зачем? Ведь божественный раст все спасёт. Удачи тебе ездить на авто писанное такими думателями.

p.s. ссылки твои и аргументы я рассмотрел. Ты в чём-то безусловно прав. Замечания все достойны.

Только вот нет, не упал твой весёлый цикл, прикинь. А как так?

Тут подумать бы. Но зачем? Ведь так?

p.p.s. раст валится ещё хуже кстати говоря и на более элементарных вещах. Подумать только надо. Но тут ведь "А зачем думать?"

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

574. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от n00by (ok), 01-Авг-21, 12:52 
Господин экзаменатор, я не у Вас на собеседовании. Если Вы согласились с тезисом, который по факту оказался ложным -- подумайте над этим сами. Да, "подумаем" -- это множественное число, а не только привычная манипуляторам фигура речи. Так что Ваша очередь, и нечего тут пальцы загибать, приплетая не относящийся к вопросу язык.
Ответить | Правка | Наверх | Cообщить модератору

597. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от deeaitch (ok), 02-Авг-21, 00:47 
> Господин экзаменатор, я не у Вас на собеседовании. Если Вы согласились с
> тезисом, который по факту оказался ложным -- подумайте над этим сами.
> Да, "подумаем" -- это множественное число, а не только привычная манипуляторам
> фигура речи. Так что Ваша очередь, и нечего тут пальцы загибать,
> приплетая не относящийся к вопросу язык.

Цетирую: "А зачем думать?"

Автора хоть узнали? ;)

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

621. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от n00by (ok), 02-Авг-21, 12:16 
>> Господин экзаменатор, я не у Вас на собеседовании. Если Вы согласились с
>> тезисом, который по факту оказался ложным -- подумайте над этим сами.
>> Да, "подумаем" -- это множественное число, а не только привычная манипуляторам
>> фигура речи. Так что Ваша очередь, и нечего тут пальцы загибать,
>> приплетая не относящийся к вопросу язык.
> Цетирую: "А зачем думать?"
> Автора хоть узнали? ;)

Естественно, я же помню контекст -- это мой ответ на предложение "давайте подумаем". Я не знаю, зачем мне думать о причине, из-за которой заведомо ошибочный пример не упал в частном случае -- запустить, что бы оно "работало", я тоже могу. Не вижу каких-либо подробностей о сборке и запуске. Не вижу других гипотез, лишь убеждения подумать. Не спорю, надо, значит надо. Давайте уже подумаем. :)

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

598. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от deeaitch (ok), 02-Авг-21, 00:50 
> Господин экзаменатор, я не у Вас на собеседовании. Если Вы согласились с
> тезисом, который по факту оказался ложным -- подумайте над этим сами.
> Да, "подумаем" -- это множественное число, а не только привычная манипуляторам
> фигура речи. Так что Ваша очередь, и нечего тут пальцы загибать,
> приплетая не относящийся к вопросу язык.

Не, человек, ты в принципе молодец. Отличный пример, отличное замечание. Жалко только что немного не туда и не о том. Но вообще мне понравилось и появилось дополнительно интересное.

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

623. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от n00by (ok), 02-Авг-21, 12:33 
> Жалко только что немного не туда и не о том.

Не туда -- это исходный умняк про невозможность переполнения стека в цикле, в отличие от рекурсии. Кто не знает как переполнить стек в цикле, тот просто не умеет с ним работать, благо, это редко когда требуется -- в стандарте Си нет никакого стека. Когда есть понимание, что при рекурсивном вызове не обязательно использовать инструкцию процессора call и размещать адрес возврата на стеке, тогда цикл появляется сам собой. При этом цикл может накапливать какие-либо данные на стеке и точно так же его переполнит.

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

329. "Выпуск языка программирования Rust 1.54"  +1 +/
Сообщение от Аноним (316), 30-Июл-21, 13:38 
>если контроллеру не хватает памяти то он может попросить у другого через глобальные переменные....

Офигеть, прямо NUMA-кластер контроллеров!

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

192. "Выпуск языка программирования Rust 1.54"  +2 +/
Сообщение от Аноним (110), 30-Июл-21, 04:07 
Бред какой-то. Я думал, что пригодность языка определяет его эфыктивность и удобство при решении задач, а не игра кто кого перевоняет в интернете.
Ответить | Правка | К родителю #185 | Наверх | Cообщить модератору

195. "Выпуск языка программирования Rust 1.54"  +1 +/
Сообщение от Хан (?), 30-Июл-21, 04:11 
Вспомни D
Ответить | Правка | Наверх | Cообщить модератору

196. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Хан (?), 30-Июл-21, 04:12 
Не перевоняет, а докажет ненужность... этл разные вещи
Ответить | Правка | К родителю #192 | Наверх | Cообщить модератору

223. "Выпуск языка программирования Rust 1.54"  +1 +/
Сообщение от Аноним (222), 30-Июл-21, 05:14 
Хаааан, ты уже обоср@лся в каждой ветке под этой новостью. Заканчивай.
Ответить | Правка | Наверх | Cообщить модератору

207. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от deeaitch (ok), 30-Июл-21, 04:32 
Добро пожаловать в реальность.
Ответить | Правка | К родителю #192 | Наверх | Cообщить модератору

260. "Выпуск языка программирования Rust 1.54"  +/
Сообщение от Аноним (260), 30-Июл-21, 08:06 
Мне больше интересно как эти неженки смогли бы исправить ошибку в месе, которая приводила к тирингу в i3, и может других рабочих столах/вмах. Пусть эти малохольные как админы поддерживающие прости господи шиндоуз и линукс в одной конторе учат Си, С++, Ржавого, Жабу, Жабоскрипт, баш, питон и лишь потом вылезают с авторитетными комментариями. Даже создатели языков Си и С++ вели себя скромнее.
Ответить | Правка | К родителю #185 | Наверх | Cообщить модератору

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

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




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

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