C/C++

Чувствительны ли программы на Си к исправности железа

Может ли так случиться, что если ПК неисправен (бытие блоки процессора или памяти), то программа на Питоне будет работать корректно, а такая же, написанная на Си - выдавать ошибки?
Любая программа будет работать некорректно на "битой" памяти, неисправном процессоре и т.п. Тот, кто вам сказал, что программы на Питоне или на чём-то ещё будут работать корректно на неисправном железе, просто некомпетентный и безответственный болтун.
Jandos Karsybaev
Jandos Karsybaev
12 815
Лучший ответ
Интерпретатор Python написан на C. И он ничем не отличается от других C-программ.

В MS-DOS можно было сослаться на то, что битая ячейка памяти не используется в конкретной программе. Но в многозадачных системах физическая память выделяется каждой программе случайным образом - так что рано или поздно, но битая ячейка приведёт к ошибкам в любой программе.
Валера Струков Как ловить такие ошибки?
Так Питон на Си и написан...
Serik Tleshov
Serik Tleshov
73 465
Как это возможно по твоему мнению?
Dauren Kurmanbaev У него нет мнения. Для него компьютер - всемогущий чёрный ящик, перед которым надо поклоны отбивать.
Все равно любая программа превращается в машинный код и исполняется процессором, а данные хранятся в оперативке. По другому никак, разве что как-то заставить видеокарту работать, но тут все равно надо передавать данные при помощи процессора.

Главное различие между Си и Пайтоном то, что в Си ты сразу компилируешь программу в машинный код, а программа в пайтоне интерпретируется пайтоном, который считывает фрагмент кода и превращает его в машинный код.

Но си даёт программисту возможность управлять памятью, то есть вручную выделять и удалять, что может приводить к ошибкам.

А если какой-то блок процессора битый, то у тебя программы в целом не будут работать. Ты не думай, что у тебя какие-то особые программы, они работают также, как и другие, каких-то особых привелегий работать с битыми участками нет.
Евгений Лантух
Евгений Лантух
28 652
Вероятно, что С программа просто использует битый указатель, а на Python всё сделано только вариантными переменными через общий класс автоматизации IUnknown

просто найди ошибку в отладчике
и тот и тот компилируется в итоге в машинный код. будет одно и тоже
Где-то читал, что да.
Abdulaziz Sodiq.
Abdulaziz Sodiq.
3 068
Да, программы на Си могут быть чувствительны к исправности железа. Если ПК неисправен, то программа на Си может выдавать ошибки, а программа на Питоне – нет. Таким образом, программы на Си более чувствительны к исправности железа, так как они написаны на низкоуровневом языке и могут быть более прямо связаны с аппаратным обеспечением.
Jandos Karsybaev Ты болен и распространяешь бред вокруг себя.