Jump to content

How to mainstream LabVIEW?


eaolson

Recommended Posts

I've seen a few people here and there talk about LabVIEW and how it could become a general purpose programming language. With some spare time on my hands, I was thinking about that the other day and started to wonder what LabVIEW would need to do to actually become such a language Similarly, but more importantly, what will it take for LabVIEW to be viewed by non-wireworkers as a "real" programming language?

I also think it would be great if LabVIEW moved out of its niche. I find it interesting that LabVIEW is used at one end of the spectrum for industrial and technical applications and at the other, very non-technical end, for Mindstorms NXT. But there's not much in the middle. I was actually thinking LabVIEW might make a good to teach beginning programming; it's fairly intuitive, comprehensive GUI widgets are built right in, and the danger of obscure compiler errors is minimal to none.

1. Cost. I hate to be gauche, but this is an important issue. I'm looking for a job now and I've come to realize that, if my job doesn't require me to use LabVIEW, I probably will have to give it up. We have a site license, and I'll lose access to that when I leave. I might pick up the Student Edition or something, but $5000 for a programming language? I'll switch back to VC++ or Java for stuff I fiddle with at home.

2. By reference objects

There is just a lot you can do with obkect references that you just can't do with a by-value object. I know it's not exactly fair to be making this complaint when LabVIEW just got by-value objects not long ago. I just think it would go a long way toward LabVIEW being considered a "real" programming language.

3. Better bug support

Don't get me wrong, as these things go, NI's dedication to support is fantastic. I wish more companies did half as good a job. And the new Known Issues page and he listing of CARs in the release notes are great.

It just seems to me that a major version is released, we get a bugfix version a few months later, then all support for that version ends. I don't like feeling pressured to upgrade every six months or so, just to avoid bugs that crash LabVIEW to the desktop. Especially because each new version introduces bugs of its own. Right now, my main project is locked into 8.20 because I need to remain compatible with a colleague at a different location. I found a crash bug just the other day, reported it, but it's fixed in 8.5, so I'm out of luck.

It seems that NI favors the software-as-service paradigm and I understand why that's good for them. As a user, I disike it. It requires me to be dependent on an external factor I have little control over.

4. Executables. It's odd that the whole point of pretty much every other language out there is to create executables that run on non-development machines, but doing the same for LabVIEW requires a $1000 add-on. It makes it difficult to distribute what you've written to non-developers and I suspect that hampers the spread of LabVIEW.

Maybe none of this is important and the people that need to know about LabVIEW already know. Maybe NI is content with LabVIEW's niche-ness. Maybe I've just been drinking the LabVIEW Kool-Aid too much and need to get a life, but I'd like to hear what other people think.

(What's the best forum for this? It's not really technical and just me bloviating, so I'm sticking it in the Lounge, even though it is LabVIEW related.)

Link to comment

QUOTE(eaolson @ Oct 16 2007, 10:36 AM)

I understand (or at least I think I would understand, if I cared to delve into it ;) ) the reasons for it, but having a http://joule.ni.com/nidu/cds/view/p/id/861/lang/en' target="_blank">runtime-engine that's pushing 100 MB is a bit of a barrier to doing any little hobby projects and distributing them. Sure, you can post a link with the download and politely ask your users to go get the RTE themselves, but ~0.1 GB for a RTE to run, say, an MP3-tagging program (just to pick an example) is rather a laugh. That prevents me from taking on some little application development projects that I might otherwise dive into for fun.

Another thing that LabVIEW needs, in the long run, to become more mainstream is better support in the schools. This is why the LEGO Mindstorms stuff is such an amazing sort of viral strategy for the language. High schools and colleges all still teach text-based programming almost exclusively, and if NI/LabVIEW/the community can dent that hegemony over the next 10-15 years, it will go a long way toward teaching all these fertile young minds to think in dataflow.

Link to comment

The JAVA Run-Time is 119MB and Internet users have to download updates regularly so I don't think that size is such a big issue.

I'd like to see :

  • LabVIEW files formats to become an XML Open Standard so that everybody can make Edit/Display tools or even compilers.
  • Release patents for graphical programming. There is no more reason to patent graphical programming than text programming. These slow growth and innovation.
  • Make a LabVIEW Light version, without the heavy stuff for data acquisition. Keep Serial and TCP/UDP and some common protocols.
  • Promote the parallel capabilities available for years and ready for multicore

That openness would keep Microsoft from embracing graphical programming and setting its own closed standards.

Link to comment

QUOTE(Michael_Aivaliotis @ Oct 16 2007, 12:42 PM)

