If I go for simplicity, I can write code like this: 10000000000000000000000000000000000000000000 But if I go for readability, I will prefer this: 1e43 On the other hand, `1000` is much more readable and simple than `1e3` unless you work with numbers in scientific notation all the time. This is a degenerate example of much more general pattern you can find almost anywhere -- copying something is simple, but can quickly become unreadable/inefficient/bad in a lot of different ways. Generalizing and reusing, on the other hand, is harder at first ("wtf is `e`?! did they mean to write `1343`?" someone might say), but can help a lot in a long run.