Система метрик для языков программирования
https://doi.org/10.15514/ISPRAS-2022-34(6)-5
Аннотация
Мы представляем, возможно, первое приближение метрик языков программирования, которые представляют собой спектр из более чем 70 уникальных и тщательно собранных измерений, по которым можно сравнивать любые два языка. Основываясь на метриках, человек может самостоятельно определить "лучший" для него язык и продемонстрировать, как сложные чувства, такие как "простота" и "легкость в использовании", часто встречающиеся в продвижении и спорах о том какой язык лучше, могут быть разложены на четкие и измеримые части. Мы разместили коллекцию в виде отдельного файла с открытым исходным кодом (здесь в качестве приложения), чтобы каждый мог принять участие в поиске новых и интересных измерений, используемых в практике, исследованиях, и разработке языков программирования. Метрики могут найти свое применение для сравнения языков, определения требований, создания рейтингов, советов разработчикам языков, а также просто для получения представления о возможностях в существующих языках программирования.
Список литературы
1. Nanz S., Furia C.A. A Comparative Study of Programming Languages in Rosetta Code. In Proc. of the IEEE/ACM 37th IEEE International Conference on Software Engineering, 2015, pp. 778-788.
2. Prechelt L. An Empirical Comparison of Seven Programming Languages. Computer, vol. 33, issue 10, 2000, pp. 23-29.
3. Fourment M., Gillings M.R. A comparison of common programming languages used in bioinformatics. BMC Bioinformatics, vol. 9, issue 1, 2008, article no. 82, 8 p.
4. Pembeci İ., Hager G. A Comparative Review of Robot Programming Languages, Report CIRL-Johns Hopkins University, 2003, 29 p.
5. Pigott D.J., Axtens B.M. HOPL; Online Historical Encyclopaedia of Programming Languages. Available at: https://hopl.info/, accessed Aug. 11, 2020.
6. Programming Language DataBase. Available at: https://pldb.com/, accessed Aug. 13, 2022.
7. Programming Languages. Rosetta Code. Available at: https://rosettacode.org/wiki/Category:Programming_Languages, accessed Nov. 04, 2022.
8. List of programming languages. Wikipedia. Available at: https://en.wikipedia.org/w/index.php?title=List_of_programming_languages&oldid=972639589, accessed Aug. 13, 2020
9. GitHub | Advanced Search.GitHub. Available at: https://github.com/search/advanced, accessed Nov. 04, 2022.
10. The state of open source software | Top Languages. Available at: https://octoverse.github.com/2022/top-programming-languages, accessed Nov. 16, 2022.
11. Top Programming Languages 2022. IEEE Spectrum. Available at: https://spectrum.ieee.org/top-programming-languages-2022, accessed Dec. 20, 2022.
12. TIOBE Programming Community index. Available at: https://www.tiobe.com/tiobe-index/, accessed Dec. 20, 2022.
13. Stack Overflow Developer Survey 2022. Available at: https://survey.stackoverflow.co/2022/?utm_source=social-share&utm_medium=social&utm_campaign=dev-survey-2022, accessed Dec. 20, 2022.
14. Carbonnelle P. PYPL PopularitY of Programming Language index. Available at: http://pypl.github.io/PYPL.html, accessed Jul. 16, 2020.
15. Sammet J.E. Problems in, and a pragmatic approach to, programming language measurement. In Proc. of the Fall Joint Computer Conference, 1971, pp. 243-251.
16. Aruoba S.B, Fernández-Villaverde J.A Comparison of Programming Languages in Economics. Working Paper 20263. National Bureau of Economic Research, 2014, 20 p.
17. Boom H.J., de Jong E. A critical comparison of several programming language implementationsю Software: Practice and Experience, vol. 10, issue 6, 1980, pp. 435-473,
18. Alomari Z., Halimi O.E. et al. Comparative Studies of Six Programming Languages. arXiv:1504.00693, 2015, 71 p.
19. Al-Qahtani S.S., Pietrzynski P. et al. Comparing Selected Criteria of Programming Languages Java, PHP, C++, Perl, Haskell, AspectJ, Ruby, COBOL, Bash Scripts and Scheme. Revision. arXiv:1008.3434, 2010, 149 p.
20. Delorey D.P., Knutson C.D., Giraud-carrier C. Programming language trends in open source development: An evaluation using data from all production phase sourceforge projects, In Proc. of the Second International Workshop on Public Data about Software Development, 2007, 5 p.
21. MacLennan B.J. Simple metrics for programming languages. Information Processing & Management, vol. 20, no. 1, 1984, pp. 209-221.
22. MacLennan B.J. The Structural Analysis of Programming Languages. Report NPS52 81-009, Naval Postgraduate School, 1981, 37 p.
23. van Rossum G. Python reference manual. Technical Report CS-R9525. NCWI (Centre for Mathematics and Computer Science), 1995, 59 p.
24. Kernighan B.W., Ritchie D.M. The C programming language. 2nd edition. Pearson, 1988, 272 p.
25. Elm - delightful language for reliable web applications. Available at: https://elm-lang.org/, accessed Nov. 04, 2022.
26. G. Steele. Common LISP: the language. 2nd updated edition. Digital Press, 1990, 1029 p.
Рецензия
Для цитирования:
ФАЙЗРАХМАНОВ Т.Р. Система метрик для языков программирования. Труды Института системного программирования РАН. 2022;34(6):67-84. https://doi.org/10.15514/ISPRAS-2022-34(6)-5
For citation:
Fayzrakhmanov T.R. Introducing Programming Language Metrics. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2022;34(6):67-84. https://doi.org/10.15514/ISPRAS-2022-34(6)-5