Who Should Determine What Programming Language is Used?

One of the trending conversations in the AV industry involves the move from proprietary, manufacturer-specific programming platforms toward the adoption of modern, robust programming languages. Whether the move is spear-headed by manufacturers opening their hardware to support one or more software development languages or a result of clients seeking alternatives, the flexibility to select a preferred programming language opens the door to a wider variety of solutions and provides software developers more flexibility to leverage their skills and capabilities.

While software developers may have languages in which they are most proficient, many would argue that the selection of a programming language should be a function of the project requirements.  Many programming languages are geared toward certain platforms for example: Javascript, HTML, and CSS are for web applications; Objective-C and Swift are for Apple for desktop and mobile applications; and C# is for Windows applications.  Alternately, Java and Python are considered general purpose languages that may or may not be the best choice for certain needs.  As with any solution that can have a variety of approaches, each option has its own pros and cons including speed, flexibility, usability, the impact of limitations, and availability of resources.

Having access to these modern languages provides greater options, reduces development efforts, improves turnaround times, and enhances solutions that exist beyond the traditional AV ecosystem.  The opportunity to tap into a vast community of software developers provides more opportunities for pre-developed code libraries, support and knowledge resources, training, and talent for hire.

Although modern programming languages offer valuable opportunities and clear benefits to the AV industry, the average AV programmer will be left on the outside with limited effectiveness.  At first glance, many may consider this a survival of the fittest scenario forcing AV programmers to step up their game and evolve their knowledge and skills.  However, genuine concerns exist from those who have invested in programmers who are now devalued and face the potential of not being able to support their projects or clients.

As AV control manufacturers continue to evolve and support modern programming languages in varying capacities as an alternative to their legacy, proprietary language or configurable solution, the dilemma exists in determining which approach to choose.  Despite the potential benefits and upsides of modern programming languages being clear and obvious, the comfort level with support and maintenance can sway the client away from opting for the more advanced solution in favor of the less capable proprietary solution with which they are more familiar.  In the end, this could take the decision of selecting the optimal solution out of the hands of the software developer.

Does it make sense that the AV industry should be held back by the apprehension to exceed limitations of existing AV programming talent or should those that can leverage newer, more robust solutions be able shine and advance the future of AV control solutions?

In order for AV professionals to maintain their relevance and offset the rise in adoption of out-of-the-box solutions, it is important to look at ways to provide tailored systems that offer added value to clients by specifically addressing needs and solving problems.  The use of modern programming languages is that differentiating factor allowing the creation of unique offerings such as purpose-built, field configurable solutions that offer ease of deployment and the ability to be scaled while tackling challenges faced by legacy programming languages like secure communication, JSON parsing, and robust data handling, among others.

If you are interested in learning more about the benefits that modern programming languages can provide and the process of architecting a solution for your specific needs, Control Concepts can help.  Reach out for a free 30 minute consultation by emailing projects@controlconcepts.net or calling (201) 797-7900.