@RomanSamets
C++, C, assembler, CS

Почему язык Си может работать с низкоуровневым слоем? За счет чего?

Я хочу разобраться в устройстве языка Си. Как он работает? Почему он дает возможность работать с оперативкой, а другие нет. Заранее спасибо
  • Вопрос задан
  • 175 просмотров
Решения вопроса 1
wataru
@wataru
Разработчик на С++, экс-олимпиадник.
Ну вот такой вот дизайн у языка. Там есть указатели, ручное выделение и удаление памяти. Это позволяет выиграть в производительности. Но и создает кучу возможностей выстрелить себе в ногу. Другие языки выбрали быть чуть медленнее, но более дружелюбными к программистам.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
firedragon
@firedragon
Senior .NET developer
С чего бы это? Куча языков работают с памятью. Просто в с подразумевается что вы знаете что хотите и вам не бьют по рукам.
Ответ написан
LoliDeveloper
@LoliDeveloper
Линейная алгебра как смысл жизни
Любые языки дают возможность работать с оперативкой. Просто это всё оборачивается в удобный лавашик, с которым не надо переживать что у тебя что-то убежит или непоместится или ещё 100500 проблем ручного управления памятью.
Ответ написан
vabka
@vabka
Токсичный шарпист
Как уже сказали выше, практически все языки работают с ОЗУ, и почти все дают работать с ней напрямую.
Просто большинство языков имеют уже свою систему управления памятью, например GC, а в си нет ни сборщика мусора, и RAII, ни borrow checker
Ответ написан
CityCat4
@CityCat4
Если я чешу в затылке - не беда!
Все могут работать. Просто С считает, что если уж ты взялся на нем программировать, то знаешь что тебе надо, а другие языки "на всякий случай" тебя изолируют от средств управления ею.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы