Software engineering is defined as a process of analyzing user requirements and then designing, building, and testing software application which will satisfy those requirements.
"In some ways, programming is like painting. You start with a blank canvas and certain basic raw materials. You use a combination of science, art, and craft to determine what to do with them." - Andrew Hunt
Process
Maintainability
The software should evolve to meet the changing demands of the clients.
Dependability
Dependability includes various characteristics. Dependable software should never cause any physical or economic damage at the time of system failure.
Efficiency
The software application should overuse system resources like memory and processor cycle.
Usability
The software application should have specific UI and documentation.
programming languages
c/c++
C++ is a high-level, general-purpose programming language created by Bjarne Stroustrup as an extension of the C programming language, or "C with Classes.
Python is an interpreted, high-level, general-purpose programming language. Created by Guido van Rossum and first released in 1991, Python's design philosophy emphasizes code readability with its notable use of significant whitespace.
Java is a general-purpose programming language that is class-based, object-oriented, and designed to have as few implementation dependencies as possible.
"programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. " - Rick Cook