History of GOOP
From LabVIEW Wiki
|A Quote from an OpenG discussion forum posting from Mattias Ericsson to Jim Kring on: Tue 01 of Jul, 2003|
I heard your very interesting presentation about OO and OpenGOOP. In the presentation, the Endevo and NI GOOP was discussed and there was a little bit unclear who developed what.
The GOOP history began back in 1994 when Jörgen Jehander (one of the founders of Endevo) developed the first GOOP, actually taking advantage of his background as a C++ programmer and found a way of implementing OO in LabVIEW. This was a genuine LabVIEW implementation of the GOOP. There existed no Wizard back then. During 1994 and 1997 the GOOP went through many changes, especially the attribute synchronization and reference handling.
In 1997, a GOOP course, "LabVIEW System Design with GOOP" was held for the first time in Sweden and been held ever since and has also just recently started in the US.
In 1998-99 a cooperation began between Jörgen Jehander and Stepan Rhia from NI which started to developed the GOOP (the CIN based). The design was made both by Jörgen and Stepan, but it was Stepan who implemented both the CIN and the _goopsup.llb (included in LabVIEW 6 in vi.lib/platform). The reason why there is a CIN and not a LabVIEW implementation is that back then the performance was better with a CIN, but when LabVIEW 6 was launched (which has a much improved memory management) the benifits of using a CIN is gone. The GOOP Wizard 1.0, which might be download from ni.com, was developed in 1999 both by Jörgen and Stepan.
In 2002, Endevo launched a new GOOP Wizard 2, a new tool for creating and editing GOOP classes. This is not a new implementation of GOOP itself, but is only an improved Wizard with a lot of editing functionallity and also build-in icon generation. This Wizard is not distributed by NI, but may be bought from the Endevo homepage.
In 2003, a new GOOP, called GOOP2, is launched which has full support for inheritance (method and attribute inheritance, virtual methods and also static attributes) together with a new Wizard, the GOOP Wizard 3. This is sold as a new toolkit, GOOP Inheritance Toolkit. This new GOOP2 is a genuine LabVIEW implementation (no CIN, DLL or anything strange). More info, example code, white papers and demos may be downloaded from:
http://www.endevo.se/index.php/en/ (click on Products)
Hope this clears out a little bit about the NI and Endevo GOOP history (and future. The important is not which GOOP implementation to use, but to think and breath object-orientation...
Mattias Ericsson Endevo Project leader and main developer of the GOOP2, Wizard 2 and 3.