Top.Mail.Ru
Ответы

Блиц опрос!

википедия

Компилятор - Программа, переводящая текст программы на языке высокого уровня, в эквивалентную программу на машинном языке.

Ответье плз более менее доступным языком а то там ничего не понятно, зачем такие сложности? почему нельзя сделать что бы машина понимала язык высокого уровня? можно было сразу писать проги для железа!

И еще: я так понял такая программа как RivaTuner например изпользует компилятор? ведь разгон мы ставим в системе програмно, потом с помощью компилятора это все переводиться на машинный язык и затем уже видеокарта меняет частоты так ли это?

И почему язык называют высокого уровня? почему например не наоборот, машинный язык назвать высокого уровня...

Спасибо!

По дате
По рейтингу
Аватар пользователя
Новичок
16лет

Создать процессор, работающий сразу на языке высокого уровня - это задача:
- во-первых не решенная на строгом математическом уровне; алгебра Буля - основа двоичной логики - прекрасно может быть реализована на любой элементной базе (я видел простой калькулятор. реализованный на трубках с водой и прищепках)
- во-вторых, чрезвычайно трудоемкая; как следствие процессор/компьютер получается слишком дорогой
- в-третьих, не нужно думать, что языков высокого уровня 1 или 2 - их много и все они ориентированы на отдельные области применения и неэффективны в других; как следствие - потеря универсальности процессора

Компиляция - это вовсе не единственный метод программирования. А один из них. Второй - интрепретация. когда создается программа, которая на отдельные команды немедленно выполняет набор машинных команд. Классические примеры:
Windows - интрепретатор; однажды написанная система без переделок работает с произвольным железом и софтом
Unix, linux - компилятор; понимает только то железо, которое было описано в момент генерации ядра (компиляции)
У каждого из методов есть свои достоинства и недостатки

Высокого уровня потому, что одной команде на этом языке соттветствуют тысячи и десятки тысяч команд на машинном языке.

Аватар пользователя
Мыслитель
16лет

Дело в том, что машины понимают “команды” в виде электрических импульсов есть импульс 1 нет значит 0 импульсы группируются в разрядности так называемые биты 8 импульсов это 1 символ. Человек довольно сложно подсчитывать количество импульсов и он придумал программы которые переводят более понятный язык в нолики и единицы

Аватар пользователя
Мыслитель
16лет

машина понимает информацию только в виде простых команд, (как уже говорили 100011111 и т. д) иначе нельзя, но мисать такие программы человеку невозможно, зато есть языки высокого уровня с помощью которого можно набрать нужную программу зная некоторые команды и особенности языка.

Аватар пользователя
Мастер
16лет

Писать можно и на высоком уровне, это ассемблер. Но программировать на нем сложно, но зато эффективно. Например, написанные исходники на, допустим, С++ или Паскале, сами не запустятся, по этому их придется компилировать, а писать исходники машинным кодом, типа "01001111010010 0110000101 001101...", не является выходом.