{"title":"ANALYSIS OF MECHANISMS AND EFFICIENCY OF SPECIALIZED LANGUAGES OF FUNCTIONAL PROGRAMMING","authors":"I. M. Storchak, O. Ivanov","doi":"10.15802/stp2019/195581","DOIUrl":null,"url":null,"abstract":"Цель . Авторы ставят целью определить отличия функциональных языков программирования, выявить возможности наиболее популярных языков путём их сравнения и анализа. Для выявления основных возможностей нужно рассмотреть их структуры данных, а также сферы применения. С помощью метрик сложности текстов программ провести анализ и сравнение примеров из различных сфер использования языков. Методика . Отобраны пять самых популярных специализированных функциональных языков программирования: Erlang, Lisp, F #, Scala и Haskel. Для получения информации о возможностях каждого из языков изучены их структуры данных, а также сферы применения, проведен обзор официальной документации. Экспериментальная база исследования сформирована из текстов существующих программных систем, полученных из открытого источника и подобранных по схожим направлениям применения и одинаковым объемам текста. Сравнительный анализ примеров программ выполнен по метрикам Холстеда, которые рассчитывают с помощью специально разработанного программного обеспечения. Анализ полученных оценок качества выполнен графическим способом. Результаты . Разработано программное обеспечение, которое позволяет получить метрики Холстеда, для входных текстов программ на таких языках функционального программирования, как Erlang, Lisp, F # и Scala. Сложность синтаксиса языка программирования Haskel не позволила использовать метрики для оценки текста, поэтому было проведено только рассмотрение возможностей по документации. С помощью сравнительного анализа показано различие языков и очерчены сферы их использования. Выполнено сравнение примеров разного объема из таких сфер использования, как задачи системного программирования, работа с графикой, математические расчеты, системы искусственного интеллекта, веб-программирование и т. п. Научная новизна. Авторы впервые провели сравнительный анализ специализированных языков с помощью метрик сложности текстов, который позволил установить, что язык Lisp имеет самый меньший словарь и длину кода, текст на Scala имеет наиболее структурированный вид, а F # и Erlang отмечаются излишней многословностью. Практическая значимость. Полученные выводы и измерения помогут при выборе наиболее эффективного языка функционального программирования для решения конкретных задач с учётом различий в сферах применения. Разработанное программное обеспечение позволяет выполнять измерения для разных текстов программ при разработке и сопровождения сложных программных систем.","PeriodicalId":120413,"journal":{"name":"Science and Transport Progress. Bulletin of Dnipropetrovsk National University of Railway Transport","volume":"24 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-12-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Science and Transport Progress. Bulletin of Dnipropetrovsk National University of Railway Transport","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.15802/stp2019/195581","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Цель . Авторы ставят целью определить отличия функциональных языков программирования, выявить возможности наиболее популярных языков путём их сравнения и анализа. Для выявления основных возможностей нужно рассмотреть их структуры данных, а также сферы применения. С помощью метрик сложности текстов программ провести анализ и сравнение примеров из различных сфер использования языков. Методика . Отобраны пять самых популярных специализированных функциональных языков программирования: Erlang, Lisp, F #, Scala и Haskel. Для получения информации о возможностях каждого из языков изучены их структуры данных, а также сферы применения, проведен обзор официальной документации. Экспериментальная база исследования сформирована из текстов существующих программных систем, полученных из открытого источника и подобранных по схожим направлениям применения и одинаковым объемам текста. Сравнительный анализ примеров программ выполнен по метрикам Холстеда, которые рассчитывают с помощью специально разработанного программного обеспечения. Анализ полученных оценок качества выполнен графическим способом. Результаты . Разработано программное обеспечение, которое позволяет получить метрики Холстеда, для входных текстов программ на таких языках функционального программирования, как Erlang, Lisp, F # и Scala. Сложность синтаксиса языка программирования Haskel не позволила использовать метрики для оценки текста, поэтому было проведено только рассмотрение возможностей по документации. С помощью сравнительного анализа показано различие языков и очерчены сферы их использования. Выполнено сравнение примеров разного объема из таких сфер использования, как задачи системного программирования, работа с графикой, математические расчеты, системы искусственного интеллекта, веб-программирование и т. п. Научная новизна. Авторы впервые провели сравнительный анализ специализированных языков с помощью метрик сложности текстов, который позволил установить, что язык Lisp имеет самый меньший словарь и длину кода, текст на Scala имеет наиболее структурированный вид, а F # и Erlang отмечаются излишней многословностью. Практическая значимость. Полученные выводы и измерения помогут при выборе наиболее эффективного языка функционального программирования для решения конкретных задач с учётом различий в сферах применения. Разработанное программное обеспечение позволяет выполнять измерения для разных текстов программ при разработке и сопровождения сложных программных систем.