Notes
It is perhaps no surprise that particularly the social sciences clinge so strongly to the idea of methodologically correct ways of hypothesis generation as main criterion of their ‘scientificness’, since their hypotheses themselves are so much harder to test experimentally than the hypotheses generated in the natural sciences.
See the Philosophy of Computer Science website with many literature references at http://pcs.essex.ac.uk/ .
The term Denkzeug is now so popular in German philosophical language that I was not able to trace its origin, but I know that it was also used by Walter Zimmerli in his philosophy of (computer) technology in the 1990s.
See for example the organisation Formal Methods Europe (FME), online at http://www.fmeurope.org/.
Maibaum attributed this quotation to Tony Hoare.
See for example the European association of software science and technology (EASST), online at http://www.easst.org/.
See for example CBSE, the annual symposium on component based software engineering, published regularly in the Lecture Notes in Computer Science.
References
Arageorgis, A., & Baltas, A. (1989). Demarcating technology from science: Problems and problem solving in technology. Zeitschrift für allgemeine Wissenschaftstheorie, 20(2), 212–229.
Broy, M., & Rombach, D. (2002). Software engineering: Wurzeln, Stand und Perspektiven. Informatik Spektrum, 16, 438–451.
DeMarco, T. (1982). Controlling software projects: Management measurement and estimation. Yourdon Press: Prentice Hall.
DeMarco, T. (2009). Software engineering: An idea whose time has come and gone? IEEE Software, 26(4), 95–96.
Gregg, D. G., Kulkarni, U. R., & Vinze, A. S. (2001). Understanding the philosophical underpinnings of software engineering research in information systems. Information Systems Frontiers, 3(2), 169–183.
Hernandez-Orallo, J., & Ramirez-Quintana, M. J. (2000). Software as learning-quality factors and life-cycle revised. Lecture Notes in Computer Science, 1783, 147–162.
Hoare, C. A. R., & He, J. (1998). Unifying theories of programming. London: Prentice Hall.
Kondoh, H. (2000). What is ‘Mathematicalness’ in Software Engineering?—Towards precision software engineering. Lecture Notes in Computer Science, 1783, 163–177.
Logrippo, L. (2007). Normative systems: The meeting point between jurisprudence and information technology? In H. Fujita & D. Pisanelli (Eds.), New trends in software methodologies, tools and techniques (pp. 343–354). Amsterdam: IOS Press.
Maibaum, T. (2008). Formal methods versus engineering. Proceedings of the First International Workshop on Formal Methods in Education and Training, at the ICFEM International Conference on Formal Engineering Methods, Kitakyushu, Japan.
Northover, M., Kourie, D. G., Boake, A., Gruner, S., & Northover, A. (2008). Towards a philosophy of software development: 40 years after the birth of software engineering. Zeitschrift für allgemeine Wissenschaftstheorie, 39(1), 85–113.
Rogers, G. F. C. (1983). The nature of engineering. Palgrave: Macmillan.
Rombach, D., & Seelisch, F. (2008). Formalisms in software engineering: Myths versus empirical facts. Lecture Notes in Computer Science, 5082, 13–25.
Snelting, G. (1998a). Paul Feyerabend und die Softwaretechnologie. Informatik Spektrum, 21(5), 273–276.
Snelting, G. (1998b). Paul Feyerabend and software technology. Software Tools for Technology Transfer, 2(1), 1–5.
Tichy, W. F. (2007). Empirical methods in software engineering research. Proceedings 4th IFIP WG 2.4 Summer School on Software Technology and Engineering, Gordon’s Bay, South Africa.
Zhirnov, V., Cavin, R., Leeming, G., & Galatsis, K. (2008). An assessment of integrated digital cellular automata architectures. Computer, 41(1), 38–44.
Acknowledgments
Thanks to the students of my Software Engineering seminar in 2008 at the University of Pretoria for interesting discussions on the context of this article. Thanks also to Tom Maibaum for inspiring conversations during the ICFEM International Conference on Formal Engineering Methods in Kitakyushu, Japan, October 2008. Also the fruitful discussions with my colleagues Derrick Kourie and Morkel Theunissen are gratefully acknowledged. I also thank Markus Roggenbach for an example which I have used in Sect. 3. Last but not least thanks to the editors and reviewers of this journal for their thoughtful feedback and helpful comments on the earlier drafts of this contribution, as well as to the production office for their professional typesetting of the manuscript.
Author information
Authors and Affiliations
Corresponding author
Appendix: Further Reading in the Wider Context of this Discourse
Most of the papers listed in this appendix are written in a rather non-technical style and should thus be understandable also for readers not familiar with the field of software engineering. Note that I do not claim this to be a complete list of all the relevant literature in the context of this essay-review; this list should rather be taken as an “interesting selection” of recommendable and easily accessible titles, which are suitable for pointing the non-expert reader to some key issues in the wider area of software engineering.
Appendix: Further Reading in the Wider Context of this Discourse
Armour, P.G. (2006). The Business of Software. Communications of the ACM, 49/9, 15–17.
Bergin, T.J. (2007). A History of the History of Programming Languages. Communications of the ACM, 50/5, 69–74.
da-Cunha, A.D. & Greathead, D. (2007). Does Personality matter?—An Analysis of Code-Review-Ability. Communications of the ACM, 50/5, 109–112.
Feitelson, D.G. (ed.) (2007). Experimental Computer Science. Communications of the ACM, 50/11, 24-59.
Floridi, L. (1999). Philosophy and Computing: An Introduction. Routledge.
Florman, S.C. (1996). The Introspective Engineer. St. Martin’s Griffin.
Fujita, H. & Pisanelli, D. (eds.) (2007). New Trends in Software Methodologies, Tools and Techniques. Proceedings of the 6th SOMET Conference. IOS Press.
Glass, R.L. (2007). One Man’s Quest for the State of Software Engineering’s Practice. Communications of the ACM, 50/5, 21-23.
Jeffries, R. & Melnik, G. (Eds.) (2007). Test-Driven Development. IEEE Software, 24/3, 24– 83.
McBride, M.R. (2007). The Software Architect. Communications of the ACM, 50/5, 75–82.
Rajlich, V. (2006). Changing the Paradigm of Software Engineering. Communications of the ACM, 49/8, 67–70.
Sugumaran, V. & Park, S. & Kang, K.C. (eds.) (2006). Software Product Line Engineering. Communications of the ACM, 49/12, 28–89.
Turski, W.M. (2000). Essay on Software Engineering at the Turn of the Century. Lecture Notes in Computer Science, 1783, 1–20.
Vincenti, W.G. (1993). What Engineers Know and How They Know It: Analytical Studies from Aeronautical History. Johns Hopkins University Press.
Rights and permissions
About this article
Cite this article
Gruner, S. Software Engineering Between Technics and Science. J Gen Philos Sci 41, 237–260 (2010). https://doi.org/10.1007/s10838-010-9116-y
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10838-010-9116-y