Comments 10
До трёх таймов я бы сократил. design,compile,run
Пользовательский код в голове у разработчика?
Заголовок спойлера
По-моему, я только что прочёл эталонную хрень.

По-моему, я только что прочёл эталонную хрень.
> На сегодняшний день нет такого языка, фреймворка или экосистемы, в котором данные этапы были бы реализованы во всей полноте. Науке, бизнесу и сообществу есть куда стремиться.
https://ru.m.wikipedia.org/wiki/UML
https://ru.m.wikipedia.org/wiki/UML
Нравится подход.
Беда в том, что контексты меняются. Написал например на windows, собрал на mac, запустил и закрыл на iOS, получил push-уведомление…
Беда в том, что контексты меняются. Написал например на windows, собрал на mac, запустил и закрыл на iOS, получил push-уведомление…
Когда появляется программа? Скорее всего, программа появляется в голове у проектировщика/разработчика, можно назвать это design-time. Но так как этот момент не поддаётся контролю компьютера (пока), то предположим, что моментом появления программы является момент создания минимального запускаемого (о подробном смысле этого термина стоит поговорить отдельно) исходного кода.Не понял, что значит не «поддаётся контролю компьютера»? О каком контроле речь? О размере какого-то рабочего файла? Нет ли тут ошибки обобщения, когда пусть из частых, но частных случаев, пытаются сделать общий вывод? Нпр., работа над программой компилятора с языка Х может начаться с описания этого языка на BNF, а может с поиска подходящего языка в Инете (есть задача, для которой нужен спец. язык с определенными свойствами). Далее по BNF может быть сделано задание для Yacc, а может написание кода на универсальном ЯП в полном объеме, а может в минимальном + компилятор Х, написанный на Х, с последующей раскруткой по Вирту и др. Но до этого может быть длительный этап обсуждений, сравнений измерений и т.д. А в другой задаче может быть нужен хитрый алгоритм. И снова поиск, а если не удалось найти, то разработка алгоритма. В результате алгоритм м.б. записан на псевдокоде, а далее последуют работы по мат. доказательству корректности этого алгоритма и его теоретическим оценкам. И.т.д. ИМХО у ПО разного типа бывает разное рождение.
Речь о более общем контроле, на данном историческом этапе компьютер не может задизайнить (разработать, создать, довести до необходимого состояния, короче) программу по ТЗ самолично, без участия программиста.
Поэтому возможности «исполнителя» (компьютера) на первом этапе ограничены возможностями IDE, которую можно дополнить пользовательским кодом в виде плагинов. Как раз этот код подлежит исполнению в design-time.
Например, сгенерированный по WSDL-описанию java-класс будет слегка бесчеловечным, что определит дальнейшую работу с этим классом, а значит, повлияет на программу в целом.
Поэтому возможности «исполнителя» (компьютера) на первом этапе ограничены возможностями IDE, которую можно дополнить пользовательским кодом в виде плагинов. Как раз этот код подлежит исполнению в design-time.
Например, сгенерированный по WSDL-описанию java-класс будет слегка бесчеловечным, что определит дальнейшую работу с этим классом, а значит, повлияет на программу в целом.
> На сегодняшний день нет такого языка, фреймворка или экосистемы, в котором данные этапы были бы реализованы во всей полноте. Науке, бизнесу и сообществу есть куда стремиться.
Автор какой-то сферический демагог в вакууме. Как это нету? А всё, что окружает вас? Вообще всё? Любая программа, которая не крашится и не засирает систему, не оставляет после себя следов. Которая просто работает и выполняет свою задачу. Как это нету-то?
Автор какой-то сферический демагог в вакууме. Как это нету? А всё, что окружает вас? Вообще всё? Любая программа, которая не крашится и не засирает систему, не оставляет после себя следов. Которая просто работает и выполняет свою задачу. Как это нету-то?
рассмотрены этапы жизни программы: design-time -> compile-time -> load-time -> link-time -> init-time -> run-time -> close-time -> death-time
Какая-то каша из разработки ПО и выполнения программы. Программа ведь не один раз запускается, а по схеме — один.
Если брать жизненный цикл ПО, его этапы примерно такие: 1) сбор требований; 2) проектирование, реализация, отладка; 3) внедрение; 4) поддержка; 5) замещение другой системой. Этапы могут пересекаться.
У "жизненного цикла" программы (процесса?) этапы уже 1) инициализация; 2) выполнение; 3) финализация.
Для чего это смешивать?
Sign up to leave a comment.
Концепция жизни программы