Войти
ФлеймФорумПрограммирование

Является ли управление памятью главной проблемой C/C++? (4 стр)

Страницы: 13 4 5 6149 Следующая »
#45
13:29, 1 фев. 2021

0iStalker
Нормальным разработчикам хватает и аски.


#46
13:36, 1 фев. 2021

exchg
> И именно поэтому те языки не используют там где С/С++.
Раст используют. Ну, кроме мест где слишком много легаси Си кода, или где llvm не поддерживает целевую платформу, но это дело наживное, отнюдь не свойство языка.
В остальных языках да, гц, из-за чего на роль системных они не подходят.

> В Си/С++ это решается библиотеками. Т.е. тут его нету не столько потому, что
> его принципиально невозможно сделать, сколько тем что это не очень хорошее
> решение само по себе.
Если на языке можно выстрелить себе в ногу и компилятор не даст тебе при этом по рукам, то библиотеки ничем не помогут.
Вот если урезать си избавившись от его стандартной библиотеки, запретить использовать указатели и соответственно сделать невозможным написание своего аналога memcpy, и оставить только функции типа тех которые в #32 то да, будет что-то типа решения, но по понятным причинам никто так делать не будет.

#47
13:36, 1 фев. 2021

nes
> Нормальным разработчикам хватает и аски.
>

ascii - подмножество utf-8, они никак не конфликтуют

#48
13:39, 1 фев. 2021

kipar
> Вот если урезать си избавившись от его стандартной библиотеки, запретить
> использовать указатели и соответственно сделать невозможным написание своего
> аналога memcpy, и оставить только функции типа тех которые в #32 то да, будет
> что-то типа решения, но по понятным причинам никто так делать не будет.

опа - получаем яву

#49
13:42, 1 фев. 2021

innuendo
> > Вот если урезать си избавившись от его стандартной библиотеки, запретить
> > использовать указатели и соответственно сделать невозможным написание своего
> > аналога memcpy, и оставить только функции типа тех которые в #32 то да,
> > будет
> > что-то типа решения, но по понятным причинам никто так делать не будет.
>
> опа - получаем яву
Жаба тебе совсем мозг разъела?
При вышепреведённых условиях получится Rust или Ü.
А Жаба выйдет, если оставить указатели и сделать все композитные типы ссылочными.

#50
(Правка: 13:49) 13:48, 1 фев. 2021

kipar
> Если на языке можно выстрелить себе в ногу
Это чисто крестопроблема.
Не хочешь стрелять себе в ногу - не стреляй. Язык тут ни при чем.

#51
(Правка: 14:04) 14:03, 1 фев. 2021

kipar
> Раст используют.
С ансейфом?

> Если на языке можно выстрелить себе в ногу и компилятор не даст тебе при этом
> по рукам, то библиотеки ничем не помогут.
Ну во первых: Выстрел в ногу как нож, можно нарезать хлеб, заострить колышек, снять шкуру и животины, заточить зубочистку, а можно заточить соседа. Так вот если убрать возможность нарезать соседа ты и остальное не сделаешь.

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

> Вот если урезать си избавившись от его стандартной библиотеки
Во многих местах есть Си и нету стандартной библиотеки. Но даже на х86 ты можешь ее не использовать.

> запретить использовать указатели и соответственно сделать невозможным написание
> своего аналога memcpy, и оставить только функции типа тех которые в #32 то да,
> будет что-то типа решения, но по понятным причинам никто так делать не будет.
Ну ок, т.е. решение возможно, пусть и частичное. Но почему не будут использовать? Если сам язык по дизайну мне позволяет, моя задача говорит мне да, почему мне не использовать?

#52
14:13, 1 фев. 2021

exchg
> Так вот если убрать возможность нарезать соседа ты и остальное не сделаешь.
Как это противоречит моему утверждению? Я и не говорю что в Си надо или можно убрать стрельбу в ногу, я как раз говорю что там этого сделать нельзя.
> Во вторых, компилятор по определению не может многое т.к. он не знает о
> рантайме. И если мы говорим за компиляцию то пользуй статические чекеры,
> линтеры и прочее. Опять же ОpenMP это библиотека, при необходимости ты можешь
> добраться и до компиляции.
Я думаю ты сам признаешь что это не универсальное решение. Чекер отловит многие ошибки, но не все.

> Ну ок, т.е. решение возможно, пусть и частичное. Но почему не будут
> использовать? Если сам язык по дизайну мне позволяет, моя задача говорит мне
> да, почему мне не использовать?
Ну и как в этом случае сделать сделать массив строк? Или массив записей пользовательского типа?
Дублировать все функции для них?
Или это решение только для задач где не нужны ни массивы строк, ни массивы пользовательского типа?

#53
14:17, 1 фев. 2021

Panzerschrek[CN]
> Rust

я технофриками не интерескуюсь

#54
14:18, 1 фев. 2021

innuendo
>я технофриками не интерескуюсь
Поясни за крестостандарт, который ты пользуешь.

#55
14:19, 1 фев. 2021

kipar
> Я и не говорю что в Си надо или можно убрать стрельбу в ногу, я как раз говорю
> что там этого сделать нельзя.
И, как обычно ошибаетесь: в Си нет понятия стрельбы в ногу. Это чисто крестопроблемное.

#56
14:26, 1 фев. 2021

gudleifr
толсто.

#57
14:26, 1 фев. 2021

gudleifr
> Забанен
> Причина: Крестопроблемы
Изображение

#58
14:32, 1 фев. 2021
я помню когда слово крестопроблемы только вошло в моду я его в каждой теме писал, если не путаю меня даже на пару дней забанили за него.
#59
14:33, 1 фев. 2021

=A=L=X=
> А что тут MS считает что надо делать не как все остальные?
Panzerschrek[CN]
> Поясни поподробнее, что там проихсодит

Хотел найти ссылку на док, но это где-то очень глубоко было, не нашёл.
А смысл там вот в чём:
В микрософт считают, что размер указателя на член класса может зависеть от наличия полного определения этого класса.
В приведённом примере sizeof Corrupted::prop будет отличаться при компиляции Corrupted.cpp и main.cpp

Страницы: 13 4 5 6149 Следующая »
ФлеймФорумПрограммирование