"Is Software art or engineering ?", The answer is yes-software is engineering, not art. The so-called art is not a necessity for economic life, but an accessory for people to relax and enjoy after a meal. Although Art is valuable, it is not closely related to the national economy or the lives of ordinary people. It should be an accessory.
Art is an organic product of comprehensive psychological activities of people's knowledge, emotions, ideals, and ideas. It is an image of people's real life and spiritual world. Art is a cultural phenomenon in the entertainment game culture. It is a cultural phenomenon created by people to meet their own demand for sympathy for subjective defects and the behavioral needs of emotional organs, the essential feature of this cultural phenomenon is the creation of Virtual Human real life with language. Art is a cultural form for people to exchange emotions and thoughts. People exchange emotions and thoughts based on language. Therefore, the basis of art is human language. Art can be defined as "technologies and products for the purpose of creating beauty ". Art requires technology, but not technology.
Software is completely different. It has been widely and deeply applied in all walks of life and is truly serving the society. It is inseparable from people's daily life and directly related to people's life and property. Nowadays, software is everywhere and is inseparable from everyone's work and life. For example:
- Fixed telephones, mobile phones, and digital TVs are all embedded in computer programs and controlled by software.
- Train operations and aircraft routes are also operated, monitored, and managed by computer systems.
- Banking processing, online banking, and stock systems are all computer systems?
In the eyes of software talents, Software creation is like a work of art, full of imagination and constant innovation. In addition, the design of human-computer interaction interfaces indeed requires artistic cells. When people think of software as a "work of art", they just overemphasize their creativity, but they only see a certain part or a few application scenarios, which has great limitations. Although software is a high-tech intellectual product that requires high creativity, it still cannot erase its industrial nature. Software has formed an industry and is an indispensable field in today's social industry. The software industry has become one of the important pillar industries of the national economy. Therefore, software quality problems directly harm people's lives and property. Software Quality Problems will cause serious losses to the national economy, and enterprises will pay a huge price for this. However, quality issues such as calligraphy, painting, and sculpture only affect the artistic value of the work itself, or only affect the audience's acceptance of the product, but will never directly affect people's life and property, it will not directly cause losses to the national economy.
Software is a technology and a fast-developing high technology. The software engineering emphasizes the realization of the goal, starting from the goal and requirements, and strives to achieve "many, fast, good, and save" to meet business needs, meet customer needs and quality requirements. Software Engineering is undoubtedly a project, because software engineering also has a standard engineering practice-analysis, design and implementation.
[Note: "software development is not an art" is different from "software development is not artistic. "Software development is not an art", which means that "art is not dominant in software development, but Engineering Technology." It does not deny that "Software Development contains artistic components ", however, this art composition is less than 50%. Each task is artistic, software development and testing are artistic, and project management is artistic. However, art and music are an art that is dominant in art and music.]
Refer:
- What is software engineering?
- What is the core of software engineering?
- What are the advanced and mature software engineering ideas?
Post-completion:
Get some inspiration from comments from netizens, for example, "What about game software? What is necessary for economic life ?" It is a good question. I agree that "Art and engineering should not be opposite, but should be complementary ". Although game software has formed a large industry, it is not essential for life. It is similar to painting, music, film, and other artistic creations. It is for people's senses to enjoy and satisfy their spiritual needs. However, in order to improve the performance and meet the needs of millions of online users, game software has high engineering requirements, including 3D modeling, system architecture, and server deployment design. Therefore, the construction of a game software system cannot be ignored in engineering technology. Its development process is a complex system engineering process, although it requires more artistic creations than ordinary software.
Nowadays, more and more painting, music, and movies are implemented by computers to form digital art. At this time, software or computer systems are just tools, which are no different from paint brushes and drawing boards, it is not art or engineering. Software, as a tool, is hard to reflect its artistic nature, and more auxiliary. This article mainly discusses the software system itself, that is, the development process of software systems or products. At this level, the software development process is a systematic and technical engineering process, including the management process and human environment.
Traditional architecture is a good example of combining art and engineering. However, all the classic works are the perfect combination of art and engineering, such as Dujiangyan, Zhao Zhou Bridge, London Tower Bridge, the Kremlin, and the Louvre. Without a good process technique to ensure quality, those buildings would have been wiped out. The creation of these architectural arts relies on solid construction projects to make their artistic representations and make them retained for a long time. No matter how architects create, without technical support such as structural engineers, architectural art creation can only be on paper.
The artistic nature of the software itself is also difficult to compare with that of the building. Traditional buildings are relatively mature, at least divided into architecture, structural engineering (Civil Engineering), water supply and drainage engineering, electrical engineering, engineering budget, etc., fully reflect the project, and the artistic creation (Architecture) independent. The software discipline is still vague, and there is only one major "Software Engineering" (officially ). Unofficial majors include animation, multimedia applications, software applications, project management, software development, software testing, etc. There are no software design majors similar to "architecture, although some schools also offer the "uidesign" course, it is only a course.
The article emphasizes that "software development is not an art". Although it is somewhat challenging, we hope you can face up to the quality of software, I advise you not to use "software development is an art" or "software development is a high technology" as an excuse for "low software quality. Learning more from traditional architecture is not only a good creation, but also a meticulous quality system to ensure quality. Together, we strive to push software to a new level and mature era.