<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="ru"><front><journal-meta><journal-id journal-id-type="publisher-id">ellibs</journal-id><journal-title-group><journal-title xml:lang="ru">Электронные библиотеки</journal-title><trans-title-group xml:lang="en"><trans-title>Russian Digital Libraries Journal</trans-title></trans-title-group></journal-title-group><issn pub-type="epub">1562-5419</issn><publisher><publisher-name>Казанский (Приволжский) федеральный университет</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.26907/1562-5419-2023-26-6-738-759</article-id><article-id custom-type="elpub" pub-id-type="custom">ellibs-484</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>Статьи</subject></subj-group></article-categories><title-group><article-title>О вопросе измерения вклада программистских решений в производительность программ</article-title><trans-title-group xml:lang="en"><trans-title>About Measuring of the Contribution of Software Decisions to Program Performance</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Городняя</surname><given-names>Лидия Васильевна</given-names></name><name name-style="western" xml:lang="en"><surname>Gorodnyaya</surname><given-names>Lidia Vasiljevna</given-names></name></name-alternatives><email xlink:type="simple">gorod@iis.nsk.su</email><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Андреева</surname><given-names>Татьяна Анатольевна</given-names></name><name name-style="western" xml:lang="en"><surname>Andreyeva</surname><given-names>Tatiana Anatolevna</given-names></name></name-alternatives><email xlink:type="simple">ata@iis.nsk.su</email><xref ref-type="aff" rid="aff-2"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>Институт систем информатики имени акад. Андрея Петровича Ершова СО РАН</institution></aff><aff xml:lang="en"><institution>The A.P. Ershov Institute of Informatics Systems</institution></aff></aff-alternatives><aff-alternatives id="aff-2"><aff xml:lang="ru"><institution>Институт систем информатики им. А.П. Ершова СО РАН</institution></aff><aff xml:lang="en"><institution>A.P. Ershov Institute of Informatics Systems SB RAS</institution></aff></aff-alternatives><pub-date pub-type="collection"><year>2023</year></pub-date><pub-date pub-type="epub"><day>28</day><month>12</month><year>2023</year></pub-date><volume>26</volume><issue>6</issue><elocation-id>738–759</elocation-id><permissions><copyright-statement>Copyright &amp;#x00A9; Городняя Л.В., Андреева Т.А., 2023</copyright-statement><copyright-year>2023</copyright-year><copyright-holder xml:lang="ru">Городняя Л.В., Андреева Т.А.</copyright-holder><copyright-holder xml:lang="en">Gorodnyaya L.V., Andreyeva T.A.</copyright-holder><license xml:lang="ru" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>Данная работа распространяется под лицензией Creative Commons Attribution 4.0.</license-p></license><license xml:lang="en" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://ellibs.elpub.ru/jour/article/view/484">https://ellibs.elpub.ru/jour/article/view/484</self-uri><abstract><p>Статья нацелена на привлечение внимания к вопросам, возникающим в связи с проблемой оценки влияния программируемых решений на продуктивность программирования и производительность программ в процессе обучения программированию и улучшения программных приложений с сохранением их правильности. Проанализированы результаты некоторых экспериментов по этим вопросам. Рассматривается гипотеза, что функциональные модели могут быть полезны как метрическая шкала, позволяющая отделять особенности используемых языков и систем программирования от характеристик программ и запрограммированных решений. Описаны результаты небольшого демонстрационного эксперимента, направленного на исследование зависимости производительности программ от выбора компилятора и отдельно от представления программируемых решений на определённом языке программирования. Анализ полученных результатов позволяет наметить подход к созданию методики, позволяющей выяснять такие зависимости. При создании методики может быть учтён многолетний опыт оценки учебных и олимпиадных работ по программированию, проявивший ряд не вполне очевидных аспектов проблемы.
</p></abstract><trans-abstract xml:lang="en"><p>The article draws attention to the problem of measuring the effect that programming solutions have on the programming productivity and performance, in educational programming and the correctness-saving program improvements. The results of some experiments concerning these questions are discussed. The hypothesis that  functional models can provide a metric scale capable of separating features of programming languages and systems from features of programs and programming solutions is proposed. The results of a preliminary demonstrative experiment in studying the dependence of the program productivity upon the opted compiler and, on the other hand, upon the representation of the programming solution in the opted programming languages are described. Analysis of these results leads to a method that can reveal such dependencies. The long experience in sifting educational and contest programs revealed some unnoticed aspects of this problem.
</p></trans-abstract><kwd-group xml:lang="ru"><kwd>измерение качества программ</kwd><kwd>продуктивность программирования</kwd><kwd>производительность программ</kwd><kwd>программистские решения</kwd><kwd>функциональное программирование</kwd></kwd-group><kwd-group xml:lang="en"><kwd>program quality measurements</kwd><kwd>programming productivity</kwd><kwd>program performance</kwd><kwd>programming decisions</kwd><kwd>functional programming</kwd></kwd-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Sachin, Patil. Lisp as an Alternative to Java. URL: https://psachin.gitlab.io/lisp-java-notes.html</mixed-citation><mixed-citation xml:lang="en">Sachin, Patil. Lisp as an Alternative to Java. URL: https://psachin.gitlab.io/lisp-java-notes.html</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Gouy, Isaac. The Computer Language Benchmarks Game “Which programming language is fastest?” URL: https://benchmarksgame-team.pages.debian.net/benchmarksgame/index.html</mixed-citation><mixed-citation xml:lang="en">Gouy, Isaac. The Computer Language Benchmarks Game “Which programming language is fastest?” URL: https://benchmarksgame-team.pages.debian.net/benchmarksgame/index.html</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Платформа JDoodle. URL: https://jdoodle.com</mixed-citation><mixed-citation xml:lang="en">Платформа JDoodle. URL: https://jdoodle.com</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Энциклопедия языков программирования. URL: http://progopedia.ru</mixed-citation><mixed-citation xml:lang="en">Энциклопедия языков программирования. URL: http://progopedia.ru</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Купер А. Психбольница в руках пациентов. Алан Купер об интерфейсах. СПб.: Питер, 2018. 384 с.</mixed-citation><mixed-citation xml:lang="en">Купер А. Психбольница в руках пациентов. Алан Купер об интерфейсах. СПб.: Питер, 2018. 384 с.</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Андреева Т.А., Городняя Л.В. Функциональный подход к измерению вклада программируемых решений в производительность программ : препринт. Новосибирск: ИСИ СО РАН, 2022. 62 с. URL: https://www.iis.nsk.su/files/preprints/preprint_187.pdf</mixed-citation><mixed-citation xml:lang="en">Андреева Т.А., Городняя Л.В. Функциональный подход к измерению вклада программируемых решений в производительность программ : препринт. Новосибирск: ИСИ СО РАН, 2022. 62 с. URL: https://www.iis.nsk.su/files/preprints/preprint_187.pdf</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Weinberg G.M. The Psychology of Computer Programming. Silver Anniversary Edition, 2011. 288 p.</mixed-citation><mixed-citation xml:lang="en">Weinberg G.M. The Psychology of Computer Programming. Silver Anniversary Edition, 2011. 288 p.</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Липаев В.В. Человеческие факторы в программной инженерии. Рекомендации и требования к профессиональной квалификации специалистов. М.: СИНТЕГ, 2009. 348 с.</mixed-citation><mixed-citation xml:lang="en">Липаев В.В. Человеческие факторы в программной инженерии. Рекомендации и требования к профессиональной квалификации специалистов. М.: СИНТЕГ, 2009. 348 с.</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Андреева Т.А. Возможность автоматизации процесса генерирования тестовых наборов // Universum: технические науки. №8(41). М., Изд. «МЦНО», 2017. С. 5–7.</mixed-citation><mixed-citation xml:lang="en">Андреева Т.А. Возможность автоматизации процесса генерирования тестовых наборов // Universum: технические науки. №8(41). М., Изд. «МЦНО», 2017. С. 5–7.</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">Andreyeva, T.A. Automation of correctness checking in education // A.P. Ershov Informatics Conference / Educational Informatics Workshop proceedings. July 2–3, 2019. Novosibirsk, 2019. P. 6–15.</mixed-citation><mixed-citation xml:lang="en">Andreyeva, T.A. Automation of correctness checking in education // A.P. Ershov Informatics Conference / Educational Informatics Workshop proceedings. July 2–3, 2019. Novosibirsk, 2019. P. 6–15.</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">Андреева Т.А. Сборник задач для предолимпиадной подготовки по программированию. Новосибирск: Изд-во НГУ, 2009. 226 с.</mixed-citation><mixed-citation xml:lang="en">Андреева Т.А. Сборник задач для предолимпиадной подготовки по программированию. Новосибирск: Изд-во НГУ, 2009. 226 с.</mixed-citation></citation-alternatives></ref><ref id="cit12"><label>12</label><citation-alternatives><mixed-citation xml:lang="ru">Андреева Т.А. Программирование на языке Pascal. М.: ИНТУИТ, 2016. 277 с.</mixed-citation><mixed-citation xml:lang="en">Андреева Т.А. Программирование на языке Pascal. М.: ИНТУИТ, 2016. 277 с.</mixed-citation></citation-alternatives></ref><ref id="cit13"><label>13</label><citation-alternatives><mixed-citation xml:lang="ru">Городняя Л.В. Функциональное программирование. Парадигма, модели, методы. Новосибирск: Изд-во СО РАН, 2022. 482 с.</mixed-citation><mixed-citation xml:lang="en">Городняя Л.В. Функциональное программирование. Парадигма, модели, методы. Новосибирск: Изд-во СО РАН, 2022. 482 с.</mixed-citation></citation-alternatives></ref><ref id="cit14"><label>14</label><citation-alternatives><mixed-citation xml:lang="ru">Салливан, Уильям Джон : персональная страница в Википедии. URL: https://ru.wikipedia.org/wiki/Салливан_Уильям_Джон</mixed-citation><mixed-citation xml:lang="en">Салливан, Уильям Джон : персональная страница в Википедии. URL: https://ru.wikipedia.org/wiki/Салливан_Уильям_Джон</mixed-citation></citation-alternatives></ref><ref id="cit15"><label>15</label><citation-alternatives><mixed-citation xml:lang="ru">Архимед Сиракузский : персональная страница в Википедии. URL: https://ru.wikipedia.org/wiki/Архимед</mixed-citation><mixed-citation xml:lang="en">Архимед Сиракузский : персональная страница в Википедии. URL: https://ru.wikipedia.org/wiki/Архимед</mixed-citation></citation-alternatives></ref><ref id="cit16"><label>16</label><citation-alternatives><mixed-citation xml:lang="ru">Михалков, Сергей Владимирович : персональная страница в Википедии. URL: https://ru.wikipedia.org/wiki/Михалков_Сергей_Владимирович</mixed-citation><mixed-citation xml:lang="en">Михалков, Сергей Владимирович : персональная страница в Википедии. URL: https://ru.wikipedia.org/wiki/Михалков_Сергей_Владимирович</mixed-citation></citation-alternatives></ref><ref id="cit17"><label>17</label><citation-alternatives><mixed-citation xml:lang="ru">Томсон, Уильям (лорд Кельвин) : персональная страница в Википедии. URL: https://ru.wikipedia.org/wiki/Томсон_Уильям_(лорд_Кельвин)</mixed-citation><mixed-citation xml:lang="en">Томсон, Уильям (лорд Кельвин) : персональная страница в Википедии. URL: https://ru.wikipedia.org/wiki/Томсон_Уильям_(лорд_Кельвин)</mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
