Welche Programmiersprache fuer welchen Zweck?

Hi,

Wenn man ein Anwendungsprogramm zum Testen von verschiedenen Drucksensoren schreibt, koennte man das doch in verschiedenen Programmierspreachen tun. In diesem Programm soll alles gemanagt werden, also von der Hardware (Treiber fuer die 2 Messkarten,
Bits der Sensoren lesen/schreiben) bis zum Verwalten und visualisieren von den gemesssenen Daten.

Waere das sinnvoll, in verschiedenen Programmiersprachen zu tun?
Momentan versucht uns „Programmierer“ alles, aber auch wirklich *ALLES* in Delphi4 zu pakken, selbst den Treiber fuern den PCI-Bus (was wohl nicht gelingen wird).

Mich wuerden ein paar Meinungen intressieren, wie ein erfahrener Programmierer sowas anfasst. Betriebssystem ist uebrigens, wie sollte es anders sein, Fenster98.

Li

Hallo Li,

Waere das sinnvoll, in verschiedenen Programmiersprachen zu
tun?

ich halte es es prinzipiell für gefährlich und auf die Dauer gesehen für Kosten intensiv mehrere Programmiersprachen zu verwenden. Ich habe dies einmal bei einer Firma machen müssen. Der Erfolg war, daß eine Hardware Änderung ein Update 3er Programmiersprachen erforderte. Eine kurze Zeit später auftauchende Änderung der Spezifikation verursachte ein Update bei 2 weiteren Programmiersprachen. Schließlich habe ich diese Firma verlassen. Dadurch ergab sich daß Problem, daß mein Nachfolger Sourcen in 7 Programmiersprachen hatte. Schließlich wurde ich durch 3 Leute ersetzt. (Sinnvoll ??? - Kostengünstig ???).

Momentan versucht uns „Programmierer“ alles, aber auch
wirklich *ALLES* in Delphi4 zu pakken, selbst den Treiber
fuern den PCI-Bus (was wohl nicht gelingen wird).

Auf der anderen Seite ist es häufig sinnvoll System nahe Programmierung in C/C++ oder ähnlichem zu gestalten und die Funktionalitäten über eine DLL zur Verfügung zu stellen. Dies ist für mich die einzige Ausnahme von der Regel.

Gruß
Uwe

Natürlich ist es immer besser so wenig Programmiersprachen wie möglich einzusetzen, eine wird aber nicht immer reichen.

Deswegen würde ich sagen wenn man es tut, dann ist das wichtigste, dass diesselbe Logik und derselbe Code nur einmal vorhanden sein darf, d. h. diesselbe Sache darf nicht von zwei verschiedenen Programmen getan werden, sonst passiert das was mein Vorschreiber angesprochen hat, man hat eine Änderung und trägt es an fünf verschiedene Stellen.

Solange man eine Programmiersprache verwendet, dann ist das kein Problem, da Code ohne weiteres in verschiedenen Programmen eingebunden werden kann.

Falls nicht, dann müssen entsprechende Schnittstellen existieren, Paradebeispiel wäre da z. B. COM/COM-DLLs oder die auch schon angesprochenen „herkömmlichen“ Windows-DLLs. Die Schnittstelle zwischen einem Programm und einem Treiber wäre auch so ein Fall, egal in welchen Sprachen die Programme geschrieben sind, sie können über Windows auf die Funktionalität des Treibers zugreifen.

Grüße, Robert

Hallo Li
Das einfachste wäre , das Programm für den DOS-Modus zu schreiben , zum Beispiel mit einem Freeware-Compiler Basic , welches I/O Befehle hat . Kostet gar nichts , an einem Nachmittag ist sowas fertig .
Manche machen soetwas auch mit dem Programm „Debug“ , dauert aber etwas lange , und ist eine Sysiphusarbeit(richtig?) .
Unter Windows ( egal welches ) braucht man Treiber oder dll,s für den I/O Zugriff mit den entsprechenden Privilegien zum Protected-Mode . Wie man das im Praktischen macht , weiß ich nicht genau , aber bei C Programmiersystemen ist oft ein Assembler integriert , den Assembler gibts auch separat , zur Zeit von Borland .
Mit Visual Basic geht es nicht , hier braucht man eine passende Interface-Dll . Diese gibts für Windows 95 , geht glaub ich auch noch für Windows 98 , aber nicht mehr für NT .
Ich habe soetwas im Internet gefunden , um den I/O Zugriff mit einem beliebigen Programmiersystem für Windows zu ermöglichen .
Dieses Programmiersystem , gleich welcher Art muß dabei nur Systemaufrufe machen können , also API-Calls , bzw. dll´s verwenden können .
Wenn es hohe Geschwindigkeitsanforderungen an den I/O-Zugriff gibt , möchte ich empfehlen , das ganze Programm und zugeordnete Bestandteile in Assembler zu schreiben .

Das könnte euch möglicherweise Hilfreich sein , glaube ich .

MfG
Matthias

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi,

ich würde auch versuchen, alles in einer Programmiersprache zu schreiben. Allerdings muß die reine Hardwareprogrammierung natürlich vom Rest der Anwendung streng getrennt sein. Zum Beispiel in einer eigenen dll, die man dann auch von anderen Anwendungen aus benutzen kann.

Gibt es keine Treiber für die Meßkarten von Hersteller? Oder habt Ihr die selbst gebaut?

Ich sehe keinen Grund, warum die Hardwareansteuerung unter Win98 nicht in Delphi programmierbar sein sollte. Assembler brauchst Du auf keinen Fall!

Eine Alternative für das grafische Interface und die Meßdatenverarbeitung wäre natürlich Labview oder etwas ähnliches, damit sollte es deutlich schneller gehen, sowas zu entwickeln, und flexibler ist es auch. Das kommt darauf an, ob sich die Einarbeitung in so ein Tool lohnt, denke ich. Für die eigentliche Hardwareansteuerung braucht man dann allerdings noch einen Treiber, den man ggf. in Delphi schreiben müßte.

Gruß,

Marcus