Views
6 years ago

Automation Technologies 5/2014

  • Text
  • Automation
  • Technologies
Automation Technologies 5/2014

sensors and Measurement

sensors and Measurement The tools that exist around a language are also an important consideration when choosing a de-velopment language. For instance, an editor that helps you avoid writing buggy code by provid-ing hints at edittime and shows you more information about the functions you are using, mini-mizes the time wasted in debugging. Integration with source code control and testing frameworks facilitate multi-developer and more rigorous single-developer workflows. “What You See Is What You Get” GUI tools can save a lot of time creating user interfaces. Additionally, having a toolchain that saves you time performing ongoing maintenance is another concern. Some tools are better than others supporting the latest technologies such as the mobile web and new operating systems. Choosing the wrong language and tools can leave you, the developer, on the hook for updating the needed features and porting to the appropriate OS as your organization’s needs change. Instead of rising with the technological tide, you are anchored to deveprevious page meet all of your needs. Add to this the reality that many scientists and engineers are by their very nature investigating or creating things that nobody else is doing further reduces the likelihood of there being a high-quality commercial software option that you can run out and purchase to get the job done. General purpose programming language – powerful but time-consuming When the software you need doesn’t exist, many people take the approach at the opposite end of the spectrum and write their own software. This is a surefire way to get the exact functionality you need without relying on an external entity to provide it. The right custom software can also give you a competitive advantage, resulting in cost advantages and ultimately more profit at the end of the day. Once you know exactly what features your software needs the next step is to select a programming language and either acquire or develop the skill set needed to use that pro-gramming language. Many different programming languages exist that can help you with this endeavor, ranging from timetested languages such as C and FortranN, to newer popular languages such as C#, Java and Python. Conceivably, any of these languages could be used to write any program since they all support the necessary elementary operations needed to build more advanced functions. Programming syntax and run-time features such as automatic memory management are normally the defining characteristics of a programming language, yet surprisingly most people choose a language based on another set of criteria — namely “how much code will I have to write?”, “how strong are the tools that support that About Company name: National Instruments Corporation Headquarters: Austin, Texas Turnover: USD 1.17 B (2013) Employees: approx. 7,100 worldwide Products: Integrated hard- and software platform for test, measurements, control and embedded language?” and “how well do I know the language and it’s tools?”. How much code will I have to write? Asking “how much code will I have to write?” is a great question to ask when evaluating a lan-guage. No matter how concise a language is and how productive the tools are, nothing beats be-ing able to use code that has already been written, tested, and accepted as working. Many a C programmer has lost time to a memory leak that would not have happened had they been using a language such as Java or C# that includes a memory manager as part of the runtime. Similarly, there are C# and Java users out there spending weeks translating an instrument’s programming manual into a reusable driver — a task that might have been unnecessary had they chosen another language. When selecting a language, the primary objective should be to choose one that minimizes the amount of time you spend writing code that doesn’t add value to your organization. Picking a language with lots of relevant code already written might be the better choice. The meaning of the software tools AUTOMATION TECHNOLOGIES 5/2014

sensors and Measurement next page 02 LabView code is fully customizable and therefore allows an uncomplicated reuse of code blocks lopment decisions made in the past and continue to give up precious developer time to maintain software that has become a critical part of your infrastructure. Preserving the status quo is not the best option Familiarity with a language is the number one reason cited by engineers when asked why they chose the software that they did for their most recent application. While understandable that people go with what they know, it’s a little concerning that suitability for the job at hand isn’t the primary concern. The reason for this is multi-faceted. For many there is an element of fear of the unknown. After working with a language for a while you get a good idea of its strengths and weaknesses and you get good at working around its shortcomings. Switching to another language opens you up falling foul of its limitations. For others there is a natural aversion to having to go from being a relative expert to the vulnerable state of becoming a “beginner” all over again. Per-haps the most likely culprit of preserving the status-quo is organizational momentum and politics. Having to convince management that a better solution exists for a unique problem is often more work than suffering through using the wrong tool for the job. The best of both worlds – leverage and extend Combining the benefits of prewritten software with the flexibility of custom software in an or-ganization that is agile enough to accommodate both is the most productive approach for most scientists and engineers. There are tools out there than facilitate this approach. High-level, domain-specific languages that are used in LabView and The MathWorks Matlab software combine a specialized programming syntax AUTOMATION TECHNOLOGIES 5/2014

E-PAPER KIOSK: