Processing with Programs
"Software is invisible and complex"
The book explains software in a kitchen scenario in order to make it easier understandable for normal down-to-earth people. In this scenario the software is represented by the recipe that is being send to the kitchen and processed by the cook and all his tools (CPU and other Hardware).
Common computers are very limited as the tasks they can perform are arithmetic operations (7+3 and 15-8). Software is the helper that lets the unit use these skills in the right way and perform more complex tasks that are written in algorithms and relationships.
The instructions given to the computer can come in different languages but every computer knows the native machine language also knows as the binary code (0s and 1s). Early programmers were forced to write their programs in the native language which required them to start from scratch every time they wanted to use a command.
Then high level languages emerged (C++, C#, Java) which made programming much easier as it allowed the user to use more familiar terminology in order to execute a specific command. The high level languages are translated into the native machine language by a tool called the compiler.
Software Applications:
Tools for Users
"Software applications enable users to control computers without having to think like programmers do."
"Software is invisible and complex"
The book explains software in a kitchen scenario in order to make it easier understandable for normal down-to-earth people. In this scenario the software is represented by the recipe that is being send to the kitchen and processed by the cook and all his tools (CPU and other Hardware).
Common computers are very limited as the tasks they can perform are arithmetic operations (7+3 and 15-8). Software is the helper that lets the unit use these skills in the right way and perform more complex tasks that are written in algorithms and relationships.
The instructions given to the computer can come in different languages but every computer knows the native machine language also knows as the binary code (0s and 1s). Early programmers were forced to write their programs in the native language which required them to start from scratch every time they wanted to use a command.
Then high level languages emerged (C++, C#, Java) which made programming much easier as it allowed the user to use more familiar terminology in order to execute a specific command. The high level languages are translated into the native machine language by a tool called the compiler.
Software Applications:
Tools for Users
"Software applications enable users to control computers without having to think like programmers do."
- Publishing programs
- Accounting software
- Personal information manager
- Graphics programs
- Multimedia tools
- Education titles
- Games
A computer software package generally includes printed documentation with instructions for installing the software on the computers HDD. Many companies have replaced these printed documents with help files or an online help function that allows the used to view the documentation on the computer.
Software that is successful or just requires improvements receives frequent updates and upgrades from the software designer. Some of these can be free but others might require a payment as they include major improvements of the application. Service packs are large bundles of upgrades and used on big application like the OS.
When buying software the buyer has to be aware of possible compatibility issues. Some software only works on specifically defined platforms or even computers. In some cases it also requires special hardware to be fully functional.
Licensing refers to the ownership of software and has developed due to the spreading of piracy on the software market. Every time a customer buys the software he receives a unique license (mostly in form of a code) that lets him enable the application. Another way of protecting software is protecting the CDs from being copied and distributed by unauthorized retailers.