Learning to program is like learning to read and write any foreign language Lots of time will be spent looking at symbols that make little sense and hearing people speak about the language in terms that are  while familiar  carrying less meaning than perhaps they should