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

Тут можно хорошенько так по.. флудить...
rockpandor
Сообщения: 12

Сообщение rockpandor » 26 янв 2018, 00:55

Привет! Ну... собственно вопрос в заголовке. Как писали С++ или бейсик. Или брейнфак? На машинных кодах что ли? Протыкая вилкой дырки в ранних перфокартах? Иного даже представить не могу.
Или есть специальные низкоуровневые среды для языков?

Аватара пользователя
iEugene0x7CA
Адепт
Сообщения: 1357
Откуда: Киев

Сообщение iEugene0x7CA » 31 янв 2018, 02:17

rockpandor писал(а):На машинных кодах что ли? Протыкая вилкой дырки в ранних перфокартах?

*ding* *ding* *ding*
Так и делали, ибо когда ничего другого нет — иначе никак. :)

Довольно известная история, первый коммерчески-доступный ПК Altair 8800(Intel i8080A) изначально продавался как железный ящик вообще без какого-либо ПО.
Кстати, вот он красавец:

800px-Altair_8800,_Smithsonian_Museum.jpg

На передней панели у этой штуки были тумблера, и по идее юзер мог разве что вручную щелкая адресную шину и шину данных что-то записать в RAM, после перевести адрес на старт и дать программе выполнится.
Результат по задумке должен был считываться с тех же светодиодов.

Что самое крутое удалось сделать при таком вводе — это поставить рядом с компом радио(ловило помехи от проца), и написать прогу которая делала бы наводку определенной частоты.
Таким образом получилось играть с Altair'а подобие музыки, и даже есть чел который так сказать повторил подвиг: https://youtu.be/1FDigtF0dRQ?t=50s

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

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

Надеюсь было интересно. ;)

Аватара пользователя
Vanyayak
Сообщения: 199

Сообщение Vanyayak » 31 янв 2018, 02:27

Эпичненько...

Аватара пользователя
BSVi
Адепт
Сообщения: 3484
Откуда: Киев

Сообщение BSVi » 31 янв 2018, 08:59

Раньше писались в машинных кодах, сейчас для этого есть разные инструменты типа flex и bsion, сильно упрощают написание языков.

Аватара пользователя
iEugene0x7CA
Адепт
Сообщения: 1357
Откуда: Киев

Сообщение iEugene0x7CA » 31 янв 2018, 15:22

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



Её же спел компьютер HAL9000, перед тем как его отключали в фильме 2001: A Space Odyssey. ;)

Аватара пользователя
piroJ0KE
Сообщения: 130
Откуда: Киёв

Сообщение piroJ0KE » 03 фев 2018, 14:33

iEugene0x7CA писал(а):Это песенка Daisy Bell
Ах, так вот откуда стилистика у заставки игры Portal! :lol:

super_bum
Сообщения: 182

Сообщение super_bum » 05 фев 2018, 00:58

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

Вернуться в «Изба-флудильня»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость