The majority of software developers have a language of choice. Some may chose their preferred language based on the paradigm it applies, others may evaluate if the language is static or dynamic, if it has weak / strong typing, nice and interesting language constructs (like closures, continuations) and other various criteria. My preferred language is Java (up to now, because I’m studying Python, and this language is becoming a good candidate to be my language of choice for a lot of reasons, but these will be part of another post :-)), because it’s a good OO language and it offers good opportunities to apply OOA/D, that is, to construct well-designed, maintainable, robust OO systems.
Therefore a problem can arise: if the developer tries to keep this preference for a specific language / platform in the organization. This can become a passion and every new project the developer is asked to give a opinion the choice will be his/her preferred language, because he/she believes it’s the best language of the world, because he/she got used to the language. If the developer participates in a open-source community and its company decides to chose a proprietary language, the fight with managers is even worse. So, always remember:
- The language of your choice might not be appropriate to solve a specific problem. You have to evaluate other languages / platforms to achieve the best results. It’s your routine as a software developer. Perhaps other language offers a better cost / benefit than your preferred language (You can solve your problem with fewer lines of code with a different language, for example).
- You are in a company to achieve results, not to program in Java, .NET, Python or anything else. Always have this in mind. Don’t let your passion hide your opportunities in a company.
Have you ever seen some situations like these on your development team?