All languages are divided into six sections: - variables, I/O maths, conditional expressions, arrays, functions, subroutines and file handlers. Learning a software language is similar to learning a foreign language in that you must learn a set of grammatical rules. However despite learning a set of grammatical rules there is no short cut but to practise.