Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Software design
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Code as design == The difficulty of using the term "design" in relation to software is that in some senses, the source code of a program ''is'' the design for the program that it produces. To the extent that this is true, "software design" refers to the design of the design. [[Edsger W. Dijkstra]] referred to this layering of semantic levels as the "radical novelty" of computer programming,<ref>{{cite web | url=http://www.cs.utexas.edu/~EWD/transcriptions/EWD10xx/EWD1036.html | title=On the cruelty of really teaching computing science | last = Dijkstra | first = E. W. | author-link = Edsger_Dijkstra | year=1988 | access-date=2014-01-10 }}</ref> and [[Donald Knuth]] used his experience writing [[TeX]] to describe the futility of attempting to design a program prior to implementing it: {{quotation | T<sub>E</sub>X would have been a complete failure if I had merely specified it and not participated fully in its initial implementation. The process of implementation constantly led me to unanticipated questions and to new insights about how the original specifications could be improved.<ref>{{cite web | url = http://www.tug.org/TUGboat/tb10-4/tb26knut.pdf | title = Notes on the Errors of TeX | last = Knuth | first = Donald E. | author-link = Donald_Knuth | year = 1989 }} </ref> }}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)