I really like the concept of assertions in Java in the way how to use them. It's much easier than to write an if and then throw an Exception/Error.
But the thing I don't understand is, why do they need to get enabled with -ea to work? That makes them unreliable and that's the reason I don't use them. What is the purpose of this decision and what is the purpose of assertions if they can be on or off and the program has to handle it?