We translate problems from real life into mathematical expressions, following
mathematical
theorems that cannot be altered for no reason, if one is then everything those.
Those mathematical expressions are then translated into a source code that can be compiled as a software
useable by humans or computers. But the rules are slightly different between mathematical problem solving
and software based problem solving, the difference is gravity and other physical laws can be modified or even altered in terms of software development, making your own tools is something you always do,
even though there are a lot of tools out there, sometimes as a hacker you have no choice than to write your's.
The need always arise to develop a tool, after day of going through the net searching and nothing turns up,
this days it is bit difficult to not find tools suitable for your problem,
also there might be a tool out there that is close but small modifications need to be done in order to make them compatible
with your platform or language.