User:Konstantinos Sazos/Software

Lead
Used a citation to explain the interpreters, compilers, debuggers, linkers, and text editors.

Used a citation to explain what Application Software is.

Used a citation to explain what is an IDE

Added some examples in a paragraph for high-level and assembly languages.

Article body
Software is written in one or more programming languages; there are many programming languages in existence, and each has at least one implementation, each of which consists of its own set of programming tools. These tools may be relatively self-contained programs such as compilers, debuggers, interpreters, linkers, and text editors, that can be combined to accomplish a task; or they may form an integrated development environment (IDE), which combines much or all of the functionality of such self-contained tools.

Application software: Application software is what most people think of when they think of software.[citation needed] Typical examples include office suites and video games. Application software is often purchased separately from computer hardware. Sometimes applications are bundled with the computer, but that does not change the fact that they run as independent applications. Applications are usually independent programs from the operating system, though they are often tailored for specific platforms. Most users think of compilers, databases, and other "system software" as applications.

An IDE can make it easier to do specific tasks, such as searching in files in a particular project.

The majority of software is written in high-level programming languages, for example Python, JavaScript, Visual Basic, Delphi, Perl, PHP, ECMAScript, Ruby, C#, and Java. They are easier and more efficient for programmers because they are closer to natural languages than machine languages. High-level languages are translated into machine language using a compiler, an interpreter, or a combination of the two. Software may also be written in a low-level assembly language, '''for example C, C++, Assembly, and Fortran. Assemply languages have''' a strong correspondence to the computer's machine language instructions and is translated into machine language using an assembler.