From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW Idea Exchange

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

"Auto-insert Feedback Node in cycles" should be off by default

As mentioned here long ago in another discussion, I really dislike the option Auto-insert Feedback Node in cycles.

 

Let me quote my old opinion here:

 

"Which I think should NOT be the default behavior: It "fixes" potentially incorrect code by throwing even more potentially incorrect code at it. I can't remember a single instance where I wanted that behavior."

 

While I wish this option would disappear completely, I think at least it should be off by default.

 

There are plenty of examples (e.g. here or here) where an auto feedback node insertion covered up a serious dataflow issue by making the VI no longer broken. This is a disservice to the new programmer who might not even understand what a feedback node really does.

 

A feedback node needs to be intentionally placed in all cases.

18 Comments
JackDunaway
Trusted Enthusiast

We concur! Kudos! Smiley Wink

altenbach
Knight of NI

Aha! I even kudoed that old idea. I vaguely remembered somethings but today my forum search capabilities are apparently only on the level of Aristos. :o:D

vitoi
Active Participant

I've given this kudos since I'm not a fan of the Feedback Node. Having it default to off is great. If I had my way, it would be removed entirely. The required functionality can be obtained by using a shift register, which has to be learnt for many other applications. Being a RISP (Reduced Instruction Set Person), I see no need in having something that is not needed. But then I'm someone who when programming in C writes A = A + 1 rather than A++ and certainy would never use A?B:C!

Darin.K
Trusted Enthusiast

The Feedback Node can do everything the Shift Register Can and even more, why keep the one with less functionality?

 

If you like running wires through all of your cases, using First Call? primitives, having single iteration loops around just to hold SRs, by all means.

SteenSchmidt
Trusted Enthusiast

The feedback node is great when you're without a structure to tie a shift register to - usually to maintain state from call to call within a (reentrant, preallocated) subVI. Or to implement z^-n filter values in FPGA and that sort.

 

Cheers,

Steen

CLA, CTA, CLED & LabVIEW Champion
altenbach
Knight of NI

Maybe I was not clear....

 

This is NOT an idea to get rid of feedback nodes. We all love the feedback node! 😄 (Darin and Steen already pointed out the differences, For example, there is no "globally initialized shift register").

 

This idea specifically deals with the option that feedback nodes are currently (by default) automatically inserted whenever "cycles" are created by wiring "accidents" (for lack of better words).

 

Feedback nodes should not appear automatically just to make bad code even worse. If somebody wires a cycle, a broken wire should result, alerting to the situation. Feedback nodes should only be placed manually by the programmer.

vitoi
Active Participant

Keep the shift register!!!!

altenbach
Knight of NI
Your comment is offtopic. Please wait until somebody actually posts an idea to ged rid of the shift register. This has not happened yet and I doubt it will happen. 🙂
CMal
Active Participant

I think I need to write a VI to search the Idea Exchange and automatically vote for any idea suggested by Altenbach.

Dragis
Active Participant

if a wire is broken due to a cycle, can you right-click it and say insert feedback node? if that is or would be an option, i can kudo the idea.