2009-07-09 3 views
0

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

+4

Что? Как насчет этого? http://en.wikipedia.org/wiki/History_of_programming_languages ​​ – Welbog

+1

Ассемблер по-прежнему используется, а в некоторых местах по-прежнему остается королем. –

+16

Мне нравится то, что asp.net, по-видимому, является вершиной всех языков. –

ответ

5

Вот wiki timeline of all programming languages.

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

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

+3

Не забудьте ввести машинный язык непосредственно с помощью переключателей на компьютерной консоли. –

+3

Не забудьте бабочки. Хотя, они могут фактически быть чрезвычайно высоким уровнем. – deceze

+0

Я никогда не покупал один из этих компьютеров, но я просмотрел рекламу и подумал о покупке. У IMSAI, по крайней мере, были широкие переключатели, и было похоже, что на пальцах будет намного легче, чем на Альтаире. Конечно, ENIAC был запрограммирован с помощью плагинов. –

1

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

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

5

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

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

2

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

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 

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

Смежные вопросы