Показать сообщение отдельно
  #5  
Старый 08.01.2013, 23:20
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Языком низкого уровня его называют малограмотные программисты-сишники, которые хотят понтоваться. Язык низкого уровня - это язык, являющийся записью кода непосредственно в том виде, в котором он исполняется железом. Си - классический язык высокого уровня, потому что никакого отношения к аппаратуре не имеет вовсе. А то, что на си часто работают с железом, ни в коей мере не делает его ЯНУ. Просто делаются функции на встроенном низкоуровневом языке (ассемблере) или подключаемые библиотеки на таковом, которые позволяют делать аппаратно-зависимые вещи. От того, что я влезу в байт-код C# и запихну туда пару инструкций, JIT-компилируемых в запись в порты, и оформлю новыми ключевыми словами в шарпе, он не станет языком низкого уровня. И на Java при ОЧЕНЬ большом желании можно с железякой работать. Если похимичить и подключить к нему различные прикольчики, например в виде native-функций.
А "высокоуровневый ассемблер", как иногда называют си - это скорее байткоды C#/Java, потому что это действительно атомарные операции железа (хоть и виртуального), немного прокачанные. Но никак не язык, целиком и полностью состоящий из логических конструкций и выражений, которые никаким боком не могут быть в ЯНУ.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием