10-04-2007 09:47 PM
10-04-2007 10:12 PM
10-05-2007 02:40 AM
@mikeporter wrote:
....Most of the "shortcomings" that LV exhibits arise from NI trying to placate people such as yourself who have no idea about how to go about creating a good LV-based application. and immediately assume that LV is only for "small" projects....
Mike...
Taking into account that you know nothing about me or our application, your response seems very arrogante. There is a reason for the number of varibles we used, and they are used in a simple way: Sending status data over the network. I have never made any assumptions that LV is for small applications only. Our application has approx 300 VI's.
We do indeed understand the difference between OO and Dataflow programming.
That aside, I am human, and I do make mistakes: Even if I had only ONE Shared Variable in my application: How can I find if this very variable is used in the wrong place if I cannot search for references to it?
I am all in favour of promoting good programming practices. However, that is not an excuse for, or not the same as, not supporting fundamental tools in the programming environment.
10-05-2007 04:40 AM
10-05-2007 07:09 AM - edited 10-05-2007 07:09 AM
Weibe,
Exactly, all NI's work goes in to marketable new features. Any effort towards implementing those features properly is second-tier in their priority list.
Take LVOOP for example, even after numerous complaints they still released 8.5 on their marketing department's schedule with absolutely no effort to allow proper building of exe's with LVOOP. They knew there were problems but prioritized the fix behind the marketable features. Its actually just like this poster's problem with shared variables. The idea is good, the concept can be beneficial, but if the feature is 95% complete that's enough to stick it on a marketing sheet and release a new version. The last 5% or the feature may never get done.
Most newer features have this problem. LVOOP and the project manager have the same kinds of detail issues.
Even easy things, like if I "View this vi's callers" it just opens the front panel of the caller. It should give me a list of instances like it does in the find and replace menu! But instead I have to use the find and replace menu, and by-hand browse to the vi. And don't use NI's installers if you try to deploy exe's. No NI installer will work through a network group policy, so IT people hate NI installers because they can't even do network installs.
And every labview developer I know agrees that they aren't ready to upgrade again for a very long time.
For a large GUI level windows app it only takes about 20% longer to code it in C# with Visual Studio than it does in labview. And I think it will be way easier to maintain and transfer your project to VS 2008 (properly beta tested before release by the way). And you will only have to worry about doing that upgrade once every 3 years (not like once every 6 months to keep up with new labview releases). And way less stuff will break during the upgrade process because you will be using a much better quality-controlled platform. So in the long run, for a lot of projects I think it is actually less time consuming to develop in VS than it is in labview.
Message Edited by billings11 on 10-05-2007 07:14 AM
10-05-2007 08:10 AM
10-05-2007 09:18 AM
10-05-2007 10:19 AM
I definitely agree that the Find functionality in LabVIEW should be able to locate specific instances of Shared Variables, just like it currently does for Locals and Globals. I have pointed the appropriate developers in LabVIEW R&D to this thread so they'll know about the issue. For now, I have a temporary solution to this issue for anyone who has the VI Analyzer Toolkit. The VI Analyzer is included in the NI Developer Suite...otherwise, you must purchase it separately.
To use this solution, create a folder called "VI Analyzer Tests" under your [LabVIEW Data] folder (on Windows XP this is located at C:\Documents and Settings\[username]\My Documents\LabVIEW Data). Place the LLB attached to this post in the VI Analyzer Tests folder. Now, the next time you launch the VI Analyzer (Tools > VI Analyzer > Analyze VIs...), this new "Find Shared Variables" test will be located under the "User-Defined Tests" category in the Tests list. Just specify the name of the Shared Variable you wish to find, and the VI Analyzer will detect all instances of that Shared Variable in the VIs you added to the "VIs to Analyze" list.
I tested this VI Analyzer test in LabVIEW 8.0, 8.2, and 8.5. I cannot guarantee that it will work in future versions.
I hope it helps,
-D
P.S. - Please realize that I'm not suggesting you should have to pay $995 to find shared variables in your code...we definitely need to address this Find shortcoming in the core product. I'm just offering this solution in the event that you already have the VI Analyzer and can utilize an existing tool to solve an immediate problem.
10-05-2007 11:10 AM
10-05-2007 11:15 AM
This has been a very interesting thread. Here is my opinion on why NI comes out with so many upgrades in such a short period of time and puts old problems on the back burner:
MONEY! Its always about money. The top dogs at NI feel that they have to come out with new products or they will not be perceived by the Wall Street jerks as making any progress, and their stock value will go down. That is the bottom line. So the developers are forced to come up with something new (rather than fixing the old) and push it out to market before it is completely ready. Problems like the ones that started this thread are not critical enough to halt the introduction of a new product. NI top dogs, like all other companies' top dogs, bow to Wall Street, not to the people that use their products.
I will say this about NI though. They do care more than the average company about getting opinions from its products users and will make an effort to fix the problems. That is very evident. Even on this forum there are threads started by NI employees to get our inputs and to hear our problems. I am very thankful for that. But some of these problems are just not as important as showing company growth by introducing new versions of Labview. If NI didn't bow to Wall Street, the company would go down the tubes, and there would be no more Labview. I, for one, am willing to put up with the LV problems and workarounds (at least the company gives them to us like Darren just did) for the sake of NI's existence. In this highly competitive business world, there is no other way.
The trick is to keep complaining about LVs shortcomings and be patient. Sooner or later, probably later, NI will fix those problems. Its the only way that we will be able to keep on using a great (and fun) programming language like Labview.