The OpenNET Project / Index page

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



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

Оглавление

Выпуск языка программирования Rust 1.47, opennews (ok), 08-Окт-20, (0) [смотреть все]

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


73. "Выпуск языка программирования Rust 1.47"  +2 +/
Сообщение от Аноним (73), 09-Окт-20, 08:41 
Для Си не надо писать тонну кода, достаточно понимать что есть память и как она устроена в принципе. А так же понимать как процессор исполняет ту или иную инструкцию.
А то вебмакаки решили писать системный софт, и вдруг внезапно оказалось, что есть указатели, стеки и т.п.
Ответить | Правка | Наверх | Cообщить модератору

79. "Выпуск языка программирования Rust 1.47"  +1 +/
Сообщение от inferrna (ok), 09-Окт-20, 10:28 
А если задача написать не системный, а вообще софт? Вот писала вебмакака на ноде или питоне, а потом решила всё то же самое на чём-то более быстром. На расте - да запросто, конпелятор направит и подскажет. На сях/плюсах - "Молодой человек, ну как же вы так, надо было сперва с отличием окончить ВУЗ по специальности 'Прикладная информатика'..."
Ответить | Правка | Наверх | Cообщить модератору

84. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Lex (??), 09-Окт-20, 11:00 
Да нет, не запросто. Синтаксис его столь специфический, что даже Obj-C - и тот макакинсу будет изучить проще.

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

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

93. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от inferrna (ok), 09-Окт-20, 11:31 
>Синтаксис его столь специфический

Из специфического там, разве что, лайфтаймы. Типы в угловых скобках вполне себе из плюсов и джавы. Что касается лайфтаймов, то это тонкая оптимизация для ценителей, без которой часто можно обойтись, оборачивая в Rc/Arc или тупо клонируя объект. В этом случае код получается чуть менее оптимальным, но всё равно значительно быстрее, чем на других хипстерских языках.

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

150. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Lex (??), 09-Окт-20, 16:33 
>>Синтаксис его столь специфический
> Из специфического там, разве что, лайфтаймы. Типы в угловых скобках вполне себе
> из плюсов и джавы. Что касается лайфтаймов, то это тонкая оптимизация
> для ценителей, без которой часто можно обойтись, оборачивая в Rc/Arc или
> тупо клонируя объект. В этом случае код получается чуть менее оптимальным,
> но всё равно значительно быстрее, чем на других хипстерских языках.

У меня, при мощных оптимизациях( но в отсутствие грязных ) хеллоуворд весил под 300 Кб, когда интересовался темой и прикидывал по минимальным весам бинарников.
Можно ли назвать мусорку такого размера оптимальным и оптимизированным кодом ?

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

157. "Выпуск языка программирования Rust 1.47"  +5 +/
Сообщение от анонн (ok), 09-Окт-20, 17:29 
> У меня, при мощных оптимизациях( но в отсутствие грязных ) хеллоуворд весил
> под 300 Кб, когда интересовался темой и прикидывал по минимальным весам
> бинарников.
> Можно ли назвать мусорку такого размера оптимальным и оптимизированным кодом ?


$ rustc -V
rustc 1.46.0
$ cat hello.rs
fn main() {
  println!("Hello World!");
}

$ rustc -O hello.rs && ll hello
-rwxr-x---  1 анонн  wheel   320K  9 Okt. 16:27 hello*
$ strip hello && ll hello
-rwxr-x---  1 анонн  wheel   247K  9 Okt. 16:27 hello*

$ rustc -O -C prefer-dynamic hello.rs && ll hello                                
-rwxr-x---  1 анонн  wheel   8,7K  9 Okt. 16:27 hello*

$ strip hello && ll hello
-rwxr-x---  1 анонн  wheel   6,4K  9 Okt. 16:27 hello*

$ gcc --version                                                                    
$ gcc (FreeBSD Ports Collection) 9.3.0
$ cat hw.c && gcc -O2 -s -static hw.c -o hw && ll hw                            
#include <stdio.h>
int main(void) {
    puts("Hello World!");
    return 0;
}
-rwxr-x---  1 анонн  wheel   562K  9 Okt. 16:29 hw*


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

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

267. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Lex (??), 10-Окт-20, 11:52 

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

Всё так. В «лучших традициях» опеннотовских «анонов», которые, то ли себя слишком умными считают, то ли остальных - слишком тупыми.

Непосредственный вывод сообщения в консоль - это несколько БАЙТ кода.

Когда я пишу хэллоуворд с выводом в консоль статической строки текста на «языке, поддерживающем просто невероятные уровни оптимизации и безопасности», я, совершенно справедливо, ожидаю, что, хотя бы в самых примитивных случаях оно будет действительно серьезно оптимизировать, а не черти как( ещё и тянуть кучу мусора ).

Каков итог ?
Даже с динамической линковкой из «разоблачающего» сообщения, вес самой примитивной проги - 9 КИЛОБАЙТ, а дополнительно покромсанной - «невероятных» 6,5 Кб.

С линковкой статической - СОТНИ КИЛОБАЙТ.
Сотни килобайт, карл, для обыкновенного выбрасывания статической строки в консоль! И это в случае со штуковиной, имеющей себя едва ли не крутейший в плане оптимизации проч!
Что это за оптимизации такие, которые допускают столько мусора и воды в, казалось бы, даже самой элементарной задаче ?

Особенно забавно сравнение с Сишкой, которая легковесностью стандартных библиотек в принципе никогда не отличалась( мб потому анон в твоём лице с ней и сравнивал ? -Лично я в предыдущих сообщениях сишку даже не упоминал )

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

268. "Выпуск языка программирования Rust 1.47"  +1 +/
Сообщение от анонн (ok), 10-Окт-20, 12:48 
>> хеллоуворд весил под 300 Кб, когда интересовался темой и
> Непосредственный вывод сообщения в консоль - это несколько БАЙТ кода.
> Когда я пишу хэллоуворд с выводом в консоль статической строки текста на
> «языке, поддерживающем просто невероятные уровни оптимизации и безопасности», я, совершенно справедливо, ожидаю,
> ...
> Каков итог ?
> Даже с динамической линковкой из «разоблачающего» сообщения, вес самой примитивной
> проги - 9 КИЛОБАЙТ, а дополнительно покромсанной - «невероятных» 6,5 Кб.
>> хеллоуворд весил под 300 Кб, когда интересовался темой

