There are a milliion different ways to skin a cat. Likewise, there are a million different ways to solve a problem with software. On top of that, there are a million different languages your can use to implement your software solution. It all comes down to personal preference. There are some best practice ideas though.