Simulation von Algorithmen
-
Hallo Forum,
ich arbeite seit langer Zeit mit C++ und habe mit der Sprache keine Probleme und bin sehr zufrieden. Jetzt habe ich aber eine kleine Frage, wenn ich einen Algorithmus finde, sei es in Büchern oder im Internet, sind die Beispiele und die Simulationen sehr häufig in Java geschrieben, was mich nicht weiter stört, denn wenn man es begriffen hat kann mann es portieren oder benötigt gar kein Beispielcode. Jedoch beschäftigt mich die Frage jetzt seit längeren warum die Simulationen von Algorithmen ehr in Java geschrieben sind als in C/C++. Liegt das daran, das Java besser geeignet ist für Simulationen? Oder bekomme ich da was in den falschen hals. Ich sehe es als kleinen Vorteil das Java eine Grafik lib mit bringt, Swing (oder?) Bei C++ muss ich mich halt mit SFML etc. rumschlagen. Ich sehe aber gereade bei Mathematischen Algorithmen C++ als vorteil (Operator Overloading). Gibt es also einen triftigen Grund warum viele Simulationen in Java geschrieben werden?
Ich habe mir mal einen Groben vergleich der beiden Sprachen angeguckt (http://www-rn.informatik.uni-bremen.de/lehre/c++/overview.pdf) und kann da eigentlich keinen Vorteil sehen...
Kann jemand mal aus dem Nähkästchen plaudern?
thx, simulant
-
Was meinst du mit der "Simulation von Algorithmen"? Was denn für Algorithmen? Was wird simuliert?
-
Bei relativ vielen Universitäten wird Java in den Programmierungseinführungsvorlesungen benutzt. Daher findet man relativ viele Sachen in dem Bereich in Java.
-
Taurin schrieb:
Was meinst du mit der "Simulation von Algorithmen"? Was denn für Algorithmen? Was wird simuliert?
Ich lese das als Beispiel/Referenz/Testimplementierungen. Und ja, da habe ich auch den Eindruck übermäßig oft Java-Code zu finden.
-
Tim schrieb:
Ich lese das als Beispiel/Referenz/Testimplementierungen. Und ja, da habe ich auch den Eindruck übermäßig oft Java-Code zu finden.
Genau das meine ich. Das viele unis Java als einstieg nehmen ist mir bekannt, ohne jetzt eine Sprache zu bevorzugen muss es ja irgend ein Grund geben warum viele Simulationen in Java vor zu finden sind. Es ist eine weit gefächerte frage, ich will mich da auch nicht spzialisieren, aber es ist bei mir so der Falls, das mit immer häufiger Java zeugs unter die Nase kommt, gerade wenn es um Simulationen von Algorithmen geht. Selbst Mathematische sachen (Simulation von Gleichungssystemen) Simulation ist so zu verstehen das man grafisch was sieht und nicht nur text ausgegeben wird.
-
Mit dieser etwas merkwürdigen Definition des Begriffs Simulation wird die Frage einfach zu beantworten:
Java ist eine der wenigen Sprachen, welche portabel, mit Standardmitteln und einigermaßen leserlich zur Anzeige von Grafiken taugen.
-
Es stimmt IMHO im Allgemeinen nicht, dass Beispielimplementierungen in Büchern typischerweise in Java gemacht werden. Es gibt auch jede Menge Bücher, in denen C oder C++ genutzt wird. Guck Dir den Foley an, oder Numerical Recipes. Viele Bücher nutzen auch einen Pseudocode. Das ist IMHO die beste Lösung.
Zur Visualisierung im Internet eignen sich Java-Applets natürlich ganz ausgezeichnet.
-
Gregor schrieb:
Es stimmt IMHO im Allgemeinen nicht, dass Beispielimplementierungen in Büchern typischerweise in Java gemacht werden.
Es wird jedenfalls in neuen Büchern sehr oft Java genommen, weils gerade in ist und man beim Java lernen schnell hübsche Resultate kriegt.
Gregor schrieb:
Zur Visualisierung im Internet eignen sich Java-Applets natürlich ganz ausgezeichnet.
Flash holt schnell auf.
-
weil java gut fuer fire&forget dinge ist und theoretisch ueberall laeuft und meistens auch alle libs mit sich hat. jemand der also so einen algorithmus abschreibt wird mit ziemlicher sicherheit auch ein programm haben nach nem javac aufruf.
bei c ging das auch noch einigermassen, aber bei c++ setzen viele zusatzlibs (z.b. boost) und gewisse header voraus und wenn man die nicht hat oder die nicht gepflegt wurden (wie z.b. glut) oder platform abhaengige apis (z.b. fuer file zugriff oder timer) nicht nutzen kann, muss man es nachimplementieren.
frueher hat man fuer sowas meist pascal genommen, weil das auch ueberall gebaut werden konnte und lief etc. wenn auch viele die syntax nicht mochten (wobei manche berufe z.b. metaltechniker bis heute sehr drauf setzen).