Behind the Scene: The Right Tool for the Job – Multiple Language Development (#9)
In our previous blog post we have seen how each language in a multiple language development environment has its own culture and how this culture can transcend into other languages. This borrowing of philosophy is a great way to enhance both your spoken language capabilities as well as your programming language skills.
Using the right programming language for the right task can be a powerful asset. Each programming language is designed for a specific purpose and has its own set of advantages. We at Syneto invest a great deal of thinking into choosing the right language for the task at hand.
A most important, but also most elusive, aspect of any tool is its influence on the habits of those who train themselves in its use. If the tool is a programming language this influence is, whether we like it or not, an influence on our thinking habits.
― Edsger Dijkstra
When we need to manipulate chains of UNIX commands, we use shell scripts. When we need complex client to system interaction we use PHP, Ruby or Python. When we need long running scripted daemons we dive into Perl. When wee need to manipulate the hardware at an intimate level we use C or C++.
Our software developers are truly polyglot people. They not only speak several spoken languages, they are also fluent in several programming languages. This puts programming languages into a different perspective. They are not perceived as languages any more, but rather complex tools to perform specific tasks.
We are, and we are looking for, software developers who can become proactive in any programming language in about a month. It’s not a special effort or a required IQ to do so. It is just a different way of thinking about programming, a different perspective on your job as a software developer.