03-12-2011 11:04 AM
jyce wrote:
This is so funny, i restart this topic 6 month ago to try to understand the pro and cons between LV and CVI. I get few objectives answers and a lot of trolling.
I finally went for LV (well actually the full dev system to keep options open). Basicly because the NI ecosystem created around labview to design Test System and intrument control is very good and provides fast results. And this is not just thanks to LV but mostly thanks to all nice work that NI has put around in drivers and framworks.
At the same time i will never use LV to design a software that is not instrument related. And I'm sure nobody at microsoft or google even ever considered using a langage like LV to design Chrome or Windows. I think LV belong to a specific word and his far better than CVI when this is about instrumentation.
Sure you won't write an OS in LV. But I think the powers of LV are wider than just instrumentation. I have a limited overview on this, just as I mostly do instrumentation. But it's also used for data analysis (did you ever try to display and handle large data sets with Excel? It's becoming horrible slow and there are several 32k limits) and I also think about simulation. In both fields it is rivaled by mathematica and mathlab and the like. I think they are a better choice for mathematical oriented scientists, but as engineer I would use LV.
Maybe some others can provide domains further away from the traditional measurement domain where they know about successful LV applications.
Felix
03-12-2011 12:14 PM - edited 03-12-2011 12:16 PM
F. Schubert wrote:
jyce wrote:
At the same time i will never use LV to design a software that is not instrument related. And I'm sure nobody at microsoft or google even ever considered using a langage like LV to design Chrome or Windows. I think LV belong to a specific word and his far better than CVI when this is about instrumentation.
Sure you won't write an OS in LV. But I think the powers of LV are wider than just instrumentation. I have a limited overview on this, just as I mostly do instrumentation.
Maybe some others can provide domains further away from the traditional measurement domain where they know about successful LV applications.
Well said. While we originally got LabVIEW 4.0 to replace dedicated instrument control hardware (Nicolet 1280 computer) with a PC based instrument control, it did not take me long to realize that pure math can be done much better in LabVIEW if we want a responsive and versatile UI (e.g. that does not become unresponsive during lengthy computations and can do more than one thing at a time). Sure, some nerdy linear application can be done in any programming environment, but if you focus on a good user experience, LabVIEW is orders of magitude better suited.
The inherently parallel nature of LabVIEW automatically takes care of utilizing all available CPU cores if needed and I have written many programs that would be very difficult to do in anything else in their current form. A single LabVIEW program can acquire data, control multiple instruments, run a simulation, react to cursor movements, do realtime analysis, etc. etc. all at the same time and without missing a beat and without having the programmer jump through flaming hoops.
My real goal in life is to prove that LabVIEW is the best programming environment for general-purpose programming. I understand that this is an uphill battle because that's not how LabVIEW is marketed and NI always want to sell you hardware.
I do have extensive personal experience in text based code, having written many programs, even in exotic things like Fortran, DCL, or SAS. I understand personal preference. Every time I sit down to do some matlab, I get frustrated. Sure these things are nice if there is no alternative, but once you know LabVIEW there is no turning back to text based code. Why make things difficult! Sure you can get from point A to point B in a kids tricycle but you would not want to commute with it every day.
NI has a great math team. Have a closer look at the linear algebra and fitting palettes for example to realize that LabVIEW is very strong in these areas.
The end user does not care what was used to write the program. All that matters is that it is responsive, interactive, easy to use, and fast. Let the user focus on the data and the results! Only LabVIEW allows the programmer to write such a program easily.
I have written many elaborate LabVIEW programs where similar code written by others is available (Fortran, matlab, etc.). The LabVIEW code is orders of magnitude easier to use and, in turn, offers a more pleasant and satisfying user experience. They entice more researchers to actually spend some time on these problems without giving up in frustration. Users that try them all, typically stick with my LabVIEW programs.
This advances the field in general and benefits mankind. :D.
03-12-2011 06:02 PM
@altenbach wrote:
...My real goal in life is to prove that LabVIEW is the best programming environment for general-purpose programming. I understand that this is an uphill battle because that's not how LabVIEW is marketed and NI always want to sell you hardware.
...
And that is why you are a Champion.
Ben
03-14-2011 08:24 AM
It cannot be truer!!
Kudos, for your fantastic juvenile animations!
03-14-2011 10:16 AM
@Ali65 wrote:
Kudos, for your fantastic juvenile animations!
Appears to have reached his target audience.
03-14-2011 11:14 AM
Imagine these gif-s on LabView icons...
I think it would help LabView to reach its target audience!
03-15-2011 08:51 AM
@Ali65 wrote:
Imagine these gif-s on LabView icons...
I think it would help LabView to reach its target audience!
Hi Ali!
I have a question just for you.
In your opinion, is software
1)something that should only be used by a small group of experts ?
or is it
2)something that could be used by those that are not experts ?
Feel free to spin that question anyway you want.
Ben
03-15-2011 09:52 AM
@Ben wrote:
@Ali65 wrote:
Imagine these gif-s on LabView icons...
I think it would help LabView to reach its target audience!
Hi Ali!
I have a question just for you.
In your opinion, is software
1)something that should only be used by a small group of experts ?
or is it
2)something that could be used by those that are not experts ?
Feel free to spin that question anyway you want.
Ben
I've been monitoring this thread and haven't chimed in since lately it's been going around and around with no apparent point. I did want to respond to this, only to say that we need to make a distiction between software and programming languages.
NI's viewpoint is basically that "anybody" can use LabVIEW, and even went so far as to create the lovely Express VIs for everyone to enjoy. We who program LabVIEW on basically a daily basis know reality, and not the marketing hype that NI puts out. Software, on the other hand, is something that can, and should be used by anyone. We use software when writing emails, or using apps on smartphones.
As far as programming languages are concerned, I side with the "should be used by people who know what they're doing". Someone had to write that smartphone app to create software that someone else who doesn't know how to program could use. It's no different than designing hardware. I don't want my mom designing circuit boards, and neither do I want her programming LabVIEW. But I'd want her to use that recipe app on a smartphone. If she ever decided to actually use a smartphone, that is.
03-15-2011 11:00 AM
@Ben wrote:
@Ali65 wrote:
Imagine these gif-s on LabView icons...
I think it would help LabView to reach its target audience!
Hi Ali!
I have a question just for you.
In your opinion, is software
1)something that should only be used by a small group of experts ?
or is it
2)something that could be used by those that are not experts ?
Feel free to spin that question anyway you want.
Ben
Ben,
2 Software could be used by not experts? Usually not. Every software requires some level of expertise. If my one year old sets the alarm clock on my phone, it does not make her an expert of time management. Even if it appears that the software could be used by her, it was just her luck. You can try to design a software to be used by novices. For example a special alarm clock for those people who have no concept of time, but everyone else will probably think that this software (or the user interface of this software) is too complicated. (Did I mention LV? )
1 It depends on the area of use. The software what is used to design a nuclear reactor, should only be used by a small group of experts. The same software if used to design a flyer about a missing dog, should be used by large group of experts.
I cannot recognize OR relationship between 1 and 2.
Ali
03-15-2011 11:25 AM
@Ali65 wrote:
1 It depends on the area of use. The software what is used to design a nuclear reactor, should only be used by a small group of experts. The same software if used to design a flyer about a missing dog, should be used by large group of experts.
That's a very good point, so even in the realm of software (as opposed to a programming language), there should also be a distinction on who should use it, based on what it does. That, of course, applies to hardware as well. For example, I don't think you'd want your 1-year old operating a toaster, even though it's designed to be extremely simple to use.
OK, so what was the original point of this thread?