This paper briefly reviews analog and discrete optical computing systems; it then concentrates on binary digital optical computers in which photons are the primary information medium. A critical review of various techniques for optically implementing combinatorial and sequential logic by individual devices and arrays of devices are given. The problems of communications, interconnections and input-output among logic devices (gates) , among arrays of devices (chips) and among processors are discussed. A particular optical system architecture that uses a computer-generated hologram to interconnect a planar array of logic gates in a third dimension is presented. Some of these architectures offer the potential of parallel processing, including non von Neumann digital computers. Some existing limitations and needs of optical logic devices and computing systems are discussed.