1. Orthogonality => Orthogonality mean change in something does not effect other; int x = 1; int y = 2; int a = x*y; value of x and y are not changed by this action of multiply; 2. Regularity Integers can be assigned to real variables, but not vice versa int x = 5; // Correct 5 = x; // Incorrect 3. Uniformity When language looks the same and acts the different; int x; int x; the both X looks same but acts different depend on their scope; Solution 1. Orthogonality => Orthogonality mean change in something does not effect other; int x = 1; int y = 2; int a = x*y; value of x and y are not changed by this action of multiply; 2. Regularity Integers can be assigned to real variables, but not vice versa int x = 5; // Correct 5 = x; // Incorrect 3. Uniformity When language looks the same and acts the different; int x; int x; the both X looks same but acts different depend on their scope;.