Yes, and FWIW, I think the problem isn't that LV is a toy -- because it clearly isn't. The real "problem" is that it's too easy to learn. Yes, one can learn to use it BADLY -- we know that!. But the fact is that you CAN learn to use it fairly easily and there is a real perception/belief on the part of many "real" CS people that, "if it was hard for me, it should be difficult for you as well". The same attitude applies to medical residencies. They could be made to be far saner -- and that would save lives -- but the tradition continues of forcing residents to work extreme conditions at low pay. Obviously there are a lot of factors involved there but one that is shared IMO with the "problem" with LV is that it is simply too easy.

And how many things do I NOT need to "know" to use LV well. I don't need to know VB, C/C++, C#, COM/DCOM, etc, etc. Knowing those things can -- or at least MAY -- be of help. But they simply aren't necessary.

In that regard I remember when I was "invited" to pursue CS while in undergraduate school in 73. The head of the department wanted to enroll me in a course to learn BASIC and my reply was:

"Why would I want to do that? It's not for Beginner's, it's not All Purpose, it's not Symbolic (except in the most primitive sense possible) but I do agree it contains a set of "Instruction Code(s)". So why would I want to learn something that is so poor at describing itself? Does that sound like a good tool to use to describe OTHER processes, events, information, etc?"

I must admit that the conversation really feel apart at that point because he didn't even know that the word BASIC was an acronym -- I'm not even sure he knew that IBM was either... ;-)

I don't really buy the cost issue. Yes, a Professional Devlopers package along with SSP (esp Premium level) is not cheap. But how much do you pay for MSDN, Visual Studio, VB, VC/C++, C# as well as the various additional components, 3rd party tools, etc that are involved in designed, building, testing, deploying and maintaining distribution projects/products? I think when you do a complete comparison -- and look at the overall cost/value ratio, it's at worse a toss-up. Given the learning curve and potential of LV itself though, it's a clear advantage to use LV primarily and only "branch out" as needed which, incidentally, seems to be far, far less important than in the past.

The primary issue is identity/religion and this forms the basis of ALL of the programming wars (sounds of Darth Vader and Star Wars...). I know people who still swear by FORTRAN and PASCAL; but I know a lot of others who swear at those languages, or just walk away.

Getting into schools is a great idea and is the real way this will happen as it will not only get students using LV early in their professional development curve, it will address the "it's not a real language" and "its' too easy to be any good" nonsense right up front, where it lives.

Link to comment

QUOTE(jpdrolet @ Oct 16 2007, 04:03 PM)

  • ...Make a LabVIEW Light version, without the heavy stuff for data acquisition. Keep Serial and TCP/UDP and some common protocols.
  • ...

Listen closely and we can hear the NI Marketing types saying;

"So our customers can develop for third party hardware cheaper than if they develop for our hardware?"

I think NI is playing the dominate game rather well. They are working the currption of children to accept LV like code.

They are alos not attracting too much attention that could lead to M$ Bill to write out a check to squash LV.

