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

cancel
Showing results for 
Search instead for 
Did you mean: 

What is stopping you from switching to LabVIEW NXG? - VI server

Solved!
Go to solution

I came to link Joel on Software and his article on never tossing and re-writing (which I think should be on the short list of required reading for all software developers and project managers).   Happy to see that others have beat me to it.   Sometime at a CLA summit I remember literally telling NI in a one-on-one that NXG was a bad idea and that they should go read this article.

 

Ok, time to get back to my 1990's era highly coupled LabVIEW code hell.

0 Kudos
Message 71 of 91
(1,871 Views)

srm@viewpointusa.com wrote:

 

Or is this a repackaging of NXG? Is LV 2021 going to be NXG with a LV skin and they pull the mask off in 5 years and go “ha, look, you were using NXG all along”?

 


I doubt that very much. If they were be able to do this, they wouldn't be abandoning NXG at all, they'd have succeeded.

0 Kudos
Message 72 of 91
(1,867 Views)

wiebe@CARYA wrote:


LabVIEW shouldn't keep up with those libraries. LabVIEW\NI should enable us to make those libraries. Not sure if that is what you're saying.


That would be ideal, sure, but without more capabilities to add to labview and create plugins and have more of it community supported, any better libraries that connect labview with other languages is the easier way to extend the overall capabilities, especially with web tools, which NI has spent so much time creating webVIs with NXG, yet they are still amazingly limited and pretty tough still to customize.

0 Kudos
Message 73 of 91
(1,850 Views)

@Thomas_robertson wrote:

Sometime at a CLA summit I remember literally telling NI in a one-on-one that NXG was a bad idea and that they should go read this article.


That explains it all!

 

They finally read it and pulled the plug!

0 Kudos
Message 74 of 91
(1,843 Views)

@rolfk wrote:

Ok lets develop everything from scratch ourself then, that will solve the problem! NOT! And we are back by Joels Software link that was mentioned earlier elsewhere. 😁 Things You Should Never Do, Part I – Joel on Software


I've seen this posted multiple times, and I have read it.  But it doesn't mesh up well with my (admittedly much smaller) real world experience.  I've seen so much terrible LabVIEW code where there wasn't much worth saving  One time it was a developer that had worked for years on the LabVIEW code then quit telling the company there is only a week left of work to do so hire someone to finish it.  In that case it was a total loss other than the UIs.  We turned on a setting in LabVIEW which won't allow deleting front panel controls from the block diagram terminals.  Then went to the block diagram CTRL+A, Delete.  Then slapped in our own messaging and testing core to get and set the UI states.  I think it was 2 or 3 weeks to complete it.  The company didn't want to do this at first telling us that this would be throwing away multiple years of this guys work, and we were, and it was worthless.  That case is a bit different, because he never actually deployed the code.  His two years of work were just theoretical, with no debug or integration.  They just paid this guys salary for years to do nothing.

 

Another was for a test system written in CVI.  No one knew the system, reports didn't make sense, no one had confidence in the sequence, or timing, only one DUT could be tested at a time even though the hardware supported more, among other issues.  They wanted me to learn CVI and try to fix it in a week.  I started on Monday rewriting it in LabVIEW and by Wednesday I had some basic testing features working.  By the end of the week we were running tests on the DUT.  Sequence control, limits, logging, report generation, data archival, and running multiple DUTs at once.

 

In the past others have told me that these examples are much smaller investments.  Taking a week or so to rewrite something isn't that big of an investment, and maybe it works out.  But every time I suggest starting over on these projects I got push back on the amount of work that had already gone into the old and broken system.  Why even waste a week starting over on something, when these two guys worked on it for over a year?  We can't seriously have anything close to useable in 40 man hours, if they put in 4,000 right?  But by the power of LabVIEW and reuse we did.

Message 75 of 91
(1,772 Views)

wiebe@CARYA wrote:

@mcduff wrote:

wiebe@CARYA wrote:

@RTSLVU wrote:

I always kind of wondered what NI's plans were for NXG.


I don't think this was the plan 😉.


Actually never had the chance to use NXG. But this is kind of worrisome. Either NI does not have the resources to properly develop NXG or is less interested in software and more interested in hardware. Does not make me feel real confident in using LabVIEW as a development tool as its future seems in doubt.

 

mcduff


