Philosophical Thoughts on software development
(2002.01.11) from: Computer World Zaozhuang Zhang Wei Compilation
Note: although this article has been written for a long time (IT was quite suitable for the IT industry to use the word "long" in 1996), IT is still dumped by the author's talents after reading IT, this is a rare article.
Researchers at the Carnegie Mellon Institute of software development and other colleges spent their whole life defining a Theoretical Discipline (software development theory), and later found that there were still many vague things, they do not hide this. Since its birth, software development has conquered many talented people with charming styles. Some professors, experts, scholars, and business management personnel cannot help but raise the following question: why can't humans define software, interpret it, and understand it deeply? Why can't some talented scientists generalize these puzzles into a scientific engineering discipline or industry standard?
Most of us, especially businessmen, engineers, and academic institution researchers, regard computers and software as a very common thing. They communicate with computers in various absurd ways, computers are deaf to threats and condemnation from users. Software is everywhere, but software often shows failure, strike, and abnormal. There are two main reasons: First, program failure will lead to inaccurate file definition, in the end, the software is characterized by strikes and exceptions. Second, some software development directors conduct random command and force the software to apply some flashy techniques to realize the unrealistic ideas and wonderful dreams of supervisors.
Slow software development and Internet access take most of people's time, and especially, these two aspects are very addictive in the contemporary era. Once addicted, normal people will also become slaves to file processing, file uploading and downloading, most of which will be attributed to the disadvantages of managing its software. At this time, we have to be confused: We can build skyscrapers, fast racing cars and high-performance electronic products, we can even understand quantum mechanics and sub-atoms. Why can't we develop high-quality software?
[The truth behind the mystery]
Software development is essentially a mental activity based on human thinking. computers and software running on them are a mirror of human brain activity, therefore, software development also faces some inherent problems of psychology and spirituality. As we all know, all the purposes of psychology are nothing more than understanding the elusive human soul, which some medical professionals study. Compared with software development, the situation may be worse, because software development is only a model of human intellectual activity after all, it comes from human intellectual thinking. Whether you admit it or not, intellectual activity is only part of the soul action.
In many aspects, the relationship between software and psychology is closer than that between Engineering, Technology, and mathematics. This is because software directly comes from the thinking of the human soul, superior software often relies on the creativity of the soul. Compared with art, software lacks the beauty of art; compared with natural science, it lacks a little formality. In addition, software can only be a psychological imitation of software developers.