Go to Post Whatever the rule, MAKE IT CLEAR. - Bill Beatty [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
 
 
Thread Tools Rate Thread Display Modes
Prev Previous Post   Next Post Next
  #12   Spotlight this post!  
Unread 04-01-2009, 13:39
GregT GregT is offline
Registered User
no team
 
Join Date: Jul 2001
Rookie Year: 2001
Location: FL
Posts: 400
GregT will become famous soon enough
Send a message via AIM to GregT
Re: total noob question :)

Quote:
Originally Posted by 1075guy View Post
I don't know Alan, I use LabVIEW at work, and I'm more used to traditional (C/C++/BASIC/etc) style programming, and I wouldn't even really consider G to be a "language" per se. I like to refer to LabVIEW/G as "Programming with flow-charts."
LabVIEW's "G" language is a Dataflow programming language. Dataflow programming started to gain popularity in the late 70's / early 80's with the emergence of supercomputers supporting large levels of concurrency.

Dataflow programs are referred to as "data driven" because the flow of execution is determined by the availability of data in the program, not a sequential order. When you write a program in a structural language like C or C++, execution of commands (lines) must occur in sequence (although this order can be somewhat controlled by the use of threads).

Dataflow programming languages, such as LabVIEW, don't impose this restriction. Any part of the program can be executed at any time, depending on when the individual components receive inputs (in LabVIEW, this happens along the wires).

A dataflow program consists of a set of actors (in LabVIEW they are called components) connected by relations (wires). When an actor has received all the information it needs to perform its assigned computation (ex. an addition actor needs two inputs, A and B, to perform A+B) it does so and passes the result along wires to connected actors. In this way, data propagates through the program to the other actors.

This is all really cool because, by default, Dataflow programs are highly concurrent. Any actor can perform its assigned work whenever it has data available- even at the same time as other actors! While this isn't terribly useful for our controller, as normal desktop CPU's keep getting more and more processing cores, this type of programming has the potential to become very important. Free concurrency!

My point is, don't feel like you need to learn C or C++ to program competitively in the competition this year. Many experienced programmers don't like LabVIEW because it is radically different from what they are comfortable with. While I haven't familiarized myself with the new control system, LabVIEW as a programming language can be just as powerful as C++. Any difference is due to a more optimized compiler / architecture.

LabVIEW is not necessarily less powerful than C++, it's just different.

See also:
http://en.wikipedia.org/wiki/Dataflow_programming
http://www.cs.ucf.edu/courses/cda415...rcomputers.pdf
__________________
The above was my opinion. I'm wrong a lot. I'm sarcastic a lot. Try not to take me too seriously.

Last edited by GregT : 04-01-2009 at 13:43.
 


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Programming Help For The Noob thevexkid VEX 8 04-09-2006 18:27
total motors ? A.Lathrop Motors 1 09-02-2006 18:23
Karel++ Noob help henryBsick Programming 4 08-09-2005 16:03
Is it just me or this a total Love In? archiver 2001 11 23-06-2002 22:41


All times are GMT -5. The time now is 10:03.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi