Консультация № 45259
05.06.2006, 14:24
0.00 руб.
0 5 3
что появилось сначала??? Среда для программирования(написания программ, например Делфи 7, 2005...) или программа. Ведь, чтобы написать программу, нужна среда для программарования, написания этой программа. Но чтобы написать среду для программирования, нужно написать программу. Это как вопрос, что первично, яйцо или курица.

Обсуждение

Неизвестный
05.06.2006, 14:37
общий
это ответ
Здравствуйте, Роман Сергеeвич Магнитский!
Хм...странный вопрос. Скажу вам по секрету, для того чтобы написать программу, необзятательно иметь среду программирования. Можно писать и в машинных кодах.
Так раньше и делали, пока не появился ассемблер. Потом появились языки высокого уровня, стали писать на них. Может я тут странно говорил, извините уж. Но в общем, раньше появилась программа и уж потом среда программирования.
Неизвестный
05.06.2006, 14:45
общий
Ну, в отличие от курицы и яйца, здесь можно говорить более определенно: по-моему первой была программа, но не в таком виде, как мы привыкли ее видеть, а в виде инструкций для вычислительной машины.
Неизвестный
05.06.2006, 14:51
общий
это ответ
Здравствуйте, Роман Сергеeвич Магнитский!
Среда программирования - это тоже программа. Делайте выводы...
А первые программы вводились в память непосредственно в командах процессора с перфолент, перфокарт (или может еще чего либо)...
Неизвестный
05.06.2006, 14:54
общий
2RoSMag:А что в Вашей теории вообще язык программирования не рассматривается как таковой?З.Ы. Чтобы написать программу среда программирования не нужна (если я правильно понял то что Вы вкладываете в это понятие)
Неизвестный
05.06.2006, 16:10
общий
это ответ
Здравствуйте, RoSMag!
Процессор работает с "голыми" цифрами. В ячейках памяти записаны байты команд, процессор поочередно извлекает их из памяти, обрабатывает и что-то делает. Изначально процессор мог работать только с цифрами, поэтому все писалось в машинных кодах. Для упрощения написания программ придумали язык Ассемблер, который представляет собой те же машинные коды, только представленные в более привлекательном виде, например кусок программы для КР580ВМ80А (аналог Intel 8080 ):
MVI А, В4h; Загрузка А числом В4h
СМА; Инвертирование А
STA 0820; Запись содержимого А в ячейку памяти
HLT; Останов МП
Проведем ассемблирование программы, т.е. перевод мнемокодов в коды команд МП К580. Команды будем располагать в памяти, начиная с адреса 0800.
0800 ЗЕ MVI A, B4h
0801 B4
0802 2F СМА
0803 32 STA 0820
0804 20
0805 08
0806 76 HLT

Такая запись команд до сих пор используется при программировании микроконтроллеров. Написаны оболочки для ПК для прошивки ПЗУ, отладки программ, эмуляции микроконтроллера, но программа пишется на ассемблере.

В дальнейшем с увеличением мощностей процессоров, увеличением оперативной памяти и появлением устройств долговременного хранения информации (НГМД, НЖМД и т.п. ) появилась возможность создания оболочек (сред программирования).
К чему это привело, видно на примере развития CP/M-MSDOS-Windows.

В любом случае, на каком бы языке мы не писали, все равно программа преобразуется либо сразу в коды, понятные для процессора (компиляция), либо при обработке внешней программой (интерпретация).

С уважением.
Форма ответа