Computer Softwares
Hi everyone over here reading my blog…. Now I would like to add another category of product to the list that would be Computer Softwares.
Software
Software, or program, enables a computer to perform specific tasks, as opposed to the physical components of the system (hardware). This includes application software such as a word processor, which enables a user to perform a task, and system software such as an operating system, which enables other software to run properly, by interfacing with hardware and with other software or custom software made to user specifications.
Computer Softwares
Computer software is so called in contrast to computer hardware, which encompasses the physical interconnections and devices required to store and execute (or run) the software. In computers, software is loaded into RAM and executed in the central processing unit. At the lowest level, software consists of a machine language specific to an individual processor. A machine language consists of groups of binary values signifying processor instructions (object code), which change the state of the computer from its preceding state. Software is an ordered sequence of instructions for changing the state of the computer hardware in a particular sequence. It is usually written in high-level programming languages that are easier and more efficient for humans to use (closer to natural language) than machine language. High-level languages are compiled or interpreted into machine language object code. Software may also be written in an assembly language, essentially, a mnemonic representation of a machine language using a natural language alphabet. Assembly language must be assembled into object code via an assembler.
The term "software" was first used in this sense by John W. Tukey in 1957. In computer science and software engineering, computer software is all computer programs. The concept of reading different sequences of instructions into the memory of a device to control computations was invented by Charles Babbage as part of his difference engine. The theory that is the basis for most modern software was first proposed by Alan Turing in his 1935 essay Computable numbers with an application to the Entscheidungsproblem.
Types
Practical computer systems divide software into three major classes: system software, programming software and application software, although the distinction is arbitrary, and often blurred.
• System software helps run the computer hardware and computer system. It includes operating systems, device drivers, diagnostic tools, servers, windowing systems, utilities and more. The purpose of systems software is to insulate the applications programmer as much as possible from the details of the particular computer complex being used, especially memory and other hardware features, and such accessory devices as communications, printers, readers, displays, keyboards, etc.
• Programming software usually provides tools to assist a programmer in writing computer programs and software using different programming languages in a more convenient way. The tools include text editors, compilers, interpreters, linkers, debuggers, and so on. An Integrated development environment (IDE) merges those tools into a software bundle, and a programmer may not need to type multiple commands for compiling, interpreter, debugging, tracing, and etc., because the IDE usually has an advanced graphical user interface, or GUI.
• Application software allows end users to accomplish one or more specific (non-computer related) tasks. Typical applications include industrial automation, business software, educational software, medical software, databases, and computer games. Businesses are probably the biggest users of application software, but almost every field of human activity now uses some form of application software. It is used to automate all sorts of functions.
Software License
A software license is a license that grants permission to do things with computer software. The usual goal is to authorise activities which are prohibited by default by copyright law, patent law, trademark law and any other intellectual property right. The reason for the license, essentially, is that virtually all intellectual property laws were enacted to encourage disclosure of the intellectual property. As software is so easily replicated, disclosure is not an option that most software vendors would prefer to avail themselves to. The result is that the vendors need an alternate method of allowing the licensed user to use the product but still be restricted so as to prevent certain decompiling rights the user might otherwise have as a result of the default intellectual property rights.
Typically, then, the software license is a complex document, identifying the specific usage rights that are granted to the licensee, while also stating the license limitations. For example, a software license might give permission to allow a certain number of concurrent users of the software. This means that at any given point in time, a limit exists on the number of people who can use the software. As a specific user stops using the program, then another, different, user can start to use the program. Compare and contrast this with a named user model, whereby the software is licensed to specific individuals. Regardless of whether the named individual is actually using the product or not, another individual is not licensed to use that same copy of the software.
A software vendor may offer a software license unilaterally (without giving the licensee the opportunity to negotiate for more favorable terms), or even as part of a software license agreement with another party. Virtually all proprietary software is sold under some form or fashion of software license agreement, including free software and open source software which are usually distributed under the terms of their EULA.
Failure to abide by the terms of the license can subject the violator to the default penalties for violations of intellectual property laws in and if so allowed by the geographic region of the licensor, as well as any contractually agreed-upon damages listed in the software license.