Изучая OpenEdge Progress-4GL, я наткнулся на запуск внешних процедур и просто прочитал следующую строку кода, описывающую, как это сделать:
RUN p-exprc2.p.
Для человека, имеющего опыт программирования на C / C ++, Java и Delphi, это не имеет абсолютно никакого смысла: на этих языках существует множество процедур (функций), присутствующих во внешних файлах, которые необходимо импортировать, например:
filename "file_with_external_functions.<extension>"
===================================================
int f1 (...){
return ...;
}
int f2 (...){
return ...;
}
filename "general_file_using_the_mentioned_functions.<extension>"
=================================================================
#import file_with_external_functions.<extension>;
...
int calculate_f1_result = f1(...);
int calculate_f2_result = f2(...);
Другими словами: внешние процедуры (функции) означают, что вы составляете список процедур (функций), помещаете их все и, в случае необходимости, вы импортируете этот файл и запускаете процедуру (функцию), когда она вам нужна.
В Progress 4GL кажется, что вы запускаете весь файл!
Хотя это вообще не имеет смысла в C / C ++, Java, Delphi, я считаю, что это означает, что файлы процедур Progress (расширение * .p) должны содержать только одна процедура, а имя файла - это имя этой процедуры.
Это правильно, и в таком случае какой смысл ключевого слова PERSISTENT
?
Заранее спасибо
Доминик