However, the mathematician's efforts remained theoretical only, as the technology of Lovelace and Babbage's day proved insufficient to build his computer.Software requires the concept of a general-purpose processor - what is now described as a Turing machine - as well as computer memory in which reusable sets of routines and mathematical functions comprising programs can be stored, started, and stopped individually, and only appears recently in human history.The first known computer algorithm was written by Ada Lovelace in the 19th century for the Analytical Engine, to translate Luigi Menabrea's work on Bernoulli numbers for machine instruction.The first modern theory of software was proposed by Alan Turing in his 1935 essay Computable numbers with an application to the Entscheidungsproblem (decision problem).[8] [9][10] Kathleen Booth developed Assembly Language in 1950 to make it easier to program the computers she worked on at Birkbeck College.[14] Frances E. Holberton, also working at UNIVAC, developed a code[clarification needed], C-10, which let programmers use keyboard inputs and created the Sort-Merge Generator in 1951.[16] In his manuscript "A Mathematical Theory of Communication", Claude Shannon (1916–2001) provided an outline for how binary logic could be implemented to program a computer.[18][19] COBOL was first conceived of when Mary K. Hawes convened a meeting (which included Grace Hopper) in 1959 to discuss how to create a computer language to be shared between businesses.[29] While using the simulators to test the programming, Hamilton discovered ways that code could produce dangerous errors when human mistakes were made while using it."[23] However, exactly what Hamilton predicted would happen occurred on the Apollo 8 flight, when human error caused the computer to wipe out all of the navigational data.[31] Data General also encountered legal problems related to bundling – although in this case, it was due to a civil suit from a would-be competitor.The US Supreme Court set a precedent called Digidyne v. Data General in 1985 by letting a 9th circuit appeal court decision on the case stand, and Data General was eventually forced into licensing the operating system because it was ruled that restricting the license to only DG hardware was an illegal tying arrangement.Alsup's judgement also noted that the surprising Data General precedent that tying of copyrighted products was always illegal had since been "implicitly overruled" by the verdict in the Illinois Tool Works Inc. v. Independent Ink, Inc.It was an inconvenient and slow process to type in source code from a computer magazine, and a single mistyped – or worse, misprinted – character could render the program inoperable, yet people still did so.FOSS promotes collaboration and transparency, enabling developers and users worldwide to contribute to the software's improvement, tailor it to their needs, and share enhancements without legal or financial barriers.Popular examples of FOSS include operating systems like Linux, web browsers like Mozilla Firefox, and programming languages like Python.The philosophy behind FOSS not only drives technological innovation but also fosters a global community committed to creating accessible and adaptable software for diverse needs.Applications for mobile devices (cellphones and tablets) have been termed "apps" in recent years.The Android platform, by contrast, has multiple app stores available for it, and users can generally select which to use (although Google Play requires a compatible or rooted device).
Grace Hopper and UNIVAC
Margaret Hamilton next to a stack of code she and her team wrote for the Apollo Mission computers.