|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Четкая линия есть. Асм - низкоуровневый. всё остальное(Си и более) - высокоуровневые.
Главная особенность в том, что в высокоуровненых языках ты не должен заботиться о том, каким образом данные передаются в функции, не должен заботиться над тем какие регистры процессора юзать, также то, как будут располагаться переменные в стеке и какие регистры процессора должны быть сохранены при использовании определенных функций, также при составлении условий, тебе не нужно думать о том, что и как сравнивать, где знаковые переменные, где беззнаковые. где целый, где дробные.
В языках высокого уровня это всё просчитывается автоматически. И записывается по общей схеме. В языках низкого уровня - ты сам должен выполнять эту работу.
И главное - язык высокого и низкого уровня - его уровень не зависит от того что ты будешь на нем писать. Потому что дрова можно было и на Делфи писать. Также их можно и на С и на С++ писать. Собственно говоря на любом другом компилируемом языке, дающего непосредственно машинный код.
Именно по этому языки низкого уровня - это тока ассемблеровидные языки.
ну и отчасти опкоды тоже можно к ним причислить, потому что когда то и их юзали.
А вот языки высокого уровня - это те которые дают тебе возможность не задумываться над тем на какой платформе будет выполняться код и под какую ОС.
Хороший пример этого - Си - ты можеш не знать как в ОС осуществляется создание файла, а использовать функцию fopen
Т.е. языки выс. уровня имеют небольшую прослойку между системными командами(системные вызовы, WinAPI), которая дает большую независимость от конкретной платформы, но за это расплачиваешься скоростью работы, потому как идут дополнительные операции.
Тем более что любой высокоуровневый язык дает тебе возможность быстро выполнять некоторые действия, которые в низкойровневых языказ занялибы много время на разработку.
Прмиером этого может быть функции
Си (gets), Delphi (readln) которые довольно сложно сделать на асме юзая WInAPI b чтобы они работали быстро.
Последний раз редактировалось slesh; 22.12.2009 в 14:46..
|