Explore Catalyst’s software development services<\/a><\/div>\n\n\u00a0<\/p>\n\n
Delivering sustainability and innovation\u00a0<\/h2>\n\n
Programming tool set selection is a crucial decision IT leaders make when embarking on a fresh development project. Language choice underpins many future decisions, be it related to hiring or appointing resources, team coding practices, security practices, application testing, hosting architecture and deployment mechanisms.<\/p>\n\n
Get your team\u2019s view not their vote<\/h3>\n\n
There is no doubt that you need the right tools for the job in hand. \u00a0You \u00a0need to keep up with latest innovations and determine if they would help your business. However, it\u2019s important that you remain cognisant of the the fact that developers love to explore new technologies. They enjoy experimenting with new languages and new approaches to solving old problems. Their views may be based on the excitement of what the new shiny kid on the block does, rather than considering the sustainable operational benefits of less exciting, established languages that offers long-term support and viability: the bigger picture. \u00a0<\/p>\n\n
Common language support\u00a0<\/h3>\n\n
Keep your business goals forefront of mind when choosing your application development project\u2019s language. Gather feedback from a number of technology stakeholders, who will almost definitely have varying opinions.<\/p>\n\n
Access to experienced developers<\/h4>\n\n
Using an innovative new programming language can be amazing, but for those of us who have responsibility for delivering sustainable business results, we \u00a0know that the availability of experienced developers is a prerequisite for success. \u00a0They need to have a track record in delivery using that language, along with the maturity and support available for the language standard.\u00a0<\/p>\n\n
It pays dividends to understand the level of community support a programming language has, such that the talent pool of available developers isn\u2019t limited to a handful in your local area. You want to be sure the pipeline of bug fixes, tools and uplifts to core capabilities are well planned and supported into the distant future.\u00a0<\/p>\n\n
Open source community<\/h3>\n\n
Adopting well known open source programming languages, such as Java and Python, offer the widest possible talent pool, so no matter your organisation\u2019s location you will find experienced and junior programmers seeking new opportunities. If you decide to adopt less well-known languages, even if they are tailored for your specific needs, the talent pool becomes considerably smaller and introduces ongoing business risks such as maintenance costs, future language support and integration challenges.<\/p>\n\n
Information security<\/h3>\n\n
It is critical that you evaluate the track record and practices of any technology as it pertains to security. This means establishing how security issues are submitted and reported. All technologies have a history of some security issues; understanding the cadence and resolution history of Common Vulnerabilities and Exposures (CVE) is a fundamental element of any technology assessment.<\/p>\n\n
This is especially true for proprietary languages that are attached to a single vendor that has a shared responsibility for generating revenue as well as being transparent with any security issues in a timely and professional manner.<\/p>\n\n
Catalyst believes that open source development languages, and their associated communities, have very mature security processes and practices due to their widespread use.\u00a0 This is a real plus.<\/p>\n\n
Early adoption<\/h3>\n\n
While it\u2019s prudent to use widely adopted programming languages, there are obvious exceptions. In some cases, languages originating for a specific purpose, in a burgeoning market, can be the right choice, especially if you get in early in the development cycle and build your internal capability based on influencing the language\u2019s development standards and roadmap.<\/p>\n\n
There can be huge competitive advantages to being an early adopter of a particular technology. However it\u2019s also possible that, with the passing of time, you are working with technical instruments that are blunt and out of fashion. And with a growing \u201ctechnical debt\u201d footprint (i.e. you will need to re-implement a lot of your application in a better technology at some point).<\/p>\n\n