<P> The majority of software is written in high - level programming languages that are easier and more efficient for programmers to use because they are closer than machine languages to natural languages . High - level languages are translated into machine language using a compiler or an interpreter or a combination of the two . Software may also be written in a low - level assembly language, which has strong correspondence to the computer's machine language instructions and is translated into machine language using an assembler . </P> <P> An outline (algorithm) for what would have been the first piece of software was written by Ada Lovelace in the 19th century, for the planned Analytical Engine . However, neither the Analytical Engine nor any software for it were ever created . </P> <P> The first theory about software--prior to creation of computers as we know them today--was proposed by Alan Turing in his 1935 essay On Computable Numbers, with an Application to the Entscheidungsproblem (decision problem). </P> <P> This eventually led to the creation of the academic fields of computer science and software engineering . Both fields study software and its creation . Computer science is the theoretical study of computer and software (Turing's essay is an example of computer science), where as software engineering is the application of engineering and development of software . </P>

What are the various types of software define them