Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#20

Re: DLL systemunabhängig?

  Alt 14. Aug 2007, 13:57
Zitat von Angel4585:
OK, das heisst man müsste Aufgaben definieren die die Software tun soll und dann schauen welche Sprache für diesen Bereich am geeignetsten ist?
Na ja, etwas mehr sollte man schon berücksichtigen. Natürlich ist es auch wichtig, welche Sprachen im Haus verwendet werden. Wenn es z.B. total super in Brainfuck gelöst werden könnte (glaube nicht, dass irgendwas gut in der Sprache lösbar ist), könnte der Code aber auf die meisten Leute doch etwas schwer Les-/Wartbar wirken. Auch wirst Du kaum für jedes Programm eine neue Sprache lernen wollen. Hast Du im Haus eine Abteilung, die für die Qualitätssicherung zuständig ist, so wirst Du sicherlich nichts nehmen dürfen, was die nicht verstehen (Verifikation des Codes wäre sonst etwas schwer).

Zitat von Angel4585:
In unserem Beispiel hiesse das, das die Software sehr viele Dateien vergleicht und kopiert.
Ausserdem soll sie als Dienst laufen und übre Netzwerk kommunizieren.
Also was Dateien angeht, da würde ich fast mal behaupten, dass der Java-Code ähnlich flink wie der C++ Code arbeiten sollte. Es hängt hier i.d.R. viel mehr vom Code selbst (was kann der Entwickler, was berücksichtigt er, ...) ab als von der verwendeten Sprache. Ich bekomme sicherlich ein Programm in C langsamer als das Äquivalent in einer interpretierten Sprache hin, ich muss eben nur schlecht genug arbeiten. Ein pauschales schneller gibt es halt nicht. Wichtiger ist deshalb eher, ob Du besser mit C++ oder Java zurecht kommst (wo es mehr Komponenten und Bibliotheken gibt, die Du verwenden möchtest, ...).
Netzwerk ist immer so ein Wort, wo viele Leute an Java denken. Java ist nun mal mit Netzwerken groß geworden und bietet von sich aus gleich eine ganze Menge schöner gekapselter Funktionen rund um das Thema Netzwerk. In C++ ist das eventuell (kenn mich da nicht so aus) anders, hier kann es sein, dass eher auf die direkte Schnittstelle des OS zurückgegriffen werden würde. Qt abstrahiert davon, stellt auch in C++ eine unabhängige Schnittstelle für solche Dinge bereit (vielleicht hat C++ die ja ohnehin). Die .nets dürften hingegen ähnlich wie Java arbeiten (aber kaum unter Linux voll unterstützt werden).

Zitat von Angel4585:
Ich weis das Java schneller als C++ ist wenns darum geht Objekte zu erzeugen. da es viele Dateien sein werden und jede vmtl ein Objekt sein wird, wäre das evtl ein Vorteil oder?
Ok, sagen wir mal dem ist so, der Hauptteil der Zeit vergeht aber nicht beim Erzeugen (und Freigeben) von Objekten, wichtiger erscheint doch häufig die Zeit die bei der Ausführung der Methoden vergeht, da kann das Bild dann anders aussehen (und diese Zeit dürfte die des Erzeugen häufig dominieren).
  Mit Zitat antworten Zitat