Maybe they simply rebalanced the pros and cons. Maybe the adaptation was disappointing. Lots of maybes...

 

I wouldn't want them to continue developing something when they know it's not going to work... They might have that insight. I'm sure many users where skeptical and where not shy about it.

 

It doesn't have to be bad, but I sure don't consider all positive.


I think it's pretty simple: You get a great idea*.  You move forward with it, putting a lot of effort into it.  And at some point you come to realize that your "great" idea wasn't so great.  So if you're not a goofus, you throw in the towel (one of the most important things in life is knowing when to quit).

 

* I always say: "Ideas are a dime a dozen, and usually overpriced at that."

"If you weren't supposed to push it, it wouldn't be a button."
0 Kudos
Message 76 of 91
(1,777 Views)

Hooovahh, what Joel is talking about is not your average sized LabVIEW or CVI program. A program that took a single programmer 2 or 3 months or so to program is not at all in this class of software Joel talks about. And there is code that looks not like you want it to look and there is code that does simply not work or only when you touch your nose with your left index finger and slap your thighs with your right hand in exctly the right rythme.

 

Code that doesn't liook like it should is an easy decision. Don't rewrite it! Code that simply does not work or only under esotiric circumstances definitely should be rewritten. Then there is all the in between that usually works and doesn't look good.

 

I have rewritten LabVIEW code and C code too in the past. A few times even my own since I lost weeks of work due to a corrupt disk or my own stupidity. In all of these cases the work that had to be redone was fairly easy to oversee and the end result was always neater and better and in fact usually done in half of the time than the original code (which is still no reason to throw away existing code for no good reason 😁). Another reason to redo something might be if you have to modify existing software but the existing architecture pretty much does not allow for modifications.

 

But LabVIEW's code base, if it had to be redone would cost probably something like 5000 man months or more.  This means that you have to involve lots of programmers and over a very long period of time. Lots of programmers is always a problem, as the productivity gain in a team per new developer approaches asymptotically 0 at some point. And if a developer has to refer to code that he wrote a few weeks ago, he can very easily remember all the details of the code he wrote but if that was 6 months or 1 year ago, he is bound to go back and check the implementation to find out how it needs to be used even if it is his own code.

 

So yes for a smaller code base it is not such a big mistake to try to start again. In the worst case you throw away a few weeks of work when you finally realize that the rewrite was not as easy as you thought and to get all those corner cases covered that the old code did, will take you lots and lots of unsexy and tiring debugging hours. That is definitely true for software where a rewrite can be done by one or maybe two developers in less than half a year. But as the project gets bigger and more people get involved over a longer period, you run into at least two problems with a full rewrite Joel mentions:

 

1) your product is stalling and disappears from the public radar since there are no developments anymore that are visible to the outside world.

 

2) the chance that the rewrite is a fiasko is most likely directly proportional to the amount of people working on it multiplied with the projected development time in months.

Rolf Kalbermatter
My Blog
Message 77 of 91
(1,766 Views)

@Hooovahh wrote:

We turned on a setting in LabVIEW which won't allow deleting front panel controls from the block diagram terminals.  Then went to the block diagram CTRL+A, Delete.  

Didn't know that was an option, I love the little nuggets I find perusing the forums!

0 Kudos
Message 78 of 91
(1,761 Views)

@Gregory wrote:

@Hooovahh wrote:

We turned on a setting in LabVIEW which won't allow deleting front panel controls from the block diagram terminals.  Then went to the block diagram CTRL+A, Delete.  

Didn't know that was an option, I love the little nuggets I find perusing the forums!


In fact it was the default setting for several versions of LabVIEW.  I want to say 5.x, and 6.x era but I could be wrong.

0 Kudos
Message 79 of 91
(1,742 Views)

The recent posting seems to have deviated from the original purpose of this thread.  In the meantime, Omid has already responded to this LinkedIn thread to confirm that NI will be sharing out our internal retrospective on LabVIEW NXG, including lessons learned.  You can read more on Tom Mcquillan's post in LinkedIn. 

 

I also recommend that you close this thread and open up a new thread on the things you like about LabVIEW NXG that you want to see in LabVIEW in future releases.  We are eager to hear your thoughts on this topic and I'm just afraid the feedback here will get lost in this thread because its not really related to the original topic.

Eric Reffett | Director, Product Management | 1.512.683.8165 | ni.com
Message 80 of 91
(1,697 Views)