01-08-2015 07:08 AM
@Kochise wrote:
That argument, again.
Don't tell me that duplicating the String's attributes
(font, size, color) would be such a memory overhead.
Font, size, color, caption, scroll position, background and foreground color, 'limit to single line?', 'allow tabbing', description, tip strip, focus key binding, caption text color/font/etc., label text font/color/etc.... That's a small minority of all the attributes of a string control. If I open a subVI that takes a 1 million array of doubles, I don't want the FP control to reserve several hundred Mb of memory for all those attributes. You need a separate control type intended for the small number of elements presented in a UI.
01-08-2015 07:35 AM
If a UI is meant to present 1 million+ items to the
operator, I think there is a huge flaw in the main
architecture, to begin with.
I requested some sensed arguments, not fallacy.
I'm already served 'millions' to justify all the
limitations I'm encountering in my journey
to boredomland.
David Koch
01-08-2015 07:50 AM
You're funny.
It may be a flaw, but its pretty inbuilt that LabVIEW uses Front Panels for double-duty as a debug UI for the developer of subVIs, in addition to the actual Operator UI. And even on the Operator UI, one is sometimes presenting a scrollable indicator of very large numbers of elements; a log with tens of thousands of entries, say. Things like the Tree control or Table control, which are part-way towards what you want, have great difficulty handling that many elements.
01-08-2015 07:58 AM - edited 01-08-2015 08:00 AM
Yeah, I'm funny, that's the way I'm trying
not to loose my mind. Computers and
programming languages are meant to
solve problems, not create new ones.
I understand the logic behind the UI
paradigm Labview is (over)using, yet
I beg to differ.
There's various 'best practice' cheats
and hints all around the place, that just
shows how much Labview can entrap
you without prior warnings.
A good 'best practice' that is common
amongst 'real' programming languages
is the famous MVC architecture that
breaks data from UI. Or at least allows
the coder to link them using transactions.
That's mostly the 'large file model' that
also allows one to navigate in theorically
unlimited sized files. Transparently.
If you are to load 1 million+ UI items
with their respective data, without
pre/post UI processing, you're getting
into a boatload of troubles, I guarantee.
But since Labview is just for technicians
and operators, not serious programmers,
I bet I get what I deserve.
I miss my LISP REPL 😕
David Koch
01-08-2015 08:20 AM - edited 01-08-2015 08:21 AM
This thread is already spiraling into oblivion. Your experience with NI products make your opinion what they are, but had you chosen any other language you would have things to complain about. LabVIEW is not without faults, and we can have a real discussion about the things you find difficult about it, but the method of which you are expressing your opinion, is very put-off-ish and in the end will not accomplish anything. As gently as I can, here is my response to some of your points.
Just because it is a Windows environment, does not mean you can eat up as much resources as you want. Memory is not free, it is limited, and at some point a user will hit some memory limit and wish LabVIEW was more efficient. One way to avoid this is to not have separate properties for each element in the array.
UI's often have arrays with large number if elements and that doesn't make it bad UI design. That's like saying that other applications should not contain large amounts of numeric data in a list. That is exactly what Excel is. It isn't always bad UI design, or flawed.
Any language has strength's and weaknesses. A LabVIEW strength is rapid prototype, and centers around DAQ systems. A weakness is UI design. No one complains that it takes literally seconds to take a DAQ reading, but many complain about UI design issues. As a result we have come up with work arounds for UI desing issues, until NI makes better solutions. If you have a complaint or want improvements, NI has made the Idea Exchange board. Something Other companies don't have for their products. If enough people have the same issue with a product, NI addresses it.
Claiming LabVIEW is only for technicians is laughable. Would you call what SpaceX is doing not real programming? This is generally the first example but far from the last. Massive large scale distributed systems have been deployed with LabVIEW and TestStand with great success in much less time than it would take with other tools. Your inability to use a tool, doesn't invalidate the tools ability.
EDIT: Thanks for linking to that array cluster table, that was one of them I was thinking of.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
16 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
01-08-2015 08:27 AM
From common Labview best practices :
#1 - keep everything in one screen
I think it sum up it all.
David Koch
01-08-2015 08:28 AM
@Kochise wrote:
I think it sum up it all.
I don't think it does, what are you trying to say? How many monitors should one text file take up in other programming languages?
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
16 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
01-08-2015 08:38 AM
@Kochise wrote:
From common Labview best practices :
#1 - keep everything in one screen
I think it sum up it all.
David Koch
Isn't it a tip in C to keep functions small (say, a screen long) also? Atleast that how i interpret it.
/Y
01-08-2015 08:45 AM - edited 01-08-2015 08:50 AM
Hooovahh a écrit :
@Kochise wrote:
I think it sum up it all.
I don't think it does, what are you trying to say? How many monitors should one text file take up in other programming languages?
Basically one, most IDEs have tabbed UI, unlike Labview.
And paned debug views instead of top-most floating windows.
But that's another point.
I can bear some level of frustration, being a rookie into
Labview and Teststand, but not into software development.
I used to conceive large scale data monitoring applications
or 3D stuff, or complex WMS algorithms in some Toy's R Us
looking IDEs served by blond babes (PC Soft) and figured
them out pretty fast.
Unlike Labview, that is supposed to be easy going.
Doing complex data management - PROGRAMATICALLY -
at run-time is almost impossible. The available tools are,
like I said, pretty obnoxious for that purpose. Speaking about
VariantDataType to name one, not even released with
exhaustive documentation and examples.
That's why I'm felling deep sorrow. My job wasn't meant
to be.
David Koch
01-08-2015 08:49 AM - edited 01-08-2015 08:54 AM
Yamaeda a écrit :
Isn't it a tip in C to keep functions small (say, a screen long) also? Atleast that how i interpret it.
/Y
Teachers tells learning students to follow that advice.
But then all methods and prototypes in one CPP/H couple of files.
Labview professionals tells programmers to keep everything in one screen.
In production code. As best practice.
That's another affair that tells a lot about the language level.
David Koch