Advertisement

Towards Empirical Evidence on the Comprehensibility of Natural Language Versus Programming Language

  • Patrick ReinEmail author
  • Marcel Taeumel
  • Robert Hirschfeld
Chapter
Part of the Understanding Innovation book series (UNDINNO)

Abstract

In software design teams, communication between programmers and non-programming domain experts is an ongoing challenge. In this communication, source code documents could be a valuable artifact as they describe domain logic in an unambiguous way. Some programming languages, such as the Smalltalk programming language, try to make source code accessible. Its concise syntax and message-passing semantics are so close to basic English, that it is likely to appeal to even non-programming domain experts. However, the inherent obscurity of technical programming details still poses a significant burden for text comprehension. We conducted a code-reading study in form of a questionnaire through Amazon Mechanical Turk and SurveyMonkey. The results indicate that even in simple problem domains, a simple English text is more comprehensive than a simple Smalltalk program. Consequently, source code in its current text form should not be used as a reliable communication medium between programmers and (non-programming) domain experts.

References

  1. Abelson, H., Sussman, G. J., & Sussman, J. (1996). Structure and interpretation of computer programs. Justin Kelly.Google Scholar
  2. Beck, K. (1996). Smalltalk best practice patterns. Upper Saddle River: Prentice Hall.Google Scholar
  3. Evans, E. (2004). Domain-driven design: Tackling complexity in the heart of software. Addison-Wesley Professional.Google Scholar
  4. Floyd, B., Santander, T., & Weimer, W. (2017). Decoding the representation of code in the brain: An fMRI study of code review and expertise. In Proceedings of the 39th International Conference on Software Engineering. IEEE Press.Google Scholar
  5. Goldberg, A., & Robson, D. (1983). Smalltalk-80: The language and its implementation. Addison-Wesley Longman Publishing Co., Inc.Google Scholar
  6. Hollmann, N., & Hanenberg, S. (2017). An empirical study on the readability of regular expressions: Textual versus graphical. In 2017 IEEE Working Conference on Proceedings of the IEEE Working Conference on Software Visualization (VISSOFT). IEEE.Google Scholar
  7. Mogensen Ingibergson, J. T., Hanenberg, S., Sunshine, J., & Schultz, U. P. (2018). Experience report: Studying the readability of a domain specific language. In Proceedings of the 33rd Annual ACM Symposium on Applied Computing. ACM.Google Scholar
  8. Nardi, B. A. (1993). A small matter of programming: Perspectives on end user computing. Cambridge: MIT Press.CrossRefGoogle Scholar
  9. Robins, A. V., Rountree, J., & Rountree, N. (2003). Learning and teaching programming: A review and discussion. Computer Science Education, 13(2), 137–172.CrossRefGoogle Scholar
  10. Robson, C. (2002). Real world research (2nd ed.). Malden: Blackwell Publishing.Google Scholar
  11. Stefik, A., & Siebert, S. (2013). An empirical investigation into programming language syntax. Transactions on Computer Education, 13(4), 19. (IEEE).CrossRefGoogle Scholar
  12. Wegner, P. (1987). Dimensions of object-based language design. In Proceedings of the International Conference on Object-oriented Programming, Systems, Languages & Applications (pp. 168–182). ACM.Google Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  • Patrick Rein
    • 1
    Email author
  • Marcel Taeumel
    • 1
  • Robert Hirschfeld
    • 1
  1. 1.Hasso Plattner Institute for Digital EngineeringPotsdamGermany

Personalised recommendations