Bläddra i källkod

Update 2015-09-28-Ад-концепций.md

Пётр 9 år sedan
förälder
incheckning
806098b138
1 ändrade filer med 10 tillägg och 0 borttagningar
  1. 10 0
      _posts/2015-09-28-Ад-концепций.md

+ 10 - 0
_posts/2015-09-28-Ад-концепций.md

@@ -3,3 +3,13 @@ layout: post
 ---
 
 Что если всё это время понятие *жизнь программы* недооценивали? *Жизнь*, а точнее, *жизненный цикл* программы можно описать повторяющейся последовательностью конечных процессов. Обязательно конечных, в каком-то разумном временном отрезке.
+
+Когда появляется программа? Скорее всего, программа появляется в голове у проектировщика/разработчика. Но так как этот момент не поддаётся контролю компьютера (пока), то предположим, что моментом появления программы является момент создания минимального запускаемого (о подробном смысле этого термина стоит поговорить отдельно) исходного кода. В контексте Оберона - программа рождается, когда появляется минимальный модуль.
+
+Затем, после этапа написания некоторого программного кода, программа передается компилятору. Компилятор обеспечивает т.н. compile-time, *время компиляции*. В результате выполнения процесса компиляции мы получаем компилят (то есть непосредственный результат обработки нашего исходного кода). 
+
+Во время компиляции наш исходный код влияет на работу компилятора по определенным законам, которые выражены в коде компилятора. В то же самое время, никто не мешает уже на этапе компиляции управлять действиями компилятора (точнее, исполнителя в целом) не опосредованно, через написание текста нашей программы, а непосредственно, через *написание кода общего назначения, который будет выполнен компилятором*, то есть такого кода, который хоть и относится к задуманной программе, но не переводится компилятором в компилят непосредственно. Так называемый [CTFE](https://en.wikipedia.org/wiki/Compile_time_function_execution), но в более общем смысле. 
+
+Понятно, что нахождение в контексте процесса работы компилятора может накладывать некоторые ограничения на *код времени компиляции*, однако может и не накладывать. 
+
+Здесь мы можем заметить, что выполнение любого процесса жизненного цикла предполагает наличие результата, в явном или неявном виде.