Другие языки программирования и технологии

Вопрос по компилированию кодов?!

Пишут вод коды компилируют ! *компилирование - это изменение кода, но чтобы он был тот же но его другая машина к примеру читала?! (например игру написанную на windows -на linux .(я правильно понял?)
И вот в группах во веб программированию, много приколов что код не компилируется, бла-бла-бла, а зачем? Типо они такие продуманные и делают на перед? Чтоб во всех браузерах работало? Или что? Я ничего не утверждаю я спрашиваю, опишите подробней пожалуйста !
Перевод текста на языке программирования в текст на машинном языке может выполняться разными способами. Или весь текст сразу переводится на машинный язык и программа на нем потом уже выполняется компьютером (это называется компиляцией), или текст на языке программирования переводится и выполняется построчно (это называется интерпретацией). Кроме того, можно переводить текст на языке программирования не сразу в машинный язык. а в некоторый промежуточный более простой язык, с которого в дальнейшем будет осуществлен перевод в машинный, и каждая из этих частей перевода может быть как компиляцией, так и интерпретацией. также можно и в каждой этой части сочетать вместе интерпретацию и компиляцию - что-то переводить сразу большими кусками, а что=то построчно. Выполнение программ на Джаве использует все эти возможности. Вообще в компьютере очень многое на самом деле делается гораздо более сложно и запутанно, чем в упрощенных объяснениях его работы.
А компилировать код на Java не нужно, так как его интерпретатор обычно уже загружен в Windows. Хотя иногда его компилируют для повышения быстродействия (скомпилированные программы выполняются быстрее, чем интерпретируемые). И браузеры тут не при чем, так как там используется язык JavaScript, а это совсем не Java :)
Михаил Сергеевич
Михаил Сергеевич
57 538
Лучший ответ
Компиляция это превращение текста в исполняемый файл
Если вкратце
Не компилируется из-за ошибок синтаксических или логических
Андрей Порунов
Андрей Порунов
50 620
Валерий Муралёв оууу, а как тогда, хочешь сказать код на windows относительно linux с ошибками и его надо компилировать ?!
Про какой язык конкретно ты говоришь? И компилирование - это не как не превращение текста в исполняемый фаил (в пример та же JIT-компиляция), а лишь трансляция кода на более низкий уровень.
В более узком смысле, Компиляция - это обещание компилятора, что алгоритм, написанный на более высоком уровне преобразуется в код, более низкого уровня, и будит понятен в данной среде.
Как-то так...

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

В разных системах/браузерах код работает потому, что есть организации на подобии W3C, IEEE, ISO, которые пишут стандарты языков, и компиляторы пишутся в соответствии этих стандартов.
Один и тот-же код может не работать потому, что стандарты языков не распространяются на системы, в которых они выполняются. И в то время как в одной среде всё выполняется, в другой будит ошибка. И даже в одной системе, компиляторы кот преобразовывают по разному, и код, приемлемый для одного компилятора, может вызывать ошибки в другом. К примеру VS может ругаться на вызов некоторых функций, поскольку они "не безопасны "(чтоб это прошло, над в настройках прыгать..), а GCC спокойно их скомпилирует.
Саша Плешаков
Саша Плешаков
15 046