DMC recently attended National Instrument's yearly Certified LabVIEW Architect (CLA) Summit, which brings together the top LabVIEW programmers in the world. You could say it’s a who’s who in the world of LabVIEW programming and an excellent environment for a LabVIEW enthusiast. It’s like you're at a conference with 200 of your best friends, but you've never met them before.
The CLA Summit this year took place during September 25-27th in Austin, TX, at the NI headquarters and was a packed 3-day conference full of technical content. The amount of learning and technical discussions offered over the three days makes the trip well worth it. Discussions include the latest architectures, features, and best programming practices, all while networking with fellow CLAs and members of the NI R&D team.
CLA Summit Topics
The topics for each day were:
- Future-Proofing Your Software and Your Business
- UI and UX in LabVIEW
- Saving Time: Optimization and Performance
The most interesting aspect of the conference this year was Stephen Loftus Mercer’s presentation on LabVIEW Object-Oriented Interfaces, which hopefully will be coming out in LabVIEW 2020 this May. The entire LabVIEW community has been holding their breath for this much-needed feature, and it will bring LabVIEW much closer into alignment with other major OO programming languages.
LabVIEW Interfaces will define the identity (inheritance) and behavior (methods) of objects. Interfaces will provide default functionality for methods while allowing classes to override the default methods with their own implementations if desired.
This gets around the need to have one parent level class to share some common functionality between unrelated classes, effectively enabling a form of multiple inheritances that have never before been available in LabVIEW. Interfaces will also improve our ability to decouple modules and enable dependency inversion (this is “D” in SOLID; more details below).
SOLID & OO Programming
Have you ever heard of SOLID before? That was another hot topic at this year’s conference. SOLID is an OO programming mnemonic acronym for remembering the five most important design principles. SOLID programming makes software more understandable, flexible, and maintainable – something everyone who’s writing software should take seriously.
This was a common thread in many presentations, and it was awesome to learn how many other developers in the LabVIEW community are achieving long-term success with their projects by adhering to these important design principles.
Some practical results of leveraging SOLID programming principles include writing SubVI’s that only do one thing and do it well instead of having a sprawling VI with disparate functionality or using hardware and measurement abstraction layers to allow for an extension to your application.
Another lesson I learned this year and immediately started applying to our projects is that public-scoped controls in classes or libraries can lead to huge dependency coupling messes. It’s so easy to create two classes and tightly couple them together by having them use a typedef that’s owned by the other class. This type of dependency coupling creates problems in packaging code, compiling, project load times, as well as in code portability and reuse.
Other Interesting Presentations
While I can't cover everything that happened, here are some can't miss details from the summit:
- More Details from NI regarding their approach to libraries in LabVIEW NXG – G Components and GLL’s should simplify library management and eliminate circular dependencies.
- JKI is working on revolutionizing the LabVIEW UI development experience with their release of the “JKI Design Pallete”
- “The Little Things in LabVIEW 2020” – new improvements to the LabVIEW IDE in LabVIEW 2020. These little things are truly game-changers.
- G Central is removing Barriers to a Collaborative LabVIEW Community.
There were lots of other great topics – again, too many to cover here, but we learned a lot. Wish you were there too? Don’t worry! You didn’t miss out since the new LabVIEW Wiki publicly provides content for all the sessions! Check out this events page from the CLA Summit to find out all the topics we discussed.
Learn more about DMC's partnership with NI and our LabVIEW programming services.