LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
AristosQueue (NI)

Both disable structures should have less effect on diagram synchronization

Status: Declined

Declined for reasons listed by AristosQueue in the comments thread. The specific comment is pasted here for convenience:

 

"So... I originally proposed this idea in 2009. In the time since then, I've been lobbied and debated by both sides. I think I have to concede the idea. It appears that structure nodes on the block diagram mentally serve as synchronization boundaries for a majority of users -- even if the job of the structure node is to comment out code. I have not done a scientific survey of this, but I definitely find more people who think it should sync than who don't. And that appears to be the same opinion heard by my peers on LV R&D.

 

The LabVIEW NXG development did discuss this question and decided to maintain the existing behavior.

 

I think it is time to close this idea as "Rejected." It's been discussed many times. I don't see it changing ever at this point."

Both the diagram disable structure and the conditional disable structure are intended to allow easy enabling or disabling of blocks of code. These nodes ought to have no effect on a diagram except to remove or add sections of diagram. But they currently have the side effect of formalizing the blocks of code they surround, as if they were a sequence structure. There are two cases where this is undesirable.

 

1. Without the disable structure, these two loops would run in parallel. 

 conddis_unwantedsync.png

2. This VI arguably ought to terminate because that wire dependency from the loop to the Stop primitive is only created because whatever is in the disabled frame needs the result of the loop, but the code in the enabled frame does not. But because the disable structure acts as part of the code, this loop runs forever.

 conddis_shouldterminate.png

26 Comments
AristosQueue (NI)
NI Employee (retired)

Oops. I thought I was replying in the other diagram disable discussion that has been going all last week. I didn't notice the subject line change.

nanocyte
Active Participant

Yes please. I just introduced a bug like this. Guess why my stop button doesn't work. Smiley Very Happy

 

disable diagram bug.png

AristosQueue (NI)
NI Employee (retired)

So... I originally proposed this idea in 2009. In the time since then, I've been lobbied and debated by both sides. I think I have to concede the idea. It appears that structure nodes on the block diagram mentally serve as synchronization boundaries for a majority of users -- even if the job of the structure node is to comment out code. I have not done a scientific survey of this, but I definitely find more people who think it should sync than who don't. And that appears to be the same opinion heard by my peers on LV R&D.

 

The LabVIEW NXG development did discuss this question and decided to maintain the existing behavior.

 

I think it is time to close this idea as "Rejected." It's been discussed many times. I don't see it changing ever at this point.

Darren
Proven Zealot
Status changed to: Declined

Declined for reasons listed by AristosQueue in the comments thread. The specific comment is pasted here for convenience:

 

"So... I originally proposed this idea in 2009. In the time since then, I've been lobbied and debated by both sides. I think I have to concede the idea. It appears that structure nodes on the block diagram mentally serve as synchronization boundaries for a majority of users -- even if the job of the structure node is to comment out code. I have not done a scientific survey of this, but I definitely find more people who think it should sync than who don't. And that appears to be the same opinion heard by my peers on LV R&D.

 

The LabVIEW NXG development did discuss this question and decided to maintain the existing behavior.

 

I think it is time to close this idea as "Rejected." It's been discussed many times. I don't see it changing ever at this point."

nanocyte
Active Participant

No! don't kill it. There's so much potential here. There are so many times I want to disable code but can't because it's not representable using a structure. For example, the U-disable:

U disable.png

I hate it when we start cutting off options because people get so comfortable with a certain behavior.

AristosQueue (NI)
NI Employee (retired)

Sorry, nanocyte. There's only so much push I can do before I have to concede "this is how it is" and go spend energy on more fruitful ventures.