To go mainstream (as I hope) there must be proper support structures in place to support the product. For NI to do that internal would be a big challenge. It appears (I don't know any secrets) that NI's support of user forums and the comunity is the move they should be making now.

Making LV mainstream is a lot like "fixing the world", the first step begins with ourselves. Continue participation in forums, start or attend user group meetings...

Ben

Link to comment

QUOTE(jpdrolet @ Oct 16 2007, 01:03 PM)

The JAVA Run-Time is 119MB and Internet users have to download updates regularly so I don't think that size is such a big issue.

I'd like to see :

  • LabVIEW files formats to become an XML Open Standard so that everybody can make Edit/Display tools or even compilers.
  • Release patents for graphical programming. There is no more reason to patent graphical programming than text programming. These slow growth and innovation.
  • Make a LabVIEW Light version, without the heavy stuff for data acquisition. Keep Serial and TCP/UDP and some common protocols.
  • Promote the parallel capabilities available for years and ready for multicore

That openness would keep Microsoft from embracing graphical programming and setting its own closed standards.

LV won't evern become completely transparent within XML nor will it ever release the patents. These twin pillars are what have maintained its interity as a product and environment over the years and that simply won't change. When you say LV-Lite I think you're really talking about cost again. My strong suspicion is that that won't happen either, esp not with Serial and TCP/UDP left in. Again the reasons you want it are the reasons that NI doesn't. Promoting parallelism is a very strong point and one that goes right into the "eye of the wind" for those not using LV -- they really can't "go there" but we can and pretty easily. Once THAT word gets out -- along with all of the other points about LV's overall utility -- THEN there will be an upswell in interest.

There will ALSO be a huge backlash of folks who think it should be low-cost, open-source, available to all, etc, etc. None of those things are ever really going to happen IMO. And FWIW I don't think that they should.

Link to comment

QUOTE(Michael_Aivaliotis @ Oct 16 2007, 02:42 PM)

I've never been clear about what the "Lite" RTE doesn't do that the full one does do, so always played it safe and used the full one. The NI page says the small version basically only lets you run front panels via a web browser, is there more to it?

QUOTE(jpdrolet @ Oct 16 2007, 03:03 PM)

I don't think that's right. The download for the offline Java JRE installer is 13 MB. Even the Developers Kit is only 65 MB.

Aren't some of the big patents set to expire very shortly?

QUOTE(Val Brown @ Oct 16 2007, 03:04 PM)

I don't really buy the cost issue. Yes, a Professional Devlopers package along with SSP (esp Premium level) is not cheap. But how much do you pay for MSDN, Visual Studio, VB, VC/C++, C# as well as the various additional components, 3rd party tools, etc that are involved in designed, building, testing, deploying and maintaining distribution projects/products?

For me? Free. Java is free and, if you want an IDE, both Netbeans and Eclipse are free. VB, VC++, VC# all have free Express versions which aren't very limited. (OK, I don't do much with any of these, so I'm not familiar with their limitations so much.)

Link to comment

QUOTE(eaolson @ Oct 16 2007, 03:38 PM)

For me? Free. Java is free and, if you want an IDE, both Netbeans and Eclipse are free. VB, VC++, VC# all have free Express versions which aren't very limited. (OK, I don't do much with any of these, so I'm not familiar with their limitations so much.)

Well there it is, isn't it? You think free is about the right price and I expect to pay what something's is worth. Hmmm, perhaps that's why I'm not using JAVA.....<OK, that's a joke>

I was watching Armageddon again last night and really loved the one line about how the shuttle was built by the lowest bidder. IME you get what you pay for. I'm really not interested in getting something for "free" when I'm using it to develop professional products to distribute to others. I don't know how comfortable I would have been with the surgeon performing my open heart (now 18 years older) had he said: "And we got the anesthesia and surgical instruments for free!"

Link to comment

QUOTE(Val Brown @ Oct 16 2007, 06:56 PM)

I don't know how comfortable I would have been with the surgeon performing my open heart (now 18 years older) had he said: "And we got the anesthesia and surgical instruments for free!"

You should be very uncomfortable!

I know as a fact :shifty: that a significant amount of the equipment used in emergency and surgery rooms is "free" (pumps, instruments). The money is in the disposables. When equipment wears out or is broken by poor handling, the vendors give new equipment to keep their competitors out.

Link to comment

QUOTE(LV Punk @ Oct 16 2007, 05:31 PM)

You should be very uncomfortable!

I know as a fact :shifty: that a significant amount of the equipment used in emergency and surgery rooms is "free" (pumps, instruments). The money is in the disposables. When equipment wears out or is broken by poor handling, the vendors give new equipment to keep their competitors out.

Actually that isn't quite correct. I have worked in hospitals -- as a Department Head -- and my sister has run Research Hospital programs. My wife ran ORs. Yes, a big chunk of money is made on disposables but, the anesthesia IS a disposable, as our a number of surgical implements. "Use once, throw away" has become the standard for maintaining sanitation in many ORs.

Link to comment

QUOTE(Val Brown @ Oct 16 2007, 03:56 PM)

Nor am I, but I think that's slightly tangential to the question of how to increase LabVIEW's mainstream acceptance. There are hordes of people (kids and adults) out there who cut their teeth in programming on whatever they can get for free. Heck, I didn't even (directly) pay for my initial LabVIEW exposure years ago -- it was just part of the curriculum in a lab course I taught.

I don't think LabVIEW will ever be "free" (beer or speech), and FWIW I don't think it necessarily ever needs to be. But the fact is that you can learn a tremendous amount of C/C++/Java/PHP/Perl/god-knows-what-else without shelling out any extra money*. For LabVIEW, the barrier to entry starts in the $1200 range and goes up from there. For those of us who use it as a professional tool, the value is apparent. But for the kind of people who should be being taught to think in G (to coin a phrase), that's a gigantic difference.

QUOTE(neB @ Oct 16 2007, 02:42 PM)

Making
LV
mainstream is a lot like "fixing the world", the first step begins with ourselves. Continue participation in forums, start or attend user group meetings...

...and pimp LabVIEW to all your friends who live in other languages. Show them an application you've done, and what dataflow really is. Everyone I've ever shown LabVIEW to comes away from the demo thinking, "Wow! That's really cool!" (They also come away thinking that they still don't understand where variables are defined, but after another couple of beers it all starts to make sense.)

*Beyond the cost of your computer and your internet connection, which are practically like air and water for geeks ;) .

Link to comment

QUOTE(eaolson @ Oct 16 2007, 07:36 PM)

2. By reference objects

There is just a lot you can do with obkect references that you just can't do with a by-value object. I know it's not exactly fair to be making this complaint when LabVIEW just got by-value objects not long ago. I just think it would go a long way toward LabVIEW being considered a "real" programming language.

They are there and they are called XControls. They fit nicely into the VI server/.net/comm paradigm and can have properties and methods just like those systems.

I was disappointed when the LVOOP didn't merge into VI server :thumbdown:

Ton

Link to comment

Just to start a little conspiricy theory discussion...

Over the past couple years I have heard a number of NI employees touting the phrase "LabVIEW Everywhere". I have even seen it in presentations. When they say "everywhere", they mean "everywhere". I think they are planning on taking over the world, but are just in the planning phase. It's like a wacko cult hoarding guns for the "big fight". Pretty soon a lot of us will be drinking the Kool-Aid and fighting for the cause. I can only hope to rendevous (or semaphore, queue, etc.) with the mother ship on the other side of the comet after I have dutifully given my all for the program that has given me so much.

Hail LabVIEW!

Link to comment

QUOTE(jpdrolet @ Oct 17 2007, 09:31 AM)

I believe that's G-Code as being a short reference for Gerber-Code.

Does anyone know of any official stance from NI about the use of "G". Personally I don't like G++ but that's probably mostly because I don't like C++ (as a language). OK, there I said it. But it probably would be a bit of a "hook" to those in the C++ universe...

Seems to me that there would be lots of possible G- combinations that could work well and take away the impression that LV is for Laboratories only/mostly. Even G-VIEW would be workable and would keep the acronym for VIEW available in the name.

Link to comment

QUOTE(Justin Goeres @ Oct 17 2007, 06:08 AM)

Nor am I, but I think that's slightly tangential to the question of how to increase LabVIEW's mainstream acceptance. There are hordes of people (kids and adults) out there who cut their teeth in programming on whatever they can get for free. Heck, I didn't even (directly) pay for my initial LabVIEW exposure years ago -- it was just part of the curriculum in a lab course I taught.

I don't think LabVIEW will ever be "free" (beer or speech), and FWIW I don't think it necessarily ever needs to be. But the fact is that you can learn a tremendous amount of C/C++/Java/PHP/Perl/god-knows-what-else without shelling out any extra money*. For LabVIEW, the barrier to entry starts in the $1200 range and goes up from there. For those of us who use it as a professional tool, the value is apparent. But for the kind of people who should be being taught to think in G (to coin a phrase), that's a gigantic difference.

*Beyond the cost of your computer and your internet connection, which are practically like air and water for geeks ;) .

