Низкоуровневое программирование
Автор Evolve задал вопрос в разделе Другие языки и технологии
чем отличается низкоуровневое программирования от высокоуровневого? и получил лучший ответ
Ответ от Андрей БАРСик[гуру]
Низкоуровневое ближе к прямому программированию железа (процессора, внешних устройств)
тебе необходимо помнить об архитектуре процессора, разрядности процессора может даже об регистрах процессора и их количестве.. .
При высокоуровневом программировании ты абстрагируешься (для тебя эти детали не важны) от этих технических деталях, и чем от большего
количества деталей абстрагируешься тем более высокоуровневое программирование.
Как пример,
самый низкоуровневый язык - это ассемблер, при программировании на этом языке ты должен знать команды процессора, количество регистров и их названия
а т. к. процессоры бывают разные - архитектуры x86 (Стандартный Intel-ий процессор) , amd64 (64-х разрядный процессор) , ARM (процессор для мобильных устройств)
то и ассемблеры также разные, и программы написанные для одного ассемблера не запустятся на другом (правда бывают специальные компиляторы - кросс-компиляторы)
более высокоуровневый язык - язык C. Хотя на этом языке тоже можно учитывать архитектурные особенности процессора (для оптимизации по скорости) , но если стараться их не использовать
или использовать их в строго выделенных фрагментах кода, то тогда можно программу, написанную на C компилировать и для других процессоров (с изменениями только участков кода, специфичных для процессора)
есть, соответственно и более высокоуровневые языки программирования (которые ещё более абстрагируются от аппаратуры и даже деталей операционной системы (в таком случае
программа может быть скомпилирована например и для Windows и например для Linux))
современная тенденция - виртуализация аппаратуры, когда вы создаете виртуальный компьютер с API (програмным интерфейсом для программ) , и программы для этого виртуального компа
можете выполнять везде, где есть загрузчик этой виртуальной машины
как пример - язык JAVA который запускается на виртуальной JAVA машине
или платформа .NET от Microsoft
Александр, странно, что что-то Вам не понравилось в ответе Андрея!
Вам наверное не понравилось, что Си он назвал более высоким языком программирования, но это действительно так! Язык Си вообще относят к языку среднего уровня, так как в нём есть элементы и низкого и высокого уровня. Так, что почти во всём Андрей прав.
Я бы сделал ему, только одно замечание: AMD64 - это не 64-разрядный процессор, а обычный 32-разрядный, но имеющий блок совместимости с 64-разрядной архитектурой. Конечно данное деление процессоров строго не регламентировано, но внимательно читайте исходные хелпы. Никто из производителей не называет подобные процессоры (с совместимостью) 64-разрядными. Пример 64-разрядного у Интела - это Itanium и Itanium2.
НП требует:
- знание архитектуры устройства;
- знание "железа" ;
- программа пишется на машинном коде и используется как правило ассемблер, язык FORTH или язык С (без ++ или #)
ВП требует:
- знание структурного программирования;
- знание процедурных языков - их много.
Область применения - сам знаешь, я так думаю
Вкратце и просто, для уточнения спрашивай ещё что не понятно.
Профессии связанные с программированием. То есть виды профессии программиста.
IT, инденер-программист, техник-программист, администратор баз данных, винадмин (Человек, который
подробнее...
16-ти ричная система исчисления
Шестнадцатеричная система счисления (шестнадцатеричные числа) — позиционная система счисления по
подробнее...
что такое интефейс ввода-вывода
Ввод/вывод
В информатике, ввод/вывод (в англ. языке часто используется сокращение I/O)
подробнее...
Люди напишите пожалуйста подробно ! как узнать исходный код программ и игр ? Заранее благодарен .
исходный код программы - это уже скомпилированный исходный код! (можно посмотреть используя
подробнее...
Написание элементарной ОС!!!)
Для начала.... Вышеперечисленные проги лучше не прочитать или просто хранить в библиотеке, а
подробнее...
В наши дни используют ЭВМ, языки Наири и Фортран? А если да то для каких целей
Макроассемблер НАИРИ4 железно - нет, очень удивлюсь, если хоть один работающий экземпляр
подробнее...
Зачем нужны классы в c++? Никак не могу понять... Что такое private, public зачем они нужны и т. д?
потому что не используешь на практике. ерунду всякую пишешь.
попробуй написать GUI сначала на
подробнее...
помогите перевести число 18 из десятичной системы в двоичную, сколько получится
Войди Меню пуск-> стандартные калькулятор -> вид инженерный, Введи число и нажми Bin.
подробнее...
Чем отличаются яз.программирования Высокого уровня от Низкого???
Высокоуровневый язык программирования — язык программирования, разработанный для быстроты и
подробнее...
языки программирования
Классы языков программирования
* Функциональные
* Императивные
*
подробнее...
языки среднего уровня программирования, это какие? =) а также очень высокого, это тоже какие?
языки программирования делят на два уровня это высокий и низкий. с низких я знаю только ассемблер,
подробнее...
Самостоятельное обучение программированию.
1) книга Керниган, Ритчи. Язык программирования С
лучше всего примеры выполнять в линуксе, в
подробнее...
Какой язык программирования учить первым?
Советую C, даже если ты школьник.
Синтаксис не намного сложнее, чем Pascal. Зато потом другие
подробнее...