04-16-2020 11:15 AM - edited 04-16-2020 11:25 AM
He lost me after the "F" word 😁
I'll have a look at this one.
More then often, they get so complicated it takes me more time to use them properly (or at all) then it takes to make a perfectly fitting solution from scratch. I like to have the simplest solution for each situation, not the general solution that fits all problems.
To me making frameworks seems like chasing rainbows. Things are difficult, make a solution. Solution grows. Grows more, and things are difficult again.
I guess it's mostly a matter of taste. Others love frameworks. No judgement...
I like .NET framework though...
04-16-2020 11:20 AM
@PaulOfElora wrote:
What intrigued me was his use of variant attributes as lookup tables/dictionaries, which he uses to select which measurement classes to use for particular tests/steps/HW.
That work from 2018. In LV19 and up we have maps (and sets).
Maps provide the same functionality and performance as variant attributes.
But strongly typed, and more convenient altogether. There are some real time bugs with maps in LV19 though. I doubt they will be there for long.
04-16-2020 11:33 AM
Rolf - I see. So I bit off about 47.2 decibels more than I can now chew (typical!). I will scale back my ambitions about 47.3dB to get this into the realm of the possible for me! Thanks again, paul
04-16-2020 07:25 PM
Paul; to while away a lunch-timed try watching this: https://www.youtube.com/watch?v=t86v3N4OshQ. Uncle Bob is a little crazy but there are some useful tidbits in there that might help you start on your journey. His texts on the matter (OOP design, SOLID etc.) might be another useful reference.
04-16-2020 08:49 PM
I'll definitely digest this, tyk007, much thanks! paul
04-17-2020 01:58 AM
@PaulOfElora wrote:
Thank you guys Rolf, Carya, Yamaeda and Kyle SO MUCH! I only hope I can repay the kindness & patience y'all have shown me back to the community (OK, once I actually know something). Your words will take about a week to digest and assimilate, maybe. I introduced myself to OOP 2 weeks ago tomorrow, and strangely enough I haven't totally mastered it yet 🤔.
In my Factory scheme - our situation is this: I'm designing an upgrade to a system which they have used for 25 years. Obviously all the existing HW & SW go in the garbage can (well except for the operator GUI, which they like). But for this upgrade/renovation they want a HAL-ish SW structure for future-proofing against obsolescence. They'd gotten burned previously because the HW vendor discontinued the product line just as they'd gotten 2/3 thru a new design using that HW 😫. So here I come. I hear "HAL" and think LVOOP naturally! {only problem was I couldn't spell OOP!}. Anyway, when it's time for the next upgrade (5-10-15 years down the road), someone (probably not me) will need to write new child classes for the new hardware, but if I do it right, they should be able to just "plug them in" to my spiffy parent classes. So it's not a dynamic Factory situation - some ini files will need some new stuff, etc. but hopefully I'm just minimizing the future pain for whoever needs to do the next upgrade. Does this make sense? Thank you all again for your fantastic tutelage! Stay healthy! paul
Jumping in the pool on the deep end with HAL is like doing a MMORPG as your first game project. 😄
This is however useful information, since this means can have Read methods unique to your Analog and Digital inheritance branch (i.e. no method in the root class). So the earlier discussion about code smell and ugly interfaces can be resolved prettier. 🙂
(for some reasone i remembered your name as Elon/Elan)
04-17-2020 06:17 AM
Yamaeda - I begin to see that. BUT - this has been a fantastic opportunity. During the pandemic, my organization allows me to telework, National has made their online training free, so I was able to take the LVOOP course, AND maybe most importantly, I get the chance to rewrite the software using OOP - doesn't get any better than that! Even if my HAL implementation isn't perfect, I think the new software will be vastly better & easier to maintain for the future. Everybody wins! Again, so grateful for your patience and help, paul