LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

[OT?] LabVIEW is a 5G programming Language?

Hello,

While I realize that the question of whether LabVIEW is a programming language is an old question around here, I think I have found a new angle to approach this item with entrenched text-based users. In light of Jeff Kodosky's kenote at NI week, and the advanced LabVIEW features that seem to have reached a new level of dvelopment with the platform, I was hoping to get some feedback from the community.

 

I am an engineer by education and experience, but I am trying to update myself on Computer Science theory, and so I came across the theory of various 'generations' of programming languages, with assembly being the first gen, C++ and associated in the third generation, and application specific languages such as MySQL and Matlab being fouth gen.

 

It seems that 5th generation has not been 'truly' realized, but the last line of this Wikipedia entry seems to point at LabVIEW:

http://en.wikipedia.org/wiki/Fifth-generation_programming_language

 

"The likely next step to achieving full 5GL capabilities is with a graphical approach to easing programming."

 

Now, I don't seem to fully understand the 'contraint' concept that seems to be the tradeoff to 5th gen systems, which is why I am seeking input from the greater computer gurus. Thoughts on whether LabVIEW fits one of these generations, and maybe wireworkers and text based programmers are really in agreement, but using the wrong terminology, i.e. LabVIEW is a programming language, just a different generation, hence why it may be unreognized by 3rd G users at first?

 

Thanks!

Mello

 

 


Data Science Automation

CTA, CLA, CLED
SHAZAM!
Message 1 of 13
(5,971 Views)

I don't know anything about what you were talking about, but I don't see why it is so hard for text basers to start using LabVIEW. 

 

I started using LabVIEW last summer as a senior in Computer Science Engineering at the University of Michigan, where all of my coursework was in C++.  LabVIEW is like any other language I ever used, except that it has a different syntax.  Not unlike every other language I've programmed in.  The only thing that's different is it's inherently parallel.  Once you think about dataflow for 2 minutes though it becomes very clear how to program it.

 

 

--
Tim Elsey
Certified LabVIEW Architect
Message 2 of 13
(5,965 Views)
Perhaps it's a 4G language instead.
Message 3 of 13
(5,952 Views)
I would definitely say that, based on the definitions in the other thread, that LabVIEW is not a DSL.  It probably was, but now you can do just about whatever you'd please.  Even if it does excel at hardware interfacing..
--
Tim Elsey
Certified LabVIEW Architect
Message 4 of 13
(5,945 Views)

You're using pictures instead of text to code things.  Both are symbols for what eventually breaks down into machine language.  An admittedly rough analogy would be asking if Asian languages like Chinese are actual languages because they are based on pictures conveying ideas and not text.

 

Bill

 

Edit:

Oops, this isn't directly on topic.  Sorry.

Message Edited by billko on 08-20-2009 01:15 PM
Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 5 of 13
(5,944 Views)

I don't think the actual definition matters, but I don't think it would fit the 5GL model, as you are telling the computer exactly what to do (albeit in a way which abstracts more of the details).

 

While LabVIEW is not pure DSL, it is also not what I would consider a general purpose language. You can certainly use it to do many things which are not in its "natural" domain (I've done quite a few myself), but it's not as generic as C and for some of the things you would have to build a whole framework in LabVIEW, which would make them impractical. That said, it doesn't necessarily NEED to be a GP language - it doesn't need to do everything (just like you would use Python to write an Excel clone) and it does get better at doing what we need (and more of what we need) on more and more platforms.


___________________
Try to take over the world!
Message 6 of 13
(5,923 Views)

LabVIEW cannot be defined as a 'specific Generation' language since it's not a 'dead/static' language like latin or C.

I was discussing this with a colleague of mine who codes C# or any of it's textual family members, he mentioned that for LabVIEW it is quite easy to get new primitives/functionality, all there is needed is a passionate engineer at NI and a (financial) valid plan.

For C when they wanted to move object oriented they invented a new language (or even various ones), LabVIEW evolves and most likely will always be a little bit behind the buzz-functionality the latest and greatest text programming has, however it's evoluation can be fast since there isn't an endless list of committees, just one commercial party that needs involvment to keep generating money.

 

Ton

Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
Nederlandse LabVIEW user groep www.lvug.nl
My LabVIEW Ideas

LabVIEW, programming like it should be!
Message 7 of 13
(5,920 Views)

Seems to me that it's a $4.299G language, if you want the Professional version.

 

http://www.ni.com/labview/

Jim
You're entirely bonkers. But I'll tell you a secret. All the best people are. ~ Alice
For he does not know what will happen; So who can tell him when it will occur? Eccl. 8:7

Message 8 of 13
(5,883 Views)
I've always compared it to Java or the .NET Framework, since it requires a runtime that contains standard libraries that are required to execute code that is "compiled" (I like the word "built" better actually).  Keeping with the analogy, I would think that a "5G" graphical language would produce something in a 3G or 4G language that is then assembled into a 1G language and then compiled into machine code that can be executed.  This isn't really what LabVIEW does, though.  I think I also dislike this whole "#G" way of categorizing programming languages.  Why don't we just stick with it being a "high level" programming language and leave it at that.
Message 9 of 13
(5,868 Views)

Nickerbocker wrote:
I've always compared it to Java or the .NET Framework, since it requires a runtime that contains standard libraries that are required to execute code that is "compiled" (I like the word "built" better actually). 

So do "regular" programs. It just so happens that 99% of the "stuff" you need is already installed with the operating system.

Message 10 of 13
(5,853 Views)