Программирование... Множество языков, множество областей применения.
Языки отличаются разным уровнем абстракции, степенью похожести на человеческий язык или степенью непохожести на язык машин.
Самый "далекий" от человека язык - ассемблер. В нем происходит простая замена определенных лексем(элементов языка) в команды процессора.(Процессор - это такой кусочек кремния с очень сложной структурой, состоящей из множества логических элементов и связей между ними.)
Пример программы на ассемблере(код не настоящий, это только пример):
Сложность языка определяется количеством ключевых слов, количеством комбинаций этих слов. Сложность ассемблера напрямую зависит от сложности процессора. Есть два направления развития процессоров:
Языки отличаются разным уровнем абстракции, степенью похожести на человеческий язык или степенью непохожести на язык машин.
Самый "далекий" от человека язык - ассемблер. В нем происходит простая замена определенных лексем(элементов языка) в команды процессора.(Процессор - это такой кусочек кремния с очень сложной структурой, состоящей из множества логических элементов и связей между ними.)
Пример программы на ассемблере(код не настоящий, это только пример):
код ассемблера | получаемый код | пояснение |
mov a,[bc] | 7e | пересылаем из ячейки памяти, адресуемой регистром bc в регистр a |
mov d,[hl] | 7d | то же самое, регистры другие |
add a, d | 2a | складываем содержимое регистра a и d, результат остается в a |
mov [bc],a | 72 | сохраняем результат в памяти по адресу из регистровой пары bc |
Сложность языка определяется количеством ключевых слов, количеством комбинаций этих слов. Сложность ассемблера напрямую зависит от сложности процессора. Есть два направления развития процессоров:
- С комплексной системой команд (CISC)
- С минимальной системой команд (MIPS)
Хотелось бы иметь язык разработки полный по Тьюрингу, но не такой великий и ужасный как Brainfuck. Мне не нравятся громоздкие конструкции шаблонных классов в C++, не нравятся указатели на функции в C. JavaScript меня вполне устраивает, но под него нужна громоздкая виртуальная машина и её нельзя запустить в микроконтроллере с ограниченным объемом ресурсов. А компилятора с JavaScript я не встречал :(
на эту тему намедни разгорелся срач we.easyelectronics.ru (http://goo.gl/JCEyK)
ОтветитьУдалитьПочитайте, будет интересно.
Читать - не перечитать ;)
Удалить