Языки программирования эволюционировали из необходимости инструктировать компьютеры за пределами переключения переключателей. Первоначально программисты использовали машинный код (0 и 1) и затем язык ассемблера для лучшей читаемости. Высокоуровневые языки, такие как ФОРТРАН, КОБОЛ и ЛИСП, появились, упрощая программирование и изначально полагаясь на ассемблер для своих компиляторов. Концепция самозагрузки позволила языкам, таким как С и Паскаль, быть написанными сами на себе, создавая самохозяйственные компиляторы. Объектно-ориентированная эпоха ввела языки, такие как С++, Джава и Питон, каждый из которых имеет различные языки реализации, такие как С или С++. Современные языки, такие как Раст и Го, часто изначально реализуются с использованием существующих языков, таких как С++ или С, прежде чем быть переписанными на самих себя. Самозагрузка предполагает использование языком своего компилятора для построения новой версии самого себя, улучшая поддерживаемость и демонстрируя силу. Самохозяйственные компиляторы делают обслуживание проще и доказывают возможности языка. Эволюция языков началась с бинарного кода, переходя к сложным фреймворкам JavaScript.
dev.to
From Binary to Brilliance: How Compilers Learned to Write Compilers a.k.a Bootstrapping
Create attached notes ...
