Go to Post Dean's probably sitting in his chair saying "Dance puppets, dance!" - [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
  #22   Spotlight this post!  
Unread 16-07-2012, 23:51
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,766
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: Team with beginner programmers?

Quote:
Labview can't natively be used in an OO style, by the way, as it has no concept of state. You'd have to pass around the state of the object to each method you want to call.
First off, I wanted to say that you did a good job on the language analysis. Kudos for getting deep into language features.

I thought I'd offer a few clarifications about LV. First off, LV really isn't purely functional, nor is it purely data flow. Pure data flow tends to use fork and join operators in order to make conditions and repetition, and in the end it is tedious and practically like using gotos. The authors intentionally merged the control structures with the more pure data flow expressions to create what they believe to be a more usable hybrid.

As for OO, it is true that initially LV didn't have objects or classes. About fifteen years ago an external Swedish company started adding OO to LV. They called it GOOP. There were a few others, and it was very interesting to see how each approached the extensions.

Ultimately, the LV team felt that in order to do it in a way that was more true to the language, we would need to do it internally. So perhaps 8 or ten years ago, the OO features started being integrated.

One of the more unique things you'll notice is that objects use by-value-semantics -- meaning that wires contain the value, rather than a reference to the value of the object. This is similar to how stack objects are done in C++. Anyway, this matches how LV does arrays, strings, and obviously scalars. It makes some OO algorithms trivial and complicates others a bit where the goal was really to create a topology of objects. In that case the user can define a reference type whose value copy can choose between a deep, shallow, counted, or other copy semantics. At this point, very little of the libraries that ship with LV are OO, but a good number of external professional SW development libs adopt it quite heavily.

Greg McKaskle
 


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


All times are GMT -5. The time now is 00:11.

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