How 'bout LabVIEW 6.1 for FREE. At least foe Mac or Linux. If you can find a copy of 6.1 which was included on the cover DVD of a certain C't magazine (Germany) you can have windows too.

Register here.

Shane

Link to comment

QUOTE(Justin Goeres @ Oct 16 2007, 11:08 PM)

I can't agree more. I imagine one of the big fish in the programming game is Visual Studio, which pretty much maxes out with the Professional version for $670, a factor of 2 cheaper than LabVIEW's starting version. The Standard version is $250. Some LabVIEW versions are an order of magnitude more expensive than that.

I didn't go to NI Week, but thanks to the videos and pictures posted here, I saw some of it. Didn't one of the presentations from NI have something to do with specializing in niche products, basically selling fewer units at I assume a higher price? Maybe NI is content with LabVIEW having the market that it does, and the niche that it does. That's up to them. It's their ball and they can take it and go home if they want. I'm just saying that from my point of view as a user, I think LabVIEW has wide applications and I think it would be great if it got more play.

Link to comment

QUOTE(TG @ Oct 18 2007, 12:36 PM)

I wrote this long winded thesis on why I am unhappy with NI's QC today then I realized things are best left unsaid.

I don't think that's fair. That's like saying "I know something you don't know" and then not telling us what it is. If that's the case, then why bother posting at all? IMHO, you should post your thoughts and ideas, rather than just posting that you have them.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.