Nowadays quantum information science is in a state of theoretic completeness; much is invested to research quality physical solution for quantum computer and applications, so the field is led by physicists and information science and technology professionals. This field proved its potential and many (including us) believe it is in the right direction to go. In this paper we'll try to present and analyze the philosophy and nature of quantum information science and discuss hot topics around them. Although there is plenty of space for discussion around this field, we will concentrate on some important issues, such as quantum communication, algorithms and cryptography. Communication promises to be one of the directions where huge breakthroughs will be observed (entanglement as communication), algorithms have already shown exponential advantage (Shor's factoring) over classical counterparts and different paradigm of information processing. Cryptography seems to utilize general achievements in quantum information science and make encryption protocols very secure. Quantum computation can be understood as a generalization of classical computation: The possible states of a quantum computer are superpositions of bit strings, where the tensor factor is called a quantum bit or qubit. To evaluate the computational complexity of an algorithm, either classical or quantum, it is necessary to specify a set of elementary operations, the number of which used during the computation quantities the complexity. If we allow arbitrary permutations classically, or arbitrary unitary transformations quantum mechanically, any state can be reached from any other state in a single step. The general kind of quantum computer should be programmed to perform distinctively quantum operations such as generating two bits in a superposition state. An appropriate measurement on the final superposed state of the computer produces a probabilistic behavior of the output, and because of this quantum parallelization does not reduce the average time required for parallelizable computation completion. The development of quantum computing science and technology as well as quantum computers as thinking machines is very dependent on different achievements of modern research in fundamental and applied physics as well as novel mathematical methods and tools.