Machine language is “the ‘lowest’-level computer programming language . . . which is a binary language written in ‘bits’ (BInary digiTS).” Machine language programs can be executed directly by the computer, but are relatively difficult to write and understand.
Programs are typically distributed in machine language form. Machine language programs do not have to be assembled or compiled by the user; they are ready to be loaded into the computer and executed. In addition, distribution in machine language form has the side effect that it is difficult for others to look at the program code and understand how the program works. This can help to keep secret those elements which give the program a competitive advantage.
“instructions are patterns of 1’s and 0’s which represent digital electronic signals inside the computer. These signals can take on one of two different values; to make it easier to think about what is happening inside the computer, programmers represent one of the values with the symbol ‘1,’ and the other with the symbol ‘0.’ For example, one type of ‘addition’ instruction for the processor which is used in most microcomputers may be represented as ‘00000100.’ Inside the computer, the pattern of electronic signals corresponding to this pattern of 0’s and 1’s would cause the computer to add two numbers together."
- Lotus Dev. Corp. v. Paperback Software Int’l, 740 F. Supp. 37, 43 (D. Mass. 1990) (full-text).
- Finding a Balance: Computer Software, Intellectual Property, and the Challenge of Technological Change, at 7.
- 'Id. at 18 n.57.