   MustHavesOrNot
  Is it really necessary to learn about gates(XOR, NAND) etc. u know what I mean I've used them once when programming in java but I just wanted to know if it's a must?   
  Depends what you want to do really. Certainly not a must in general programming any more.It's like most other things in this area - keep on working and deal with it if it comes up.   ;  It is not necessary to learn the gates since computer science and programming are loosely related to electronics (despite the fact that you can't program without using an electronic device). But it is still good to know what are the underlying logical operations (OR, AND, XOR, NAND, NOR) as they are very useful.Regards,   ;  "There are only two ways to live your life. One is as though nothing is a miracle. The other is as though everything is a miracle." --A. Einstein  which one do you wish to be.   ;  At the university I'm attending for a Computer Science bachelor's degree it is part of the basic computer archetecture course which is required for the degree.  If you're going to be stuck in Java the rest of your life and never use C++ then it's totally up to you.  Arrays of boolean will work for most bit manipulations but internally they heavily use the logic operators.  Also if you ever learn to program in Assembly language you're going to have to know logic.   