язык самого низкого уровня до asp.net? - PullRequest
0 голосов
/ 09 июля 2009

это ассемблер, верно? Кто-то может указать на прогресс, который мы имели в языках программирования со времен ассемблера до дней asp.net, а именно хронологический порядок языков?

Ответы [ 4 ]

5 голосов
/ 09 июля 2009

Чтобы быть педантичным, "ассемблер" на самом деле не является языком (не более чем "компилятором" ;-) - скорее это программа, которая берет исходный файл на "языке ассемблера" и испускает двоичный машинный код. Можно сказать, что двоичный машинный код является более низким уровнем, чем язык ассемблера, поскольку последний допускает использование некоторых символов и часто также включает в себя возможность обработки макросов.

"Ниже" двоичного машинного кода, может быть другими уровнями, известными как "микрокод" (но не может быть - процессор может быть полностью реализован в реальном оборудовании) , без каких-либо аспектов микропрограммирования). Это может быть актуально, только если системная архитектура позволяла программистам изменять микрокод, особенно путем добавления к нему и т. Д. - были машины, которые это делали, но я не верю, что какой-либо коммерчески доступный в настоящее время процессор делает это. Так что вам, вероятно, не нужно беспокоиться об этом (и о ныне эзотерических различиях между вертикальным и горизонтальным микрокодом и т. Д .; и т. Д. -).

5 голосов
/ 09 июля 2009

Вот Вики-график всех языков программирования .

Я бы включил таблицу FTA, но список очень надежный и обширный.

Кроме того, самый низкий язык, на котором вы когда-либо работали, - это ассемблер (кроме прямой выдачи машинных инструкций), независимо от того, какой другой язык построен поверх (включая ASP.NET). Другие языки - это просто абстракции над сборкой. Фактически, ASP.NET компилируется в код IL (Intermediate Language), который затем передается в сборку JIT. Сборка настолько близка к металлу, сколько вы собираетесь получить.

2 голосов
/ 14 июля 2009

Языки программирования - это просто способы собрать решения для вычислительных задач. Аргумент "собран из чего?" С этой точки зрения я бы предложил следующую эволюционную кривую:

Napier's Bones
Babbage's difference engine
Jacquard (card) looms
(Conceptual) Abstract Turing machines/Post Systems/Church's calculus
Relay Computers (Aiken?)
Vacuum tubes as switching elements (Eniac)
Transistor-based computers
Microprogrammed machines
Integrated Circuits
Large Scale Circuits

с "ассемблером", являющимся языком программирования, используемым для собрать решения, состоящие из инструкций для реальные машины, начиная с систем вакуумных трубок. (Я не уверен, что на эстафетах действительно были ассемблеры). Языки программирования - просто способы собрать высоко команды уровня, которые сводятся к инструкциям ассемблера.

1 голос
/ 09 июля 2009

Здесь необходимо рассмотреть два различных аспекта: вертикальный рост (языки создаются со временем из поколения в поколение) и горизонтальный рост (синтаксические улучшения и уменьшение сложности).

Хорошее объяснение вертикального изменения можно увидеть здесь: http://web.sxu.edu/rogers/sys/generations.html И хорошая, но не полная иллюстрация горизонтального изменения здесь: http://oreilly.com/news/graphics/prog_lang_poster.pdf

...