We consider the problem of comparison of programming languages with respect to their ability to express programmers’ ideas. Our assumption is that the way of programmers’ thinking is reflected in languages used to describe software systems and programs (modelling languages, type theory, pattern languages). We have developed a list of criteria based on these languages and applied it to comparison of a number of widely used programming languages. The obtained result may be used to select a language for a particular task and choose evolution directions of programming languages.
 R. Batdalov, “Is there a need for a programming language adapted for implementation of design patterns?” in Proceedings of the 21st European Conference on Pattern Languages of Programs (EuroPLoP), Irsee, Germany, July 6–10, 2016.
 S. J. Russell and P. Norvig, Artificial Intelligence: A Modern Approach, Englewood Cliffs, NJ, USA: Prentice Hall, 1995.
 A. Leitão, S. Proença, “On the expressive power of programming languages for generative design: the case of higher-order functions,” in Proceedings of the 32nd International Conference on Education and Research in Computer Aided Architectural Design in Europe (eCAADe), Newcastle upon Tyne, England, Sep. 22–26, 2014, pp. 257–266.
 W. M. Farmer, “Chiron: a multi-paradigm logic,” Studies in Logic, Grammar and Rhetoric, vol. 10, no. 23, 2007, pp. 1–19.
 S. C. McConnell, Code Complete, Microsoft Press, 2004.
 Y. Zhang, M. C. Loring, G. Salvaneschi, B. Liskov and A. C. Myers, “Lightweight, flexible object-oriented generics” in Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation, Portland, OR, June 13–17, 2015, pp. 436–445. https://doi.org/10.1145/2737924.2738008
 D. E. Knuth, The Art of Computer Programming: Fundamental Algorithms, Addison-Wesley, 1997.
 Ž. Vaira and A. Čaplinskas, “Software engineering paradigm independent design problems, GoF 23 design patterns, and aspect design,” Informatica, vol. 22, no. 2, pp. 289–317, Apr. 2011.
 Z. Anik and O. F. Baykoç, “Comparison of the most popular object-oriented software languages and criterions for introductory programming courses with analytic network process: a pilot study,” Computer Applications in Engineering Education, vol. 19, no. 1, pp. 89–96, March 2011. https://doi.org/10.1002/cae.20294
 N. Archvadze and M. Pkhovelishvili, “Reforming the trees – C# and F# comparison,” in Proceedings of the 4th International Conference on Problems of Cybernetics and Informatics (PCI), Baku, Azerbaijan, Sep. 12–14, 2012, pp. 1–4. https://doi.org/10.1109/ICPCI.2012.6486287
 B. M. Brosgol, “A comparison of generic template support: Ada, C++, C#, and Java ™,” in Proceedings of the 15th Ada-Europe International Conference on Reliable Software Technologies (Lecture Notes in Computer Science), Valencia, Spain, June 14–18, 2010, pp. 222–237. https://doi.org/10.1007/978-3-642-13550-7_16
 R. Lämmel, M. Leinberger, T. Schmorleiz and A. Varanovich, “Comparison of feature implementations across languages, technologies, and styles,” in Proceedings of Software Evolution Week / IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE), Antwerp, Belgium, Feb. 3–6, 2014, pp. 333–337. https://doi.org/10.1109/csmr-wcre.2014.6747188
 M. Stein and A. Geyer-Schulz, “A comparison of five programming languages in a graph clustering scenario,” Journal of Universal Computer Science, vol. 19, no. 3, pp. 428–456, 2013.
 N. Togashi and V. Klyuev, “Concurrency in Go and Java: performance analysis” in Proceedings of the 4th IEEE International Conference on Information Science and Technology (ICIST), Shenzen, China, Apr. 26–28, 2014, pp. 213–216. https://doi.org/10.1109/icist.2014.6920368
 F. Buschmann, K. Henney and D. C. Schmidt, Pattern-Oriented Software Architecture Volume 5: On Patterns and Pattern Languages, Wiley, 2007.
 R. Batdalov, “Inheritance and class structure,” in Proceedings of the 1st International Scientific-Practical Conference Object Systems – 2010, Rostov-on-Don, Russia, May 10–12, 2010, pp. 92–95.
 R. Batdalov and O. Nikiforova, “Towards easier implementation of design patterns,” in Proceedings of the Eleventh International Conference on Software Engineering Advances (ICSEA 2016), Rome, Italy, August 21–25, 2016, pp. 123–128.