|
2.7, Ordu (ok), 11:24, 16/06/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
Как обычно, надо полагать. Data race исключаются как класс, пока ты не прибегаешь к unsafe, а остальное всё в твоих руках. А почему ты спрашиваешь? Есть основания полагать, что у него ситуация с thread-safety отличается от дефолтной в расте?
| |
|
3.14, lockywolf (ok), 12:14, 16/06/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Как обычно, надо полагать. Data race исключаются как класс, пока ты не
> прибегаешь к unsafe, а остальное всё в твоих руках. А почему
> ты спрашиваешь? Есть основания полагать, что у него ситуация с thread-safety
> отличается от дефолтной в расте?
Ну, я помню смешные курьёзы с errno, который в стандарте переменная, но для thread-safety сделано как макрос, разворачивающийся в вызов функции. Интересно, помнили ли об этом растовики, когда писали свой crate.
| |
|
4.15, Ordu (ok), 12:38, 16/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
> Ну, я помню смешные курьёзы с errno, который в стандарте переменная, но
> для thread-safety сделано как макрос, разворачивающийся в вызов функции.
Чё за курьёзы? Я не помню. Мне было бы интересно посмотреть, как кто-то не справился не заметить таких нюансов.
> Интересно, помнили
> ли об этом растовики, когда писали свой crate.
А, ну это общая проблема создания safe API поверх unsafe операций. Тут она несколько осложняется тем, что там unsafe будет во все поля из-за интерфейса с внешним кодом, который rustc не может проанализировать на safety, и поэтому на всякий случай считает unsafe. То есть, в unsafe будет заворачиваться слишком много, и поэтому придётся проявлять чудеса умения обходить грабли.
Да, вероятность косяков повышена. Тут ты прав.
| |
4.19, Аноним (19), 13:29, 16/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
'''
__thread int errno;
extern __thread int __libc_errno __attribute__ ((alias ("errno"))) attribute_hidden;
'''
| |
|
3.38, Прорыв_запарты_фелиал (ok), 20:59, 16/06/2021 [^] [^^] [^^^] [ответить]
| –4 +/– |
А вот и жертвы пропаганды нарисовались. Модель памяти раста не предполагает конкурентного доступа, а когда нет конкурентного доступа нет гонок. Тебя обманули. Меньше лозунгов ретранслируй и больше тему изучай.
Представляешь, отличается. Раз раст не может в конкурентный доступ, то любое его наличие требует unsafe, хотя unsafe к расту не имеет никакого отношения, потому как имеет как минимум другую модель памяти, даже базовые примитивы иные. Потому как это просто обёртка поверх llvm-ir и сишного интеропа с llvm.
| |
|
4.41, Ordu (ok), 21:20, 16/06/2021 [^] [^^] [^^^] [ответить]
| +6 +/– |
> А вот и жертвы пропаганды нарисовались. Модель памяти раста не предполагает конкурентного
> доступа, а когда нет конкурентного доступа нет гонок.
race condition в расте делается элементарно. Сделай два mutex'а, и попробуй залочить их оба последовательно из параллельных потоков.
data race в расте элементарно не делается, unsafe нужен, как раз в силу этой самой модели памяти.
А конкурентный доступ есть, чтобы какую бы лапшу _тебе_ пропаганда не вешала на уши, есть Arc для менеджмента памятью в конкурентном окружении, и есть Mutex, для конкрентного доступа. Есть Send, говорящий о том, что значения данного типа можно прокидывать между потоками выполнения. Наконец, есть Sync, для типов навроде Mutex'а, которые не просто можно прокидывать между потоками, но шарить между потоками, в смысле иметь указатели на них в разных потоках одновременно.
И если Arc и Mutex -- это творения стандартной библиотеки и дают простор порассуждать, что это не раст как таковой, а библиотека к нему, то Send и Sync -- это трейты-маркеры типов, прошитые в язык, наряду с другими трейтами-маркерами формирующими модель памяти раста (чтобы это не означало), такими как Clone, Copy, ?Sized.
> Тебя обманули.
Конечно.
> Представляешь, отличается. Раз раст не может в конкурентный доступ, то любое его
> наличие требует unsafe,
Да, ты прикинь, они врут всё про безопасность: массивы тоже в расте не реализуются без unsafe'ов. Ты реально можешь заглянуть в сорцы core::slice и увидеть там как unsafe на unsafe unsafe'ом погоняет: https://doc.rust-lang.org/src/core/slice/mod.rs.html#86
| |
|
|
6.60, zig (??), 22:23, 16/06/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
Братишка, напиши про zig, а то чет его тут пеарят.
| |
|
7.64, Аноним (64), 02:12, 17/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
Я пиарил. Хотел на нём базу данных написать. Я руками его не трогал, но документацию и статьи внимательно прочитал.
Стоит посмотреть GitHub Issues - сразу становится понятно что он не готов для чего-то серьёзного.
Буду писать на Rust.
| |
|
6.63, Ordu (ok), 22:33, 16/06/2021 [^] [^^] [^^^] [ответить] | +5 +/– | Да-да, точно, и массивов в расте нет, потому что они реализуются на расте Что з... большой текст свёрнут, показать | |
|
|
|
|
|
|
2.20, Аноним (-), 13:40, 16/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
> прикольно бы еще напомнить что такое (e)bpf
Extended BlackArch Packet Filter
Хотя некоторые утверждают, что придумано оно было еще в доситорические времена в Blue Linux.
| |
|
3.35, Аноним (35), 19:34, 16/06/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> прикольно бы еще напомнить что такое (e)bpf
> Extended BlackArch Packet Filter
не BlackArch, а Berkley
| |
|
4.58, Аноним. (?), 22:14, 16/06/2021 [^] [^^] [^^^] [ответить]
| +3 +/– |
>>> прикольно бы еще напомнить что такое (e)bpf
>> Extended BlackArch Packet Filter
> не BlackArch, а Berkley
Berkeley Linux? Никогда о таком не слышал.
| |
|
|
|
|
2.11, Аноним (11), 12:02, 16/06/2021 [^] [^^] [^^^] [ответить]
| +3 +/– |
Спасибо, поржал. Продолжайте снабжать нас веселыми историями.
| |
|
3.17, JackoNeill (?), 13:02, 16/06/2021 [^] [^^] [^^^] [ответить]
| +3 +/– |
Самое страшное то, что весьма вероятно, смеяться то он будет как раз последним.
| |
|
|
1.27, anonymous (??), 17:39, 16/06/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Мляяя... jit в ядре, из под обычного пользователя, версия 2 - powered by rust. Дедушка Столлман, срочно, пили гпл4, проприерасты прорвались.
| |
1.28, Аноним (28), 17:54, 16/06/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Кто бы сомневался что всё равно без libc ничего не могут. Хипстеры такие хипстеры.
| |
|
|
3.42, Аноним (-), 21:22, 16/06/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
> но нашёл вот это:
> pub unsafe extern "C" fn strlen(cs: *const c_char) -> size_t
> https://docs.rs/libc/0.2.97/libc/fn.strlen.html
И чо? Тебя поразило в самое сердце, что для взаимодействия с внешними либами можно не переизобретать велосипед, а использовать решения для тех самых внешних либ? (для латентных ЖСкриптозников поясню - в Ржавчине char - это 4 байта, а String - отдельный тип в кодировке UTF-8, а не массив с костыл^W набором чаров)
| |
|
4.65, n00by (ok), 06:52, 17/06/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> но нашёл вот это:
>> pub unsafe extern "C" fn strlen(cs: *const c_char) -> size_t
>> https://docs.rs/libc/0.2.97/libc/fn.strlen.html
> И чо? Тебя поразило в самое сердце, что для взаимодействия с внешними
> либами можно не переизобретать велосипед, а использовать решения для тех самых
> внешних либ?
Да, меня это поразило. Вы еще про Бойер-Мура напишите для строк в 2 гигабайта, что бы я спросил: а зачем?
> (для латентных ЖСкриптозников поясню - в Ржавчине char -
> это 4 байта, а String - отдельный тип в кодировке UTF-8,
> а не массив с костыл^W набором чаров)
Если убрать малознакомые мне слова и попытки манипулировать, то правильно ли я понимаю, что тут написано о невозможности обработать массив октетов средствами Раста? (но этого не может быть).
| |
|
5.82, Аноним. (?), 13:32, 17/06/2021 [^] [^^] [^^^] [ответить] | +1 +/– | Свое не пахнет Тут написано о том, что строки в расте совсем другие А тепер... большой текст свёрнут, показать | |
|
6.87, n00by (ok), 14:14, 17/06/2021 [^] [^^] [^^^] [ответить] | –1 +/– | gt оверквотинг удален Предлагаю перечитать сообщение, на которое Вы отвечали ... большой текст свёрнут, показать | |
|
7.92, Аноним (92), 14:47, 17/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
>> но нашёл вот это:
>> pub unsafe extern "C" fn strlen(cs: *const c_char) -> size_t
>> что бы я спросил: а зачем?
> Предлагаю перечитать сообщение, на которое Вы отвечали. Там был задан вопрос на
> эту тему. Если не понятно, что такое Бойер-Мур, поищите в сети.
> Если Вы не готовы дать ответ не мой вопрос, не тратьте
> время.
Предлагаю перестать читать жопой и юлить и ответить наконец на вопрос: на*ера обязательно нужно велосипедить свою реализацию операции над _чужим_ типом данных? Что бы что?
| |
|
8.125, n00by (ok), 07:13, 18/06/2021 [^] [^^] [^^^] [ответить] | –1 +/– | То есть я сам должен ответить свой на вопрос, зачем Rust strlen Не проблема, ... текст свёрнут, показать | |
|
|
|
|
|
3.57, Аноним (57), 22:09, 16/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
strlen действительно могли бы реализовать сами, но может быть, нужен и конкретно текущей libc. А без malloc нельзя было бы работать с теми кривыми сишными поделиями, которым подай аллоцированное, а освободят они сами естественно сишным free
| |
|
4.67, n00by (ok), 07:01, 17/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
> strlen действительно могли бы реализовать сами, но может быть, нужен
> и конкретно текущей libc.
Зачем? Вызов внешней функции существенно дороже, чем встроенный (inline) подсчёт.
> А без malloc нельзя было бы работать
> с теми кривыми сишными поделиями, которым подай аллоцированное, а освободят они
> сами естественно сишным free
Не согласен с формулировкой. Можно. Да, для этого придётся переписать malloc на Rust и следить за изменениями эталонной реализации. Либо перехватывать вызовы free(). Это решаемая задача, но в данном случае трудозатраты вряд ли оправданы, как в случае со strlen().
| |
|
|
6.70, n00by (ok), 07:30, 17/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
> как вариант это просто автогенерированный код
Спасибо. Это разумный вариант.
| |
|
5.120, Аноним (120), 01:42, 18/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
И очень сильно и сложно приседать, чтобы ничего не ломалось при LD_PRELOAD, скажем, jemalloc, по сути вызывая написанный на расте код через FFI.
И это уже в одном шаге от переписывания libc на раст. Что на самом деле идея красивая но неосуществимая, ведь glibc ужасает не только качеством но и объемом кода
| |
|
6.124, n00by (ok), 07:10, 18/06/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
> И очень сильно и сложно приседать, чтобы ничего не ломалось при LD_PRELOAD,
> скажем, jemalloc, по сути вызывая написанный на расте код через FFI.
Это не эквивалентно "нельзя".
> И это уже в одном шаге от переписывания libc на раст. Что
> на самом деле идея красивая но неосуществимая, ведь glibc ужасает не
> только качеством но и объемом кода
Но Си ведь небезопасный язык. Значит libc небезопасна. Следовало переписать сначала её, а потом уже всё остальное.
| |
|
|
|
|
2.31, Аноним (-), 18:34, 16/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
> Кто бы сомневался что всё равно без libc ничего не могут. Хипстеры такие хипстеры.
https://man7.org/linux/man-pages/man2/syscalls.2.html
>> System calls are generally not invoked directly, but rather via
>> wrapper functions in glibc (or perhaps some other library).
Кто бы сомневался, что жопоскриптозники в вопросе разбираются как козы в апельсинах?
| |
|
|
4.34, Аноним (-), 18:57, 16/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
> Поскольку разбираетесь, подскажите, пожалуйста, вокруг какого syscall является обёрткой функция
> pub unsafe extern "C" fn strlen(cs: *const c_char) -> size_t
> https://docs.rs/libc/0.2.97/libc/fn.strlen.html
> Raw FFI bindings to platforms’ system libraries
Не юродствуй.
С чего бы делать обертку неполной? Чтобы на опеннете могли поныть "Ха, хипстиры ниасилили даже обертку!1"?
| |
|
5.66, n00by (ok), 07:00, 17/06/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
>> Поскольку разбираетесь, подскажите, пожалуйста, вокруг какого syscall является обёрткой функция
>> pub unsafe extern "C" fn strlen(cs: *const c_char) -> size_t
>> https://docs.rs/libc/0.2.97/libc/fn.strlen.html
>> Raw FFI bindings to platforms’ system libraries
> Не юродствуй.
> С чего бы делать обертку неполной?
Раз не подскажете номер вызова, значит strlen() не имеет отношения к обёртке, как и попытка передёрнуть -- смысла.
> Чтобы на опеннете могли поныть "Ха,
> хипстиры ниасилили даже обертку!1"?
Пока приходится ныть об уровне аргументации и качестве риторики.
| |
|
6.83, Аноним. (?), 13:38, 17/06/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Раз не подскажете номер вызова, значит strlen() не имеет отношения к обёртке,
> как и попытка передёрнуть -- смысла.
Твоя попытка передерга - тоже. Ну или ты можешь показать, где в сабже используется strlen?
>> всё равно без libc ничего не могут. Хипстеры такие хипстеры.
> Пока приходится ныть об уровне аргументации и качестве риторики.
О да.
| |
|
7.88, n00by (ok), 14:20, 17/06/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
>> Раз не подскажете номер вызова, значит strlen() не имеет отношения к обёртке,
>> как и попытка передёрнуть -- смысла.
> Твоя попытка передерга - тоже. Ну или ты можешь показать, где в
> сабже используется strlen?
Могу назвать вопрос унылой демагогией. Бремя доказательства, что strlen() является "System call ... wrapper function", лежит на заявителе.
| |
|
8.90, Аноним (-), 14:26, 17/06/2021 [^] [^^] [^^^] [ответить] | +1 +/– | В смысле, вставить от балды не используемый сабжем strlen и требовать доказать... текст свёрнут, показать | |
|
|
|
|
|
3.75, Урри (ok), 11:20, 17/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
translate.google.com <- "generally"
Это в тему коз и апельсинов.
| |
|
4.84, Аноним. (?), 13:51, 17/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
> translate.google.com <- "generally"
> Это в тему коз и апельсинов.
Так ты коза, дергаящая в своих программах сисколы напрямую?
Или очередной опеннетный апельсин-теоретик, который любит поныть (в зависимости от темы) "Пачему оно тянет еще один жирный рантай, не используя системное!© Зачем переписали?" и "А-а-а! Используют системное! Не осилили свое! Фууу!"?
| |
|
5.89, n00by (ok), 14:24, 17/06/2021 [^] [^^] [^^^] [ответить]
| –2 +/– |
А что, из Rust нельзя дёрнуть сискол напрямую? Скажите, Вас кто-то нанял, что бы Вы сливали столь популярный и многообещающий язык, или оно само так получается?
| |
|
6.91, Аноним (92), 14:40, 17/06/2021 [^] [^^] [^^^] [ответить] | +2 +/– | Логика уровня А что, из С нельзя дернуть сискол напрямую или почему так никто... большой текст свёрнут, показать | |
|
|
|
|
|
1.29, Алексей (??), 18:12, 16/06/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> Aya не использует libbpf и компилятор bcc,
Начали за здравие...
> а предлагает собственную реализацию, написанную на Rust
... у которого под капотом тот же llvm, что и у bcc. Закончили за упокой.
| |
|
2.33, Аноним (-), 18:45, 16/06/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
> компилятор bcc,
>> llvm-bpf backend
> Начали за здравие...
Очередной опеннетный комментатор начал за здравие
>> а предлагает собственную реализацию, написанную на Rust
>> pure Rust implementation
> ... у которого под капотом тот же llvm, что и у bcc. Закончили за упокой.
А кончил посадкой в лужу ...
| |
|
|
2.131, burjui (ok), 13:19, 18/06/2021 [^] [^^] [^^^] [ответить]
| +2 +/– |
Ненужное онаниму с Опеннета и, конечно же, им лично не протестированное, что позволяет ему смело испражняться в комментах с умным видом. Ведь, если тебе поставили плюсики, ты автоматически прав.
| |
|
3.133, Аноним (-), 13:35, 18/06/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Ведь, если сам себе поставил плюсики, ты автоматически прав.
Пофиксил.
| |
|
4.135, burjui (ok), 15:58, 18/06/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
Поставил тебе плюсик, но после твоих слов никто не поверит, что это сделал не ты сам. То есть, я только что дискредитировал тебя как союзника в дебатах just for fun. Хотя, кто знает - может, это был не ты, а тот, первый Аноним, который специально хотел, чтобы все подумали, будто он сам себе их поставил, чтобы дискредитировать идею своего первого комментария. Многоходовочка, получается.
| |
|
|
|
1.59, Аноним (59), 22:20, 16/06/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Каждый раз после прочтения комментариев анонимных экспертов с opennet начинаю ненавидеть rust всей душой. Понимаю что комментарии глупейшие, но всё равно читаю :-(
| |
|
2.76, Урри (ok), 11:22, 17/06/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
А я - любить. Столько лулзов еще ни один язык не доставлял.
Писать на нем, само собой, я не планирую (мне моя психика дороже), но наслаждаться подгорающими жепками анонимов с обеих сторон баррикад - бесценно.
| |
|
1.72, Annoynymous (ok), 08:57, 17/06/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Linux поддерживает 15 архитектур и что-то около сотни микроархитектур.
Компилятор Rust поддерживает что-то около 9 архитектур.
Добавление Rust в ядро сократит число поддерживаемых линуксом архитектур.
| |
|
2.94, Аноним (94), 16:05, 17/06/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
На нем планируют писать драйверы. Драйвер и так практически всегда прибиты к одной или двум архитектурам. Так что ничего не сломается на неподдерживаемых. Потому что оно на них и не работало))
| |
|
3.96, Annoynymous (ok), 16:23, 17/06/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
> "Представлена библиотека Aya для создания eBPF-обработчиков
> На нем планируют писать драйверы.
Ты бы читал тему, прежде чем комментировать, а то складывается впечатление, что ты читаешь набор ключевых слов и отвечаешь исходя из их наличия.
| |
|
4.102, Аноним (102), 18:08, 17/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
это типа намек на то, что ebpf обработчики на расте не будут работать на платформах, не поддерживаемх им? с чего бы это? ebpf это виртуальная машина, берешь и собираешь свои обработчики на нужном железе под эту виртуальную машину, запускаешь на всех железках
| |
|
|
6.117, Аноним (102), 00:35, 18/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
> позволяющей создавать на языке Rust обработчики eBPF, запускаемые внутри ядра Linux в специальной виртуальной машине с JIT
прочитал
| |
|
7.118, deeaitch (ok), 01:18, 18/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
>> позволяющей создавать на языке Rust обработчики eBPF, запускаемые внутри ядра Linux в специальной виртуальной машине с JIT
> прочитал
Теперь прочитай что такое JIT и типы виртуализации
| |
|
|
9.150, n00by (ok), 07:53, 24/06/2021 [^] [^^] [^^^] [ответить] | +/– | Я не понимаю, что такое JIT Но кое-что слышал про just-in-time compiler Он так... текст свёрнут, показать | |
|
|
|
|
|
4.104, Аноним (94), 19:49, 17/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
Это же не выпиливание имеющихся компиляторов и замена на этот. На неподдерживаемых платформах просто не будешь писать обработчики на расте, а будешь по-старинке. И уже написанные тоже никуда не исчезнут.
Т.о. те кто хочет писать на расте получат эту возможность, а те кто не хочет - даже не заметят.
| |
|
5.115, deeaitch (ok), 21:04, 17/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
> Т.о. те кто хочет писать на расте получат эту возможность
Пока ещё не получат. До получат там пилить и пилить. К тому времени оно и здохнуть может.
| |
|
|
|
|
3.97, Annoynymous (ok), 16:24, 17/06/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Вообще немного больше чем 9. Подробнее можно почитать тут https://doc.rust-lang.org/nightly/rustc/platform-support.html
> Плюс - а какие из недостающих восьми реально где-то используются, а не
> являются окаменевшим говном мамонтов которое тащут только из-за пары корпораций?
В любом случае, добавление Rust в ядро сокращает количество поддерживаемых архитектур. А это не есть карашо.
| |
3.99, noxyu (?), 16:59, 17/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
>Плюс - а какие из недостающих восьми реально где-то используются, а не являются окаменевшим говном мамонтов которое тащут только из-за пары корпораций?
Предлагаю поддерживать только wintel, всё остальное маргинально.
| |
|
4.100, Аноним (94), 17:23, 17/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
Ну зачем себя так ограничивать - там есть еще ARM, MIPS, RISC-V и куча других.
Любители старенького могут выбрать PPC или S390x. Так что есть из чего выбирать!
А какой-то M32R который дропнули даже в линуксе никто нафиг не сдался. И там есть еще куча аналогичных архитектур, которые только формально поддерживаются.
| |
|
|
|
|
2.98, Аноним (98), 16:45, 17/06/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
>готовые проекты на расте
>
>API ещё не стабилизирован
Тонко! И в этом вся суть "готовых" растовых проектов.
| |
2.110, deeaitch (ok), 20:56, 17/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
К сожалению или к счатью не мне нудить. Но нет, не готовые. Сырое оно как гавно мамонта.
| |
|
|
2.116, Аноним (-), 22:56, 17/06/2021 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Всем радетелям за новое безопасное рекомендую уточнитт, кто владеет crates.io - сюрприз гарантирую
То ли дело Владетель kernel.org, да?
> Registrant Organization: The Linux Foundation
https://www.linuxfoundation.org/about/board/
MICROSOFT
ORACLE
AT&T
FACEBOOK
IBM
HUAWEI
INTEL
Или как обычно, "это другое!"?
| |
|
1.119, Аноним (119), 01:35, 18/06/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Единственный плюс раста это уродливый и упоротый цэпэпэ который от стандарта в стандарт становится размером с глобус и при этом тянет с собой сишные костыли и подпорки... это жк наверное случится и растом если он когда нибудь взлетит, но потом...
В любом случае по уродливости и упоротости синтаксиса раст занимает почетное второе место сразу за крестами
| |
1.121, Аноним (119), 01:42, 18/06/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Почему нельзя было пилить синтаксис раста с оглядкой не на наркоманский CPP, а на более адекватный C# ну или Java на худой конец? И я не говорю о реализации языка, а о синтаксисе! Синтаксис можно было человеческий сделать?
| |
|
2.132, burjui (ok), 13:33, 18/06/2021 [^] [^^] [^^^] [ответить]
| +2 +/– |
Здешнее нытьё про синтаксис уже начинает утомлять. Без семантики синтаксис не имеет смысла, вот и учите её - тогда придёт навык чтения, и все проблемы отпадут. Такое ощущение, будто половина опеннетчиков остановилась в профессиональном развитии и категорически не приемлет изменений в привычном порядке вещей. И с какой стати он вдруг стал похож на C++? Это, скорее, ML в сишной обёртке, со своей спецификой. Если тебе нужен синтаксис, как в C# или Java, то и пиши тогда на них, и забей на Rust. Новые ЯП появляются не для того, чтобы делать всё по-старому. Новая семантика - новый синтаксис.
TL;DR
Синтаксис уже человеческий, просто некоторым человекам лень перестраивать мышление.
| |
|
3.146, Аноним (146), 21:11, 19/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
Синтаксис жуть криповая, это тебе любой скажет покажи ты ему код на расте... даже в крестах если не юзать в нем сишную хрень типа указателей, си-строк, макросов выглядит на порядок лучше и читабельней
| |
|
4.147, burjui (ok), 01:37, 20/06/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ну, если для тебя код на С++ читабельнее, то я рад, что не являюсь твоим коллегой. И, кстати, "выглядит лучше" и "читабельнее" - синонимы. Как по мне, незамеченная тобой тавтология - признак того, что ты пытаешься в этом убедить не только меня, но и себя. Впрочем, я не исключаю возможности в один прекрасный день увидеть плюсовой код, который я счёл бы читабельным. Жаль только, что плюсовики всё никак не договорятся о стиле кода, а и без того раздутый стандарт языка только разрастается с каждой итерацией, заставляя задействовать все доступные ресурсы мозга при чтении любого мало-мальски нетривиального кода, чтобы не упустить мелкие, но очень важные детали самой запутанной семантики, которую только можно найти в мире ЯП.
| |
|
5.148, Аноним (148), 20:43, 23/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
Читать научись... если тебе попадался C++ на макросах и указателях на указатели то это не плюсы, это си стайл
| |
|
|
|
|
|