Auf welchen Betriebssystem wird eure Software eingesetzt?



  • 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.



  • Kenner der Grenzen schrieb:

    "wichtigsten" (*hust*) Plattformen

    Nachdem du selbst schon husten muss, brauche ich ja nichts mehr zu sagen 😉



  • 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?

    Write once, debug everywhere? 😃



  • Kenner der Grenzen schrieb:

    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).

    Irgendwie meine ich zu bemerken, dass Du noch keinen Einblick in ein gewinnorientiertes Softwarehaus bekommen hast. Liege ich da richtig?



  • Scheppertreiber schrieb:

    [C] Zum Portieren gibt's aber kaum etwas besseres.

    aber nur, wenn's dir gelingt, alles system- und architekturspezifische zu abstrahieren oder sonst irgendwie leicht austauschbar zu machen. sonst eher nicht. sonst hätte man java u.ä. auch nicht erfinden müssen.
    🙂



  • Mal abgesehen davon, daß man Java eh nicht hätte erfinden müssen 😉

    Da ist hauptsächlich CGI- und Cmdline-Programme mache ist der OS-spezifische
    Kram extrem klein, nicht relevant. Bei anderen wird das anders sein.

    Ich versuche, OS-spezifische Sachen außen vor zu lassen - um mir den Weg auf
    ein anderes OS (zB Linux) offenzuhalten.



  • Kompliment an den Troll! TR0LL-SKILLZ, YUO HAZ IT! 👍


Anmelden zum Antworten