37 Stimmen

Entwicklungszeit in verschiedenen Sprachen

Kennt jemand Untersuchungen oder Benchmarks darüber, wie lange es dauert, die gleiche Anwendung in verschiedenen Sprachen zu entwickeln? Eigentlich suche ich nach Java vs. C++, aber jeder Vergleich wäre nützlich. Ich habe das Gefühl, dass es in Code Complete einen Abschnitt zu diesem Thema gibt, aber mein Exemplar ist auf der Arbeit.

Bearbeiten:

Es gibt viele interessante Antworten auf diese Frage, aber es scheint ein Mangel an wirklich guter Forschung zu bestehen. Ich habe eine Vorschlag drüben bei meta über dieses Problem.

1voto

Ash Punkte 58914

Diese Frage ist ein wenig altmodisch. Die Konzentration auf die Entwicklungszeit allein aufgrund der Wahl der Sprache ist von begrenztem Wert. Es gibt so viele andere Faktoren, die den gleichen oder einen größeren Einfluss haben als die Sprache selbst:

  1. Die verfügbaren/verwendeten Bibliotheken oder Frameworks.
  2. Das geforderte Qualitätsniveau (d.h. die Anzahl der Fehler).
  3. die Art der Anwendung (z. B. GUI, Server, Treiber usw...)
  4. Das erforderliche Maß an Wartungsfreundlichkeit.
  5. Erfahrung des Entwicklers in dieser Sprache.
  6. Die Plattform oder das Betriebssystem, auf der/dem die Anwendung aufgebaut ist.

Viele würden zum Beispiel sagen, dass Java die bessere Wahl als C++ ist, um Unternehmensanwendungen (Line of Business) zu entwickeln. Dies liegt normalerweise nicht an der Sprache selbst, sondern daran, dass Java über bessere (oder ausgereiftere) Webserver und Datenbank-Frameworks verfügt. Das mag zutreffen oder auch nicht, aber das ist nicht der Punkt.

Sie können sogar feststellen, dass die Erstellung einer Anwendung mit dem dieselbe Sprache auf verschiedenen Betriebssystemen oder Plattformen führt zu sehr unterschiedlichen Entwicklungszeiten. Beispielsweise kann die Entwicklung einer GUI-Anwendung mit C++ unter Linux länger dauern als eine Windows-basierte GUI-Anwendung mit C++, da unter Linux weniger umfangreiche und ausgereifte GUI-Bibliotheken zur Verfügung stehen (auch dies ist umstritten).

0voto

Ken Punkte 437

Según Norvig Lutz Prechelt veröffentlichte einen solchen Artikel in der CACM vom Oktober 1999: "Comparing Java vs. C/C++ Efficiency Issues to Interpersonal Issues".

Norvig enthält einen Link zu diesem Artikel. Leider konnte die ACM trotz einer Bitmap-Grafik, die ihr Ziel "Advancing Computing as a Science & Profession" (Förderung der Informatik als Wissenschaft und Beruf) verkündet, nicht herausfinden, wie sie stabile Links auf ihrer Webseite aufrechterhalten kann, so dass es jetzt nur noch einen 404-Link gibt. Vielleicht kann Ihnen Ihre örtliche Bibliothek weiterhelfen.

0voto

no. Punkte 1

Diese Ada-Geschichte könnte eine ausgeschmückte Version dieser Geschichte sein: http://www.adaic.com/whyada/ada-vs-c/cada_art.html

0voto

puzza007 Punkte 171

Erlang vs. C++/Corba

"... Da der Erlang DCC weniger als ein Viertel der Größe einer ähnlichen C++/CORBA-Implementierung hat, sollte die Produktentwicklung in Erlang schnell und der Code wartbar sein. Wir kommen zu dem Schluss, dass Erlang und die zugehörigen Bibliotheken für die schnelle Entwicklung von wartbaren und hoch zuverlässigen verteilten Produkten geeignet sind."

Papier ici

0voto

ima Punkte 7865

Es gibt einen Grund, warum es in dieser Hinsicht keine wirklichen Vergleiche gibt, abgesehen von anekdotischen Beweisen (die sich für fast jede Sprache finden lassen).

Das Schreiben von Code nimmt nur einen relativ kleinen Teil der Zeit eines Entwicklers in Anspruch. Selbst wenn Sie mit einer Sprache die Programmierzeit um die Hälfte reduzieren können, wird dies am Ende des Projekts kaum spürbar sein. Design, Programmstruktur und Entwicklungsprozess sind viel wichtiger, und dann gibt es noch Bibliotheken, Werkzeuge und Erfahrung mit ihnen.

Einige Sprachen sind für bestimmte Entwicklungsprozesse besser geeignet als andere. Wenn Sie sich also auf ein Design und einen Prozess geeinigt haben, können Sie entscheiden, welche Sprache effizienter sein wird - aber nicht vorher.

(ich habe nicht bemerkt, dass es bereits eine ähnliche Antwort gibt, also können Sie diese ignorieren)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X