Which language is next?

A reader recently asked what programming language will next take the control world by storm. The question is important, because a lot of system integrators and application developers are looking for the “right” answer. Unfortunately, there is no single right answer. Different problems require different languages.

03/01/2007


A reader recently asked what programming language will next take the control world by storm. The question is important, because a lot of system integrators and application developers are looking for the “right” answer. Unfortunately, there is no single right answer. Different problems require different languages. Fortunately, asking—and answering—a couple of questions can help pick the “right” language. These questions involve the target users, application type, expected size of the user base, and long term support strategy.

First, ask if the target users are shop floor or general. Shop floor systems are predominately Microsoft based, while general use applications often run on Unix or Linux. Microsoft-targeted systems should use a language well integrated into the Microsoft environment, such as VB.Net and C#. Unix and Linux systems have a broader choice of options and often use open source languages.

Application type also affects language choice. If the application contains a significant user interface, then JavaScript and the AJAX model (Asynchronous JavaScript and XML) for the client is the current best solution. If the application has a database and Web server side, then a scripting language such as Pearl, PHP, Python, or Ruby is a good solution.

If the application is heavily communication and database oriented, then a strongly type-checked object-oriented language such as C++, C#, or Java are good solutions. If the application is real-time or near-real-time, then a language such as C++ is good because of its ability to control execution cycles and enforce strong type checking.

Expected size of the user base and long term support strategy also help determine the best programming language. Small user bases typically have a dozen installations with a couple of dozen users at each installation. In these cases, a VB-like (Visual Basic) language is a very good choice. It minimizes the development effort and allows a reasonable testing environment, but still provides a professional interface. Because the user base is small, the support effort must also be small and VB-like languages are easy to maintain.

Large user bases will have hundreds of installations and potentially hundreds of users per implementation. The cost to fix and upgrade the installations due to an error can be large. A large user base application requires a professional development and test environment and a strongly type checked language such as C# or Java.

Many custom integrator applications are targeted for shop floor users. They typically have a dozen installations, offer a Web-based interface, contain some database and communication elements, and are not normally real-time.

My default choice for these applications is the AJAX model, using JavaScript for the client-side user interface and VB.Net for the server-side applications. The server side could be written in Ruby, Pearl, Python, or PHP, but these languages are focused on serving up XML and Web pages with limited support for the communication requirements that are common to control applications.

Successful applications have been written in almost every conceivable language, including Smalltalk, Lisp, FORTRAN and APL. However, a successful control application should use a language that will survive as long as the control system and have support from a well established company.

Few things get software people more agitated than language discussions. Exchanges can take on a religious fervor, based on obscure language constructs and syntax preferences. Despite the risk, I will boldly predict that the next programming languages to take the control world by storm will be JavaScript and VB.Net for small user base systems and JavaScript and C# for large user base systems.


Author Information

Dennis Brandl, dbrandl@brconsulting.com , is president of BR&L Consulting, located in Cary, NC, a firm which is focused on manufacturing IT.




No comments
The Engineers' Choice Awards highlight some of the best new control, instrumentation and automation products as chosen by...
Each year, a panel of Control Engineering editors and industry expert judges select the System Integrator of the Year Award winners.
Control Engineering Leaders Under 40 identifies and gives recognition to young engineers who...
Learn more about methods used to ensure that the integration between the safety system and the process control...
Adding industrial toughness and reliability to Ethernet eGuide
Technological advances like multiple-in-multiple-out (MIMO) transmitting and receiving
Virtualization advice: 4 ways splitting servers can help manufacturing; Efficient motion controls; Fill the brain drain; Learn from the HART Plant of the Year
Two sides to process safety: Combining human and technical factors in your program; Preparing HMI graphics for migrations; Mechatronics and safety; Engineers' Choice Awards
Detecting security breaches: Forensic invenstigations depend on knowing your networks inside and out; Wireless workers; Opening robotic control; Product exclusive: Robust encoders
The Ask Control Engineering blog covers all aspects of automation, including motors, drives, sensors, motion control, machine control, and embedded systems.
Join this ongoing discussion of machine guarding topics, including solutions assessments, regulatory compliance, gap analysis...
News and comments from Control Engineering process industries editor, Peter Welander.
IMS Research, recently acquired by IHS Inc., is a leading independent supplier of market research and consultancy to the global electronics industry.
This is a blog from the trenches – written by engineers who are implementing and upgrading control systems every day across every industry.
Anthony Baker is a fictitious aggregation of experts from Callisto Integration, providing manufacturing consulting and systems integration.
Integrator Guide

Integrator Guide

Search the online Automation Integrator Guide
 

Create New Listing

Visit the System Integrators page to view past winners of Control Engineering's System Integrator of the Year Award and learn how to enter the competition. You will also find more information on system integrators and Control System Integrators Association.

Case Study Database

Case Study Database

Get more exposure for your case study by uploading it to the Control Engineering case study database, where end-users can identify relevant solutions and explore what the experts are doing to effectively implement a variety of technology and productivity related projects.

These case studies provide examples of how knowledgeable solution providers have used technology, processes and people to create effective and successful implementations in real-world situations. Case studies can be completed by filling out a simple online form where you can outline the project title, abstract, and full story in 1500 words or less; upload photos, videos and a logo.

Click here to visit the Case Study Database and upload your case study.