О, пошли (никому кроме очередного д'Артаньяна не интересные) простыни оправдываний и отмазок.
Заодно мы узнали, что ни о минимальном размере эльфа, ни о том, как работает линковка и какие у нее есть ограничения связанные с оптимизацей (хинт: LTO) - д'Артаньян не в курсе.

> С линковкой статической - СОТНИ КИЛОБАЙТ.
> Сотни килобайт, карл, для обыкновенного выбрасывания статической строки в консоль! И это в случае со штуковиной, имеющей себя едва ли не крутейший в
> плане оптимизации проч!
> Что это за оптимизации такие, которые допускают столько мусора и воды в,
> казалось бы, даже самой элементарной задаче?

Ну, тебя никто за пальцы не тянул.


$ cat hw.c && gcc -O2 -s -static hw.c -o hw && ll hw                            
#include <stdio.h>
int main(void) {
    puts("Hello World!");
    return 0;
}
-rwxr-x---  1 анонн  wheel   562K  9 Okt. 16:29 hw*

$ gcc -O2 -s -flto hw.c -o hw && ll hw
-rwxr-x---  1 анонн  wheel   4,8K 10 Okt. 11:51 hw*

> Особенно забавно сравнение с Сишкой, которая легковесностью стандартных библиотек в принципе никогда не отличалась( мб потому анон в твоём лице с ней
> и сравнивал ? -Лично я в предыдущих сообщениях сишку даже не
> упоминал )

Особенно забавны виляния жопой очередного "сравнителя", которого ткнули носом в попадание под его "необычайно меткое определение" и "божественной" Сишечки. Сразу начинается "Я не я! Мопед не мой! Я такого не говорил!".


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

325. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от fuggy (ok), 13-Окт-20, 17:45 
А если Rust ещё с #![no_std] написать. Только тогда и int main() самому обрабатывать надо будет. Зато не будет libstd. Если захотели размером померяться. А ещё Rust любит символы panic в helloworld добавлять, хотя они там скорее всего не нужны.
Ответить | Правка | Наверх | Cообщить модератору

88. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Онаним (?), 09-Окт-20, 11:20 
- А если задача написать не системный, а вообще софт?
Тогда нужно повышать квалификацию для начала.
И никакие хипстерские язычки тут не помогут.

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

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

96. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от inferrna (ok), 09-Окт-20, 11:44 
Эхх. Ну, к примеру: однажды я в многопоточном проекте на джаве получил гонку и ошибку ConcurrentModificationException. Спасибо, жаба, что не свалилась в сегфолт, а выдала ошибку. Да, я макака, недосмотрел, а на сях/плюсах и вовсе потратил бы неделю на отладку, а тут - всего через 3 дня нормальной работы кода вылезла эта ошибка. Фишка раста в том, что на нём такой ошибки не случилось бы вовсе.
И это бонус даже не для программиста, а для бизнеса: можно набрать макакенов, вроде меня, и они напишут сносный софт без сюрпризов с UB в будущем.
Ответить | Правка | Наверх | Cообщить модератору

85. "Выпуск языка программирования Rust 1.47"  +3 +/
Сообщение от nelsonemail (??), 09-Окт-20, 11:11 
В этом вся суть раста - дать возможность писать системный софт людям, которые не являются системными программистами. Ничего толкового, кроме кучи "супербыстрых веб-фреймворков", растишки так и не выдали, но зато получили возможность фантазирования насчёт "замены С".

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

Веб уже изгадили, на очереди диверсия в отношении системного программирования.

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

89. "Выпуск языка программирования Rust 1.47"  +2 +/
Сообщение от Онаним (?), 09-Окт-20, 11:22 
Люди, которые не являются системными программистами по квалификации, писать системный софт не должны.
Это деградация отрасли. Давайте ещё пустим младших медицинских сестёр в хирурги сразу, чего уж там.
Ответить | Правка | Наверх | Cообщить модератору

124. "Выпуск языка программирования Rust 1.47"  +1 +/
Сообщение от анон (?), 09-Окт-20, 14:17 
Вот вам скальпель с целеуказателем, он вам не даст отрезать ногу пациента при операции на сердце, вперед, 3 класса церковно-приходской не приговор?
Ответить | Правка | Наверх | Cообщить модератору

222. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от СССР (?), 09-Окт-20, 23:42 
ахахаххаха, класс ! ))
Ответить | Правка | Наверх | Cообщить модератору

107. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от red75prim (?), 09-Окт-20, 12:57 
Ага. Достаточно, чтобы писать 100 строчные хелловорлды. А как начинается промышленная разработка, то появляется необходимость в санитайзерах, фаззерах, code review тысячами глаз в опенсурсе и т.д и т.п. И всё-равно CVE регулярно появляются.
Ответить | Правка | К родителю #73 | Наверх | Cообщить модератору

258. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Ананимус (?), 10-Окт-20, 10:28 
Покажи мне хотя бы один большой сишный проект без проблем с памятью.
Ответить | Правка | К родителю #73 | Наверх | Cообщить модератору

295. "Выпуск языка программирования Rust 1.47"  +/
Сообщение от Прохожий (??), 11-Окт-20, 20:55 
Программистов из Microsoft, Oracle и прочих мегакорпораций тяжело назвать вебмакаками. А поди ж ты, проблемы с утечкой памяти никуда не исчезают, даже несмотря на суперпродвинутые компиляторы и проверяльщики.
Язык программирования - он не ради процесса придумывается. А ради решения конкретных задач. Если появляется новый язык, который позволяет решать задачи лучше старого (при прочих равных, само собой), старый язык должен отправляться в топку. Это логично.
Ответить | Правка | К родителю #73 | Наверх | Cообщить модератору

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

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




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

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