Как пишутся языки программирования?

Тут можно хорошенько так по.. флудить...
Post Reply
rockpandor
Posts: 12
Joined: 22 Mar 2015, 01:20

Как пишутся языки программирования?

Post by rockpandor »

Привет! Ну... собственно вопрос в заголовке. Как писали С++ или бейсик. Или брейнфак? На машинных кодах что ли? Протыкая вилкой дырки в ранних перфокартах? Иного даже представить не могу.
Или есть специальные низкоуровневые среды для языков?
User avatar
iEugene0x7CA
Адепт
Posts: 1571
Joined: 20 May 2012, 02:38
Location: Киев

Re: Как пишутся языки программирования?

Post by iEugene0x7CA »

rockpandor wrote:На машинных кодах что ли? Протыкая вилкой дырки в ранних перфокартах?
*ding* *ding* *ding*
Так и делали, ибо когда ничего другого нет — иначе никак. :)

Довольно известная история, первый коммерчески-доступный ПК Altair 8800(Intel i8080A) изначально продавался как железный ящик вообще без какого-либо ПО.
Кстати, вот он красавец:
800px-Altair_8800,_Smithsonian_Museum.jpg
На передней панели у этой штуки были тумблера, и по идее юзер мог разве что вручную щелкая адресную шину и шину данных что-то записать в RAM, после перевести адрес на старт и дать программе выполнится.
Результат по задумке должен был считываться с тех же светодиодов.

Что самое крутое удалось сделать при таком вводе — это поставить рядом с компом радио(ловило помехи от проца), и написать прогу которая делала бы наводку определенной частоты.
Таким образом получилось играть с Altair'а подобие музыки, и даже есть чел который так сказать повторил подвиг:

Но работать с компом таким образом понятное дело, что немного не катит. :)
Дальше история развивается еще круче, конторе MITS, которая клепала эти компьютеры позвонил ваш покорный слуга Билл Гейтс и предложил написать им базовую программу... Нет, не Windows. :lol:
Написать BASIC, но не сам язык, а систему ввода-вывода, которая позволила бы подрубить к Altair'у телетайп и чтобы через него можно было что-то программировать текстом.
Телетайп — это бумажная версия известного нам терминала, вывод производился на рулон бумаги автоматической печатной машинкой... И еще фича — телетайп мог считывать байты с перфоненты, или записывать их(дырявить).
У Гейтса не было компьютера, но был доступ к телетайпу в универе — он написал программу машинным кодом на бумаге, а после отбил её на перфоленте через телетайп.
Дальше, даже не зная "скомпилировалось ли" — они потащили отбитую перфоленту в MITS, засунули в тамошний телетайп(кстати процесс выглядел вот так: и тот "залил" содержимое ленты в память Altair'а, после чего тот начал отзываться, работать с текстовым вводом-выводом. С этого момента появилась возможность прогать на BASIC'е.

Дальше стали доступны уже экранные терминалы, целые операционные системы вроде CP/M и т.д.
Так выглядит настроенный Altair 8800 с "монитором" в процессе гоняния программок, даже показали игруху вроде Lode Runner'а:

Надеюсь было интересно. ;)
User avatar
Vanyayak
Posts: 199
Joined: 25 Nov 2013, 22:10

Re: Как пишутся языки программирования?

Post by Vanyayak »

Эпичненько...
User avatar
BSVi
Адепт
Posts: 3577
Joined: 15 Mar 2011, 12:32
Location: Киев

Re: Как пишутся языки программирования?

Post by BSVi »

Раньше писались в машинных кодах, сейчас для этого есть разные инструменты типа flex и bsion, сильно упрощают написание языков.
User avatar
iEugene0x7CA
Адепт
Posts: 1571
Joined: 20 May 2012, 02:38
Location: Киев

Re: Как пишутся языки программирования?

Post by iEugene0x7CA »

Кстати, музычка которую чувак играл на радио — это отсылка сразу к двум мега-ботанским мемам. :D
Это песенка Daisy Bell, которая первой в истории была спета голосовым синтезатором, еще в 1961-м на мейнфреймном компьютере IBM 7094:



Её же спел компьютер HAL9000, перед тем как его отключали в фильме 2001: A Space Odyssey. ;)
User avatar
piroJ0KE
Posts: 130
Joined: 03 Sep 2013, 19:46
Location: Киёв

Re: Как пишутся языки программирования?

Post by piroJ0KE »

iEugene0x7CA wrote:Это песенка Daisy Bell
Ах, так вот откуда стилистика у заставки игры Portal! :lol:
super_bum
Posts: 229
Joined: 28 Feb 2014, 23:24
Location: Earth

Re: Как пишутся языки программирования?

Post by super_bum »

Тоже напомнило)
Post Reply