Human-oriented programming | Vestnik Tomskogo gosudarstvennogo universiteta. Filologiya – Tomsk State University Journal of Philology. 2010. № 1 (9).

Human-oriented programming

The present work is based on the presupposition that programming is a branch of human activity, where human beings create programs exclusively for human beings and use computers for it at several stages of the process only. So, while programming we need to use not only computer science approaches, but also knowledge obtained within psychology.Historically, computer science has its roots in mathematics, so it is considered as the so-called exact science. Students specializing in computer science have no courses on the fundamentals of psychology yet. On the other hand, psychology is rather considered as a part of the humanities and is not interested in the domain of strict formalisms. So, interdisciplinary researches on psychology problems in programming will help us to improve software lifecycle processes, especially in the field of formal programming languages, and modelling process as the main part of program development as well.The known researches on structure of human memory, which have been conducted by G.A. Miller, K.A. Ericsson, W. Kintsch, T.R. Green, B. Shneiderman, show human limits for processing information.Human memory consists of two main parts (although they have no strict boundary and are not connected with real objects or some parts of the human brain, but rather reflect the conceptual level). These parts are short-term memory and long-term memory. The short-term memory demands no effort to load, but limits operation time and quantity of the operands. The long-term memory has no such limit but it demands hard efforts to load information. These memories can effectively operate jointly only. So, the main idea of this research is to consider any modelling process as a predetermined issue of the limits on human capacity for processing information about a complex object.There are three ways to increase the complexity level: education process, metaphors use, and the original problem decomposition into loosely connected parts. The last can be obtained by eitherremoving inessential details, or extracting semantically encapsulated entities, or dividing into loosely connected aspects, or hierarchy construction.So, we can formulate information complexity hypothesis based on the above-mentioned remarks:·Mental operations, which assume concurrent manipulation with a large number of semantic entities, are impossible for human being;·Dynamic mental operations with a complex information entity demand a model building,which must guarantee compliance with Miller's law;·Pragmatics characteristics of both the constructed model and the model description languagewe use ensue from interaction of the end user's short-term and long-term memories.This set of domain free principles has been called information complexity hypothesis (ICH).ICH creates compact and powerful conceptual framework for considering programming language features and other pragmatics issues.Brief overview of such problems as graphic versus textual programming languages problem and the challenges within the aspect oriented programming show that the ICH principles are applicable at various stages of program lifecycle and new programming language design.

Download file
Counter downloads: 354

Keywords

Authors

NameOrganizationE-mail
Zyubin V.Ye.Novosibirsk State Universityzyubin@iae.nsk.su
Всего: 1

References

Зюбин В. Е. Многоядерные процессоры и программирование // Открытые системы. 2005.№ 7-8. С. 12-19.
Larman C. Applying UML and Patterns: An Introduction on Object-Oriented Analysis and Design and Interactive Development / Prentice Hall, 2005.
IEC 61131-3. Programmable Controllers. Pt. 3: Programming Languages. 2nd ed. International Electrotechnic Commission, 1998.
Куст Т. С. Графическая организация текста электронных уч ебных пособий // Вестн. Том. гос. ун-та. 2009. № 324. С. 37-41.
Kiczales G., Irwin J., Lamping J., Loingtier J.-M., Lopes C.V., and Maeda C. Aspect-oriented programming // LNCS. Vol. 1241. Springer-Verlag. P. 220-242.
Whitley K.N. Visual Programming Languages and the Empirical Evidence For and Against // J. of Visual Languages and Computing. 1997. Vol. 8. № 1. P. 109-142.
Зюбин В.Е. Графика или текст: какой язык нужен программисту? // Открытые системы. 2004.№ 1. С. 54-58.
Зюбин В.Е. «Си с процессами»: язык программирования логических контроллеров // Мехатроника. 2006. № 12. С. 31-35.
Green T.R.G., Petre M. When Visual Programs are Harder to Read than Textual Programs. Human-Computer Interaction: Tasks and Organisation // Proc. ECCE-6 (6th European Conference on Cognitive Ergonomics). Rome, 1992, <http://citeseer.nj.nec.com/green92when.html>
Ericsson K.A., Kintsch W. Long-Term Working Memory // Psychological Review J. 1995. Vol. 102. № 2. P. 211-245.
Авербух В.Л. Метафоры визуализации // Программирование. 2001. № 5. С. 13-17.
Miller G.A. The Magical Number Seven, Plus or Minus Two: Some Limits on Our Capacity for Processing Information // Psychological Review J. 1956. Vol. 63. № 2. P. 81-97.
Shneiderman B. Software Psychology: Human Factors in Computer and Information Systems. Cambridge: Winthrop Publishers, 1980.
Dijkstra E.W. GOTO Statement Considered Harmful // Communication of the ACM. 1968. Vol. 11. № 3. P. 147-148.
 Human-oriented programming | Vestnik Tomskogo gosudarstvennogo universiteta. Filologiya – Tomsk State University Journal of Philology. 2010. № 1 (9).

Human-oriented programming | Vestnik Tomskogo gosudarstvennogo universiteta. Filologiya – Tomsk State University Journal of Philology. 2010. № 1 (9).

Download file