When it comes to switching to a new programming language, timing is of the essence in order to land qualified programmers for the project. The language must be new enough to bring technical progress, and at the same time tested and disseminated in such a way that there are enough qualified programmers who will enjoy working with it.
Not so long ago, we decided to migrate the programming language in the web development team. This shift didn't only maintain the platform's high technical level but also made it faster, easier, and overall more convenient for programmers to work with. The change represented an initial financial investment to keep the technical debt low and eliminate technical problems in the long run.
Before the change, we had set ourselves a goal: attract talented programmers with new and improved languages. We first needed to consider the costs of such a change, but looking ahead, faster programming creates a long-term competitive advantage in developing new features –making the shift to new programming languages worthwhile. It was also assumed that the reverse function would eventually reduce the speed of development because modern programming languages would offer new formulation possibilities and language constructs, leading to better functions and clean code.
The development of new functions is often a metric for executives – but in this case, updating the development languages won't bring in competitive features right away. In the long run, however, programming can be done better, faster, and with fewer errors (usually achieved by the software on the first attempt through quality assurance). This means that change requests can be implemented and delivered more quickly, resulting in higher customer satisfaction.
During the first three months of the changeover phase, our web team focused on familiarizing itself with the new language. It quickly became apparent that TypeScript masters the patterns of functional and object-oriented programming and that its strong typing reduces the number of errors. The context-sensitive completion suggestions also accelerate the programming process.
The original article published in German can be found here.