Auf welchen Betriebssystem wird eure Software eingesetzt?
-
Multicode schrieb:
Auf welchen Betriebssystem wird eure Software eingesetzt und mit welcher Sprache sind eure Programme jeweils geschrieben? Nicht, welche OS möglich wären, sondern auf welchen eure Programme wirklich "produktiv" laufen.
Diese Denkweise ist aus dem letzten Jahrtausend und total veraltet.
Wenn du eine zeitgemäße, portable highlevel-sprache benutzt, dann laufen deine Programme auf "allen" wichtigen (Windows/Mac/Linux/BSD) Plattformen wirklich produktiv. Da brauchste nicht einmal irgendwas neu zu kompilieren. Einfach Programm schreiben, ausführen.Wenn deine Programme nur auf einem einzigen OS wirklich produktiv laufen, dann tust du mir Leid da du dir unnötige Grenzen auferlegt hast durch die Wahl der Programmiersprache.
-
Kenner der Grenzen schrieb:
Multicode schrieb:
Auf welchen Betriebssystem wird eure Software eingesetzt und mit welcher Sprache sind eure Programme jeweils geschrieben? Nicht, welche OS möglich wären, sondern auf welchen eure Programme wirklich "produktiv" laufen.
Diese Denkweise ist aus dem letzten Jahrtausend und total veraltet.
Wenn du eine zeitgemäße, portable highlevel-sprache benutzt, dann laufen deine Programme auf "allen" wichtigen (Windows/Mac/Linux/BSD) Plattformen wirklich produktiv. Da brauchste nicht einmal irgendwas neu zu kompilieren. Einfach Programm schreiben, ausführen.Wenn deine Programme nur auf einem einzigen OS wirklich produktiv laufen, dann tust du mir Leid da du dir unnötige Grenzen auferlegt hast durch die Wahl der Programmiersprache.
Sehr naive sichtweise, würdest du ernsthaft einem (potentiellen) Kunden sagen, dass deine Anwendung auf Plattform X läuft ohne sie dort jemals ausgiebig getestet zu haben?
Eben. Das mag vielleicht mit Anwendungen funktionieren die ausschließlich in sich existieren, wie es mit den meisten Beispielanwendungen aus Büchern über solche Sprachen der Fall ist. Aber sobald du mit der Ausenwelt in Verbindung trittst, durch IO, wirst du deine Anwendung auf allen offiziell unterstützten Plattformen testen wollen. Und das ist eine Kostenfrage und schon läuft deine Anwendung real auf deutlich weniger Plattformen.
-
z.Z. wird die Software in Matlab/Simulink modelliert, C-Code wird via TargetLink generiert und laufen tut das auf einem OSEK-OS.
-
ich, C (was denn sonst). Meine Software läuft nur unter GNU/Linux.
-
Tippgeber schrieb:
Sehr naive sichtweise, würdest du ernsthaft einem (potentiellen) Kunden sagen, dass deine Anwendung auf Plattform X läuft ohne sie dort jemals ausgiebig getestet zu haben?
Sofern du nix betriebssystemspezifisches im portablen Programm verwendest, dürfte an der Programmausführung an sich nichts anders sein zwischen den Platformen. Zumidnest würde ich es etwas testen. btw: ich rede nicht von portablen C,C++ code sondern von sprachen wie ruby und python.
Tippgeber schrieb:
Aber sobald du mit der Ausenwelt in Verbindung trittst, durch IO, wirst du deine Anwendung auf allen offiziell unterstützten Plattformen testen wollen. Und das ist eine Kostenfrage und schon läuft deine Anwendung real auf deutlich weniger Plattformen.
Wo liegt das Problem, das Programm auf mehreren Plattformen zu testen? Kostenfrage? Ich wüsste nicht, dass Linux bzw die BSDs etwas kosten würden. Bleiben nur noch die Kosten für windows und mac. Das sollte aber auch kein Problem darstellen. Und dann noch die "Kosten", die beim testen anfallen (Arbeitskraft). Aber ich kann mir kaum vorstellen, dass diese Kosten sich in irgend einer Art und Weise bemerkbar machen würden. Highlevel Sprachen haben schonmal sehr umfangreiche standard-libs, sodass ein Großteil der anfallenden probleme von der standard-lib abgedeckt wird. Somit ist das Verhalten (im Hinblick auf die implementierung unter den einzelnen Platformen) unter den einzelnen Platformen gleich bzw hat höchstens minimale Verhaltensunterschiede.
Und mal ehrlich:
Was sind schon die Kosten für das Testen auf einer Plattform, wenn einem sich dadurch eine deutlich breitere Kundschaft eröffnet? Und das ohne etwas am Code zu ändern (was in der Tat kostspielig werden könnte). Man muss die Applikation ja nicht umschreiben. Der einzige Aufwand besteht darin die Applikation zu testen und eventuell kleinere Ungereimtheiten (wenn überhaupt) zu beseitigen.
Wenn du den "Aufwand:Nutzen - Verhältnis" nun von diesem Standpunkt beobachtest, dann erscheint es sehr wohl sinnvoll portabel zu entwickeln. Zudem verbaut man sich damit nicht die Zukunft.
Stell die mal das Szenario vor, dass deine Applikation unter MacOS oder bsd/linux laufen soll und nicht unter windows (weil es der Kunde so wünscht). Der Kunde wird sich kaum dein Betriebssystem aufzwingen lassen, eher vergibt er den Auftrag jemand anders. Hast du deine Applikation aber systemspezifisch geschrieben, also nur für win-platform, dann entstehen für dich nun enorme Kosten, falls du deine Applikation komplett portieren, also umschreiben musst.
Hättest du vorausschauend gehandelt, würdest du jetzt enorm einsparen.
-
Kenner der Grenzen schrieb:
Und mal ehrlich:
Was sind schon die Kosten für das Testen auf einer Plattform, wenn einem sich dadurch eine deutlich breitere Kundschaft eröffnet?einer Erhebung zufolge lief Linux aber auf 2,8 % aller 2002 verkauften Rechner
wenn die zusatzkosten unter 2,8% sind, und ich gute gründe zur annahme habe, daß in einer open-source-gewohnten gemeinde ich ein paar käufer finde, dange ich an, bereit zu sein, darüber nachzudenken.
**Und mal ehrlich:
Vorher wäre es Unfug.
**
-
So, und jetzt erzählt mir vermutlich noch so'n Märchenonkel, die Kunden der
Win und Linux-Fraktion würde sich überdecken. Was ein Unfug.Da hatte der OP eine klare Frage gestellt und es kommt die übliche Debatte
"ich kann mit meinem OS weiter pinkeln". Ok, weiter so.
-
volkard schrieb:
Kenner der Grenzen schrieb:
Und mal ehrlich:
Was sind schon die Kosten für das Testen auf einer Plattform, wenn einem sich dadurch eine deutlich breitere Kundschaft eröffnet?einer Erhebung zufolge lief Linux aber auf 2,8 % aller 2002 verkauften Rechner
wenn die zusatzkosten unter 2,8% sind, und ich gute gründe zur annahme habe, daß in einer open-source-gewohnten gemeinde ich ein paar käufer finde, dange ich an, bereit zu sein, darüber nachzudenken.
**Und mal ehrlich:
Vorher wäre es Unfug.
**Die Verbreitung kann wegen der kostenlosen und dezentralen Verfügbarkeit nur schwer abgeschätzt werden. Zahlen liegen dementsprechend kaum vor, einer Erhebung zufolge lief Linux aber auf 2,8 % aller 2002 verkauften Rechner [1].
Deine URL sagt doch zugleich aus, dass man den Verbreitungsgrad nicht wirklich abschätzen kann, da es frei erhältlich ist. Außerdem gibts noch verschiedene Wege an die ISOs zu kommen. Es gibt auch genug Leute, die die ISO nicht von der offiziellen Seite laden sondern durch p2p Netzwerke. Die kann man noch weniger erfassen.
Außerdem: was interessiert mich eine Zahl von 2002. Das ist 7 Jahre alt.
Gerade im IT-Bereich sind 7 Jahre eine lange Zeit, da die Entwicklung doch recht schnell verläuft. Mich würden eher aktuelle zahlen interessieren, aber die kann man auch nur schwer bestimmen.Außerdem geht doch der Trend ganz klar zu alternativen Betriebssystemen. Und der Trend hält schon eine Weile an, so dass man ihn nicht vernachlässigen sollte. Man hört doch auch aus Deutschland öfters Meldungen, wo irgendwelche Institutionen auf alternative Bestriebssysteme umsteigen.
Man sollte beachten, dass "portabel entwickeln" praktisch null Mehraufwand bei der Programmierung mit sich bringt, wenn man die "richtige" Sprache wählt. (Das Testen der Applikation auf den einzelnen Plattformen sollte das geringste Problem sein).
Und wieso ziehst du bei deinem Beispiel nur Linux als Beispiel heran?
Es gibt bei weitem mehr als nur Linux. Da gibts noch einige BSDs und MacOs und Solaris etc. Wäre doch interessant zu wissen welchen Marktanteil alle diese Systeme haben. Oder in anderen Worten: alle Betriebssysteme die nicht Windows heißen.
-
Scheppertreiber schrieb:
Da hatte der OP eine klare Frage gestellt und es kommt die übliche Debatte
"ich kann mit meinem OS weiter pinkeln". Ok, weiter so.Falsch. Vielleicht solltest du mal genauer lesen worum es geht.
Hier geht es nicht "Betriebssystem vs Betriebswsystem".Hier geht es eher um:
"Betriebssystemspezifisch vs portabel"oder in andern Worten
"ein Betriebssystem vs alle denkbaren Systeme"
Das Entwickeln für _nur_ Linux/BSD halte ich auch für weniger effizient
-
Deshalb C. Klar.
-
Scheppertreiber schrieb:
Deshalb C. Klar.
Ich habe hier absolut garnichts von C geschrieben.
-
Zum Portieren gibt's aber kaum etwas besseres. Zur Not schreibt man damit auch gleich das OS
-
Multicode schrieb:
Auf welchen Betriebssystem wird eure Software eingesetzt und mit welcher Sprache sind eure Programme jeweils geschrieben?
geld verdiene ich nur für
windows mit *.cmd, *.vbs, *.mdb, demnächst ein wenig C
linux mit *.sh
dabei ist nichts auch nur andeutungsweise poetabel.
-
Scheppertreiber schrieb:
Zum Portieren gibt's aber kaum etwas besseres. Zur Not schreibt man damit auch gleich das OS
Schon mal was von höheren Sprachen gehört? Die (also die darin geschriebenen Anwendungen) soll man direkt auf einem anderen System ausführen können ohne irgendwas zu kompilieren zu müssen.
Dann musst du garnichts portieren. Weil von Haus aus portabel ist.
-
Gehört ja - überzeugt hat mich da nichts.
-
Kenner der Grenzen schrieb:
Scheppertreiber schrieb:
Zum Portieren gibt's aber kaum etwas besseres. Zur Not schreibt man damit auch gleich das OS
Schon mal was von höheren Sprachen gehört? Die (also die darin geschriebenen Anwendungen) soll man direkt auf einem anderen System ausführen können ohne irgendwas zu kompilieren zu müssen.
Schonmal daran gedacht, dass es für diese "höheren" Sprachen nicht immer eine Implementierung gibt? Und dass es einfach Dinge gibt die von Haus aus nicht portabel erschalgbar sind (Windows Registry, Systemdienste, spezielle Hardware die angesprochen werden muss, ...)....
-
delete me
-
Kenner der Grenzen schrieb:
Tippgeber schrieb:
Sehr naive sichtweise, würdest du ernsthaft einem (potentiellen) Kunden sagen, dass deine Anwendung auf Plattform X läuft ohne sie dort jemals ausgiebig getestet zu haben?
Sofern du nix betriebssystemspezifisches im portablen Programm verwendest, dürfte an der Programmausführung an sich nichts anders sein zwischen den Platformen. Zumidnest würde ich es etwas testen. btw: ich rede nicht von portablen C,C++ code sondern von sprachen wie ruby und python.
Ich auch, da sind wir uns also einig. Der Konjunktiv in deinem ersten Satz gibt mir recht.
Kenner der Grenzen schrieb:
Tippgeber schrieb:
Aber sobald du mit der Ausenwelt in Verbindung trittst, durch IO, wirst du deine Anwendung auf allen offiziell unterstützten Plattformen testen wollen. Und das ist eine Kostenfrage und schon läuft deine Anwendung real auf deutlich weniger Plattformen.
Wo liegt das Problem, das Programm auf mehreren Plattformen zu testen? Kostenfrage? Ich wüsste nicht, dass Linux bzw die BSDs etwas kosten würden. Bleiben nur noch die Kosten für windows und mac. Das sollte aber auch kein Problem darstellen. Und dann noch die "Kosten", die beim testen anfallen (Arbeitskraft). Aber ich kann mir kaum vorstellen, dass diese Kosten sich in irgend einer Art und Weise bemerkbar machen würden. Highlevel Sprachen haben schonmal sehr umfangreiche standard-libs, sodass ein Großteil der anfallenden probleme von der standard-lib abgedeckt wird. Somit ist das Verhalten (im Hinblick auf die implementierung unter den einzelnen Platformen) unter den einzelnen Platformen gleich bzw hat höchstens minimale Verhaltensunterschiede.
Falsch, du musst dort natürlich genau so den gesamten Umfang testen wie auf allen Plattformen. Bei dem geringen Marktanteil den schon Mac OS hat im Vergleich zu Windows hat muss es wohl überlegt sein das zu unterstützten, das heißt man muss im Vorfeld schon einmal überschlagen wie groß die Zielgruppe innerhalb dieser Gruppe ist. Große Unternehmen/Produkte können es sich natürlich auch "aus Prinzip" leisten. Linux hat dann noch weniger Marktanteil, dann noch der Trend dort auf OpenSource zu setzen, da muss man schon sehr genau überlegen ob man hierfür Support anbietet.
Und alle weiteren Betriebssysteme/Plattformen sind schon sehr speziell (mit den neueren Mobile-Plattformen kommt zwar noch etwas dazu, aber das ist ja erst im Kommen), da kann wohl schon getrost von Nischensoftware reden.Kenner der Grenzen schrieb:
Und mal ehrlich:
Was sind schon die Kosten für das Testen auf einer Plattform, wenn einem sich dadurch eine deutlich breitere Kundschaft eröffnet? Und das ohne etwas am Code zu ändern (was in der Tat kostspielig werden könnte). Man muss die Applikation ja nicht umschreiben. Der einzige Aufwand besteht darin die Applikation zu testen und eventuell kleinere Ungereimtheiten (wenn überhaupt) zu beseitigen.
Wenn du den "Aufwand:Nutzen - Verhältnis" nun von diesem Standpunkt beobachtest, dann erscheint es sehr wohl sinnvoll portabel zu entwickeln. Zudem verbaut man sich damit nicht die Zukunft.
Stell die mal das Szenario vor, dass deine Applikation unter MacOS oder bsd/linux laufen soll und nicht unter windows (weil es der Kunde so wünscht). Der Kunde wird sich kaum dein Betriebssystem aufzwingen lassen, eher vergibt er den Auftrag jemand anders. Hast du deine Applikation aber systemspezifisch geschrieben, also nur für win-platform, dann entstehen für dich nun enorme Kosten, falls du deine Applikation komplett portieren, also umschreiben musst.
Hättest du vorausschauend gehandelt, würdest du jetzt enorm einsparen.Ist nicht gesagt, wenn ich an einigen Stellen bewusst betriebssystemspezifische funktionen benutze, dann kann mir das die Entwicklungskosten sogar senken. Also ganz so pauschal kann man das dann doch nicht beurteilen.
Wie du sagst kann man ohne große Kosten schon einmal gute Grundlagen für das Portieren auf eine andere Plattform legen, aber aus Kostensicht kann es einfach wirtschaftlicher sein in einzelnen Fällen plattformabhängigen Code zu schreiben.
Dann ist es natürlich auch so, dass die Sprache/Bibliothek deiner Wahl wohl unter unterschiedlich stark genutzten Plattformen unterschiedlich gut ist, ist ja auch klar auf weniger genutzten Plattformen wird der Code weniger getestet, man investiert weniger Zeit in die Optimierung, etc.
Zumindest um das Testen kommst du nicht herum, aber da hast du mir ja auch nicht widersprochen.
-
Kenner der Grenzen schrieb:
Dann musst du garnichts portieren. Weil von Haus aus portabel ist.
Diesen Satz muss man unbedingt hier http://www.c-plusplus.net/lugen.htm aufnehmen
-
Tim schrieb:
Schonmal daran gedacht, dass es für diese "höheren" Sprachen nicht immer eine Implementierung gibt?
Worauf bezeihst du dich mit "Implementierung"? Auf den Interpreter/die Laufzeitumgebung? Oder auf vorhandene libs/APIS/Frameworks/bindings?
Falls Interpreter/Laufzeitumgebung:
Die bekanntesten "höheren" Sprachen haben für die "wichtigsten" (*hust*) Plattformen doch nen Interpreter/Laufzeitumgebung. Für windows/BSD/linux/os x wirst du mit sicherheit was finden.Falls libs/APIs/frameworks/bindings:
Es gibt immer mehr. Ich bin öfters erstaunt wenn ich selbst Anbidnungen dieser höheren Sprachen an typisches lowlevelzeuch (serialport ansteuern etc) finde. Die stdlib deckt schon einen großen Teil der Aufagen ab. Zudem gibts auch schon eine nicht vernachlässigbare Auswahl an "externen" libs/APIS/whatever. Und die Auswahl wird immer größer.