LabVIEWForum.de - LV vs. textbasierte Programmierung (C, C++, .Net)

LabVIEWForum.de

Normale Version: LV vs. textbasierte Programmierung (C, C++, .Net)
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo, ich wollte mal wissen was ihr dazu meint...

Wenn jmd. C oder C++ oder sonstiges gelernt hat und dann zu LV einsteigt wird er sicherlich kaum Probleme haben... wenn es unter anderem auch um Programmstrukturen geht...

Wie sieht es denn mit Leuten aus die z.b. LabVIEW gelernt haben und gerne mal auf eine textbasierte Programmierung umsteigen möchten?
Fängt man da wieder irgendwo bei 0 an oder lohnen sich die LV-Erfahrungen?
Programmiert man im endeffekt genauso weiter nur das man einen gewissen Syntax erlernt? oder muss man sich von gewisse LV-Gedanken trennen und an die Sache neu rangehen?
Ich bin da folgender Meinung.

Wenn du sagst
' schrieb:Wenn jmd. C oder C++ oder sonstiges gelernt hat und dann zu LV einsteigt wird er sicherlich kaum Probleme haben
dann gilt das selbe auch für die andere Richtung!

Wer heute C++ programmiert, der denkt doch bestimmt objekt-orientiert. Nichts desto weniger muss er aber auch ein bestimmten Ablauf in seinem Programm einhalten. Ein "Ablauf" ist aber ein "Datenfluß".

Wer LV macht, denkt zwar in "Datenfluß". Aber er muss auch "Event-gesteuert" denken. Letzteres ist nichts weiter als OOP. Eine SubVI in LV kann als Objekt betrachtet werden mit allen objektspezifischen Gegebenheiten: Propertys, gekapselte Daten, Methoden etc.

Zitat:Fängt man da wieder irgendwo bei 0 an
Bei jeder Umstellung muss man bei Null anfangen. Woher soll ich wissen, dass ich in C++ {-Klammern setzen muss? Diese Erkenntnis heißt "von Null" anfangen.


Zitat:oder lohnen sich die LV-Erfahrungen?
Eigentlich muss ich sagen: nein.
LV-Erfahrung heißt: "Globale Variablen" werden in Schieberegistern in SubVIs gespeichert. Damit kannst du aber in C++ nichts anfangen.


Zitat:Programmiert man im endeffekt genauso weiter nur das man einen gewissen Syntax erlernt?
Trotzdem kann ich hier sagen: Ja.


Grundlegende Programmiertechniken gelten für alle Programmiersysteme: Unterprogramme, Datenkapselung, Eventgesteuert, Kein Polling verwenden, Queues, keine globale Variablen etc. etc.
Mir ist noch was eingefallen.

Das Wechseln von LV nach C++ ist einfacher als das Wechseln von C++ nach LV.

Und zwar bin ich da folgender Meinung.

Voraussetzung ist, dass du die allgemeinen, programmiersprachenunabhängigen Softwarebestimmungen wie Statemachine, Datenkapselung, Events etc. kennst. Dann ist der Einstieg in C++ einfacher. Warum? Eigenlich steigst du nicht in C++ ein - sondern in die IDE, die C++-Code versteht. Du musst dich also zuerst mit der IDE auseinandersetzen, danach erst mit der Programmiersprache als solcher. Die IDE aber (gut, ich hab kein C++, nur Delphi Rad 2007) lässt z.B. nur bestimmte Sachen zu, sodass du von vorne herein manche Fehler gar nicht erst machst.

In LV - respektive der IDE, die Datenfluß kann - sieht die Sache etwas anders aus. Da bekommst du graphische Symbole vorgesetzt, die du nur anklicken musst, positionieren und konfigurieren. Das dumme ist nur, da werden einem auch globale Variablen angeboten und keiner Überwacht die Einhaltung des Datenflußprinzips. Und dass es eine Eventstruktur gibt, die prinzipiell den Events in C++ entspicht, sagt dir auch keiner. Wenn du da mal falsch angefangen hast, bekommst du ganz schnell sporadische Fehler (ich sag immer "Dateninkonsistenzen"). Im schlimmsten Falle - ich sag nur User Gottfried - muss du alles verwerfen und komplett neu machen.

Fazit:
Egal nach wohin du umsteigst, du fängst - nein, du solltest immer "bei Null" anfangen. Nämlich mit dem Lesen der Einsteigertutorials.
danke dir für deine antworten...
du bestätigst mir das was ich mir insgeheime schon gedacht habe...

Dadurch das ich seit knapp 2 Jahren LabVIEW mache habe ich ein immer größer werdendes Fable für die Informatik entwickelt und
spiele mit dem Gedanken das auch zu studieren...

Das Studium hat dann in erster Linie nix mit LabVIEW zu tun, was mir auch bewusst ist.
Schließlich möchte ich in Zukunft nicht nur ausschließlich Messtechnikprogramme oder sonstige spezial Anwendungen entwickeln...

Deswegen wollt ich mich mal hier erkundigen ob Personen hier vielleicht den selben Weg schon gegangen sind und mir mit ihrer Erfahrung etwas auf dem Weg geben könnten...
Ich hatte mal irgendwann eine Tabelle passend zum Thema erstellt. Vielleicht hast du was davon:
http://www.LabVIEWportal.eu/de/einfuehru...-nachteile
Gruß
' schrieb:Das Studium hat dann in erster Linie nix mit LabVIEW zu tun, was mir auch bewusst ist.
Schließlich möchte ich in Zukunft nicht nur ausschließlich Messtechnikprogramme oder sonstige spezial Anwendungen entwickeln...

Deswegen wollt ich mich mal hier erkundigen ob Personen hier vielleicht den selben Weg schon gegangen sind und mir mit ihrer Erfahrung etwas auf dem Weg geben könnten...

Also mein Werdegang war etwas anders. Komme ursprünglich aus der Elektronik (habe Nachrichtenelektronik an der FH gemacht und dabei auch Programmierunterricht in Pascal (und sogar Assembler) gehabt) und kam eher durch Zufall mit LabVIEW in Berührung. Das Prinzip des LabVIEW Diagramms sprach mich umgehend sehr an, sicher auch weil ich das Ganze ja von elektischen Schaltplänen schon kannte.

Dass LabVIEW nur für Messprogramme und dergleichen eingesetzt werden kann finde ich übrigens gar nicht. Natürlich käme es mir nie in den Sinn ein Betriebssystem oder ein Textverarbeitungsprogramm in LabVIEW zu schreiben, abgesehen davon dass mir die entsprechenden theoretischen Kenntnisse dazu fehlen. Aber man kann in LabVIEW wirklich beinahe alles machen. Und für die low level Dinge nehme ich dann einfach noch ein wenig C.

Jedenfalls viel Erfolg auf Deinem weiteren Werdegang!

Rolf Kalbermatter
Referenz-URLs