Вход
Быстрая регистрация
Если вы у нас впервые: О проекте FAQ
1

Как программировать, если из мира внезапно пропадут все компиляторы?

Шум [1.4K] 7 месяцев назад

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

Как создать новый компилятор, если для него нет компиляторов и скомпилировать его не на чем?

Шум [1.4K]
ВНИМАНИЕ! Я говорил исчезнут именно все программы, на которых можно писать код!
Но я НЕ говорил, что исчезнут сами компьютеры! Компьютеры и операционные системы останутся! =)
 7 месяцев назад
комментировать
2

1 Если пропадут компиляторы, но будут интерпретаторы, то можно пользоваться ими. Они часто даже безопаснее для ПК.

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

3 Если не будет вообще ничего, можно сделать как делали в 20-м веке.

Берёшь список команд микропроцессора, под который хочешь программировать.

Если списка нет и нет возможности где-либо его достать, то инвестируешь в создание нового микропроцессора с наличием перечня команд.

Далее на бумажке программируешь (придумываешь) коротенькую программку-интерфейс для ввода машинных команд и записи-считывания диска. Далее с помощью программатора ПЗУ вводишь команды своей программки в ПЗУ новой ЭВМ. Всё - минимальный интерфейс готов.

Далее создаёшь серию таких ЭВМ и публикуешь список команд своего микропроцессора, и рекомендации как вводить коды в написанном вами интерфейсе. Далее люди (умельцы) могут сами уже написать компиляторы и интерпретаторы для вашей ПК.

Ниже скриншот подобного минимального интерфейса:

управляющая программа монитор

автор вопроса выбрал этот ответ лучшим
Шум [1.4K]
Спасибо, ваш ответ самый ёмкий =)

А чем запрограммируют сами программаторы ПЗУ, если для них программаторов нет?)))
 6 месяцев назад
Шум [1.4K]
А от куда у вас эта картинка? =)  6 месяцев назад
mb78 [98.2K]
Картинка это скриншот из эмулятора старых компьютеров.
Эмулятор называется Emulator 3000.
Программатор ПЗУ, насколько я понимаю (я не электронщик) это просто прибор для записи чисел вручную в блок памяти ПЗУ, то есть в микросхему. Программировать его вроде как не надо (про старые модели), но если что вдруг и надо, наверное это делается каким-то старым способом или собирается как какой-нибудь конструктор. Собирается программатор так же, как и другие электроприборы (микросхемы, кнопки, провода и корпус).
 6 месяцев назад
комментировать
2

Создать новый компилятор не имея ни одного компилятора под рукой достаточно сложно, но можно. Как-то ведь люди создали первый компилятор, не имея ничего.

Есть вариант попробовать на двоичном коде написать интерпретатор для низкого языка типа Ассемблер. Это будет сложно, муторно, но это даст возможность создать компилятор для более высокого языка типа Си, а уже после и достаточно удобные среды разработки для высоких языков типа Java и C#.

Так что в такой ужасной ситуации придётся начать с азов: с двоичного кода. Ведь если пропадут все инструменты, придётся начать с самого начала: взять в руку палку и сделать из неё копьё :)

Шум [1.4K]
Спасибо за ответ =)
Хорошо, а на чём написать редактор двоичного кода? =D
 7 месяцев назад
Kifra [16.2K]
Ну я конечно на двоичном не писала.
Но если писать не на двоичном, а на хексах, то по сути нужно просто перевести файл с текстового формата на .ехе. И он будет уже программой. Думаю с двоичным работает точно так.
 7 месяцев назад
Шум [1.4K]
А чем его перевести? Одним переименованием не обойтись...  7 месяцев назад
Kifra [16.2K]
Утверждать ничего не буду, но как помню, хекс редакторы не занимаются компиляцией. Они по сути блокнот в удобной форме для редактирования хексов. Поэтому подозреваю, что можно попробовать просто сменить расширения файла. Но пробовать на рабочей машине я пожалуй не буду, только если поставлю виртуалку, ибо может случиться что угодно :)  7 месяцев назад
Шум [1.4K]
"хекс редакторы не занимаются компиляцией" - знаю, но по условиям задачи у нас нет его =)  7 месяцев назад
комментировать
1

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

Шум [1.4K]
Спасибо за ответ =)
А на чём писать машинные коды-то? =)
 7 месяцев назад
комментировать
1

Если не на чем, т.е. нет компьютера, то ни компиляторы, ни интерпретаторы будут просто не нужны. Зачем они, если их не на чем запускать?

Вернемся к бумаге и ручному труду.

Заменим компьютеры на автоматику.

Или просто создадим все заново.

Шум [1.4K]
Компьютер есть, нет именно компиляторов и hex-редакторов.  7 месяцев назад
rodleoil2 [288K]
"нет компиляторов и скомпилировать его не на чем". Значит, компьютеров нет.
Не меняйте условия задачи.
Если есть компьютеры, значит они будут ожидать загрузчик.
Посмотрите, что может BIOS и системное программное обеспечение, прошивку, вшитые в него, в смысле использования прерываний для доступа к памяти, устройствам, и использованию процессора (микрокод).
Берем системного программиста или обкладываемся литературой и неделями и месяцами набиваем и сохраняем то, что превратиться потом в операционную систему с набором команд. С её помощью создаем языки, с компиляторами и интерпретаторами, с помощью них - приложения.
Ваш вопрос не очень корректен. Как: "что было бы, если бы исчезли все металлические изделия". Что, что? Потопали бы искать руду и начали бы выплавлять новые изделия, создавая механизмы , с помощью которых сделали бы более сложные.
Зная путь, пройти его не сложно.
Хотя времени это займет массу.
 7 месяцев назад
Шум [1.4K]
"нет компиляторов и скомпилировать его не на чем" - это про компиляторы, а не про компьютеры. Если компиляторов нет, соответственно и скомпилировать коды не на чем, так как компьютер без компиляторов не компилирует.
Тем более я написал "они исчезнут со всех компьютеров и любых устройствах" (а не "они исчезнут вместе с устройствами"). Так что тут же писать про исчезновение компьютеров было бы нелогично с моей стороны.
Ну что ж, видимо недостаточно ясно выразился =) Спасибо за ответы =)

Ваше замечание не корректно, так как я спрашивал ПО АНАЛОГИИ "Как добыть металл, без металла". Это, кстати, тоже интересный вопрос, ведь непонятно чем его искать, копать и выплавлять, ведь у нас нет металлов для их добычи и отливки.
 7 месяцев назад
rodleoil2 [288K]
Ну, про код БИОСа я писал. Набор инструкций, которым не требуется программная обработка компилятором или интерпретатором. Они позволят создать тексты в области памяти. Впрочем, не столь.
А про добычу металла без металла - это добыча каменными орудиями камней, которыми и является руда. По прочности железная руда уступает тому же кремню. Или, вообще, лежат, как камни, только кинь в огонь с каменным углем.
 7 месяцев назад
комментировать
Знаете ответ?
Есть интересный вопрос? Задайте его нашему сообществу, у нас наверняка найдется ответ!
Делитесь опытом и знаниями, зарабатывайте награды и репутацию, заводите новых интересных друзей!
Задавайте интересные вопросы, давайте качественные ответы и зарабатывайте деньги. Подробнее..
регистрация
OpenID