Результаты (
русский) 2:
[копия]Скопировано!
Термин «язык высокого уровня» не означает , что язык
всегда выше языков программирования низкого уровня. Это относится к более высокому
уровню абстракции от языка машины. Вместо того , чтобы дело с
регистрами, адресами памяти и стека вызовов, языки высокого уровня дело с
юзабилити, нити, замки, объекты, переменные, массивы и сложной арифметики
или логических выражений. Кроме того, у них нет опкоды , которые могут непосредственно
обобщению язык в машинный код, в отличие от сборки низкоуровневого
языка. Другие функции , такие как обработка строки процедур, объектно-ориентированных
особенностей языка и файл ввода / вывода могут также присутствовать.
Стереотипно, языки высокого уровня делают сложное программирование более
простым, в то время как языки низкого уровня , как правило, производят более эффективный код.
Абстракция штраф является барьер , препятствующий применения высокого уровня
техники программирования в ситуациях , когда вычислительные ресурсы являются
ограниченными. Высокие функции программирования высокого уровня , такие как более общие структуры данных,
интерпретации времени выполнения и промежуточного кода файлов часто приводит к более медленному
92
скорости выполнения, более высокое потребление памяти и большего размера двоичного. По
этой причине, код , который нужно особенно быстро бегать и эффективно
может быть написан на языке низкого уровня, даже если язык высокого уровня
позволит сделать кодирование проще.
Тем не менее, с растущей сложностью современных микропроцессорных
архитектур, хорошо продуманные компиляторы для языков высокого уровня , часто
производят коды , сравнимые по эффективности с тем, что большинство низкого уровня
программисты могут произвести вручную, и тем выше абстракция может позволить
более мощные методы обеспечивают более общие результаты , чем их низкоуровневых
коллегами в определенных условиях.
термины " высокого уровня "и" низкого уровня "по своей сути относительна. Несколько
десятилетий назад, язык C (и другие подобные языки) чаще всего считается
"высокого уровня", поскольку он поддерживает такие понятия, как вычисление выражения, типы данных
и структуры, в то время как язык ассемблера был признан "низкоуровневое". Многие
программисты сегодня могут относиться к C как низкий уровень, как ему не хватает большой runtimesystem
(например , отсутствие сбора мусора), в основном поддерживает только скалярные операции, и
обеспечивает прямую адресацию памяти. Поэтому она легко сочетается с сборочного
языка и машинном уровне процессоров и микроконтроллеров.
Также отметим , что ассемблер сам по себе может рассматриваться как более высокий уровень
(но все - таки один-к-одному) представление машинного кода, так как он поддерживает такие понятия,
как постоянная и ограниченные выражения, иногда даже переменные, процедуры и
структуры данных. Машинный код, в свою очередь, является по своей сути на несколько более высоком уровне ,
чем микрокода или микроопераций используется во многих процессорах.
переводится, пожалуйста, подождите..