LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
MikaelH

DVR and IPE Structure Feature

Status: Declined
Obtaining this functionality would be better achieved if two Data Value References (DVR). One would be for the original unmodified data value and the other would be the one operated on. Once all operations are done then you could use the Swap primitive inside of the In-Place Element structure to update the unmodified DVR with the operated DVR.

Hi
I don't think this is a new request but I could find it in the exchange.
I like to make the DVR-IPE structure more user friendly.
The image should explain everything.

Cheers,
Mike


 

 

12 Comments
joshua.l.guthrie2.civ
Member


You're absolutely right.  Agree 1000%.  Hard to screw up by-value.

 

But it's amazing the crazy stuff we have to do in LabVIEW when we'd just do it by reference in another language.

In my mind, when you're going as far as OOP in LV, the concept of dealing with references shouldn't be that big of a stretch.  At least for me, most of the reasons that drive me to OOP are also valid reasons to do by-reference.  Shoot, the project I'm working on right now has objects that are nearly a GB in size.  Not the kinda thing you want to be making multiple copies of..

I get NI (and even respect) that NI tries to make the language accessible to, let's say, "novice" programmers.  But it limits the language.  And as much as I hate it, they are probably at the market's sweet spot. ... but I find myself often looking at a full block diagram of in-place structures and can't help thinking that I can probably do all that in one line of code in XZY language.  .. and I kinda consider myself a LabVIEW fanboy.

Thanks for putting up with my rant.

 

 

wiebe@CARYA
Knight of NI

>Thanks for putting up with my rant.

 

No worries...

 

I agree that there's not nearly enough intermediate to advanced features. The fact that this seems to be by design is rant-worthy (but that is futile 😓).

 

I usually put my effort in avoiding copies, mostly because by reference make debugging really hard (no probe data, not persistent when the main stops). DVRs solve a few tings, but the cost is too high for me.

 

By reference is easy in a lot of languages, but thread safety, data locking, etc. usually isn't. It's a difficult topic in most languages I know.

 

If there was an easy, native way (without tons of boilerplate code) to make a class by reference while maintaining debugging and data persistence, I'd surely use it here and there.

 

Reading why this idea was recently declined, I don't see anything being added to the language anytime soon. (I typed a rant 5 times, but so far decided not to post... I think it's best to process all stages of grief before I do).