WinFuture-Forum.de: Java Oder C++ - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

Java Oder C++

#16 _Fenix_

  • Gruppe: Gäste

geschrieben 09. August 2004 - 00:11

Ich würde zu C/C++ raten. Nachdem du C kannst steht dir die Tür zu allem offen. Die meisten anderen Programmiersprachen [mal abgesehen von solchen Freaksprachen wie Brainfuck, Asm(ja zum normalen proggen ist es ne Freaksprache) oder Logo] sind alle sehr stark an C angelhent und der Umstieg ist extrem einfach. Lern einfach C halbwegs, schau dich dann noch mal bei anderen Sachen um und such dir dannach was zum spezialisieren raus.. Egal was, denn eigentlich bekommt man fast alles portiert. Sogar das MS heilige VB gibt es ja schon als Linux Version Gambas.
Und was Wissenschaft angeht.... bei allen sachen bei denen es nur um Berechnungen usw. von irgendwas geht nimmt kaum jemand C oder Java, sondern da hat Matlab die Krone auf...
0

Anzeige



#17 Mitglied ist offline   mip.net 

  • Gruppe: aktive Mitglieder
  • Beiträge: 111
  • Beigetreten: 01. Juli 04
  • Reputation: 0

geschrieben 09. August 2004 - 02:19

naja, das mit reverse engineering wär nicht weiter schlimm, da ich anfangs open source programmieren werde

danke für die antworten. werde jetzt mit c++ anfangen und dann kann ich mich immer noch für etwas anderes entscheiden. bin ja erst 14. ;)
0

#18 Mitglied ist offline   skonrad 

  • Gruppe: aktive Mitglieder
  • Beiträge: 86
  • Beigetreten: 06. Juni 03
  • Reputation: 0

geschrieben 09. August 2004 - 04:38

Zitat (Fenix: 09.08.2004, 01:11)

Ich würde zu C/C++ raten. Nachdem du C kannst steht dir die Tür zu allem offen. Die meisten anderen Programmiersprachen [mal abgesehen von solchen Freaksprachen wie Brainfuck, Asm(ja zum normalen proggen ist es ne Freaksprache) oder Logo] sind alle sehr stark an C angelhent und der Umstieg ist extrem einfach. Lern einfach C halbwegs, schau dich dann noch mal bei anderen Sachen um und such dir dannach was zum spezialisieren raus.. Egal was, denn eigentlich bekommt man fast alles portiert. Sogar das MS heilige VB gibt es ja schon als Linux Version Gambas.
Und was Wissenschaft angeht.... bei allen sachen bei denen es nur um Berechnungen usw. von irgendwas geht nimmt kaum jemand C oder Java, sondern da hat Matlab die Krone auf...


Ok, wenn es um Ingenieurswissenschaften geht, da ist Matlab ungeschlagen. Ein gutes C-Program kann zwar 1000 mal schneller sein (schon selbst getestet), aber dafuer ist Matlab sehr einfach und unterstuetzt sehr komplexe Funktionen. Wenn man mit Matrizen arbeitet kommt man an Matlab sowieso nicht vorbei.

Aber in Informatik oder so laeuft nix mit Matlab, und da hat Java C++ eigentlich schon den Rang abgelaufen... z.B. in momentan schwer erforschten Bereichen wie Dynamic Adaptation und Networking.
0

#19 Mitglied ist offline   Ich 

  • Gruppe: aktive Mitglieder
  • Beiträge: 287
  • Beigetreten: 11. März 02
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 09. August 2004 - 19:14

Ich würde aus 3 Gründen zu Java raten:

+ Rückwärtskompatibilität
+ Nachfrage am Markt
+ Interoperabilität

Dies lässt sich wie folgt begründen:

Sun verfolgt mit Java seit der Version 1.0 die Philosophie, dass alle alten Programme stets unter den neuen Versionen von Java laufen. Aus diesem Grunde hat man mit Java keine lästigen Abhängigkeiten und muss nicht nach 2 Jahren einen kompletten Rewrite machen, weil irgendwelche C Libs in die Jahre gekommen sind.

Das führt einen gleich zur Nachfrage am Markt: Große Firmen setzen aus genau diesem Grunde auf Java und es ist nie schwer als Java Coder einen gescheiten Job zu finden, was beim 0815 Visual C++ Coder derzeit etwas schwer fällt, da derzeit bereits C# aktuell ist... C++ ist zwar nett gemeint, aber leider schon in den Jahren und desweiteren auch nicht sonderlich gefragt.

Zur Interoüerabilität lässt sich natürlich sehr positiv die adhoc Lauffähigkeit auf allen Systemen sehr positiv bewerten. Wenn du closed Source Software schreiben willst, die Plattformunabhängig funktioniert, muss man stets drauf achen nicht nur Windows und Linux kompatibel zu sein, sondern auch darauf zu achten 23/64 Bit zu unterstützen, Mac, Win, BeOS,Linux, Sparc, Risc,..... da sitzt du Monate dran deine Versionen für alle Systeme bereitzustellen.

Der Nachteil ist natürlich, dass man sich die Virtual Machine installieren muss, aber ich denke dies dürfte das kleinere Übel sein.

Anwendungen die auf Java basieren sind übrigens garnicht so selten. Die Eclipse Entwicklungsumgebung, oder das Zend Studio für die PHP Entwicklung sind zwei für mich sehr wichtige Dinge, die ich fast täglich einsetze. Auch die Webseite map24.de ist in Java geschrieben und zudem noch ziemlich gut gemacht. Weiterhin wirst du sehr viele Individuallösungen für Firmen halt in Java finden.

C/C++ ist in meinen Augen einfach die schlechtere Wahl, weil es keine nennenswerten Vorteile mitbringt und derzeit auch selten gefragt wird.

Sollten dich andere Plattformübergreifenden Sprachen interessieren, so empfehle ich dir grade unter Linux mal einen Blick auf GTK oder insbesondere Python zu legen, was grade in jüngster Vergangenheit zum schreiben von KDE Anwendungen in Mode gekommen ist und sich auch auf andere Plattformen portieren lässt.

Eine ganz einfache Geschichte sind Anwendungen in PHP-GTK, die vollen Desktopkomfort bei einer Sprache, wie sie einfacher nicht sein könnte, bietet... Die Welt ist groß und die Auswahl beträchtlich ;)
Fatal error: Call to undefined function: brain() in head.php on line 2
0

#20 Mitglied ist offline   mip.net 

  • Gruppe: aktive Mitglieder
  • Beiträge: 111
  • Beigetreten: 01. Juli 04
  • Reputation: 0

geschrieben 09. August 2004 - 20:51

ok, jetzt bin ich total verwirrt.
ich hab noch eine frage, wird java auch zur spieleprogrammierung eingestzt?

EDIT: Ich hab mich jetzt doch umentschieden, ich werde jetzt java ausprobieren. danke für eure antworten

Dieser Beitrag wurde von mip.net bearbeitet: 09. August 2004 - 23:22

0

#21 Mitglied ist offline   Ich 

  • Gruppe: aktive Mitglieder
  • Beiträge: 287
  • Beigetreten: 11. März 02
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 10. August 2004 - 13:41

Java wird soweit ich weiß nicht für Spiele eingesetzt, obwohl es natürlich theoretisch möglich wäre... Spiele sind oft in C++ geschrieben. Allerdings nagelt man sich sehr stark an Microsoft fest, weil 85% der Tutorials und bücher sich auf Visual C++ beziehen. Übersetzenn kann man das nicht, weil jeder Hersteller einer IDE mit Macros und Libraries sein eigenes Süppchen kocht. Imho der größte Nachteil an C++

So far

Ich
Fatal error: Call to undefined function: brain() in head.php on line 2
0

#22 Mitglied ist offline   XDestroy 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.906
  • Beigetreten: 08. August 02
  • Reputation: 0

geschrieben 10. August 2004 - 15:48

java ist viel zu langsam. kommt halt drauf an was man coden will!
0

#23 Mitglied ist offline   Ich 

  • Gruppe: aktive Mitglieder
  • Beiträge: 287
  • Beigetreten: 11. März 02
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 10. August 2004 - 18:21

Zitat

java ist viel zu langsam. kommt halt drauf an was man coden will!


Das ist absoluter Unsinn und wir leider von zu vielen Leuten immer wieder propagiert.

Java ist beim ersten Start einer Anwendung etwas langsamer, weil erst in diesem Moment die Übersetzung in Maschinencode stattfindet. Dieser Code wird dann im Cache gespeichert und liegt genau wie ein c++ Programm im Maschinencode vor. Ab dann kannst du das Programm so oft starten wie du willst und er läd den Maschinencode immer aus dem cache.

Langsam wird jede Anwendung natürlich wenn man sie beschissen schreibt, oder sich lieber auf eine Garbage Collection verlässt anstatt Objekte sauber nach der Verwendung mit einem Ordentlichen destructor zu vernichten.

Ansonsten schreibe ich dir gerne jegliche Form von Anwendung in Java und sie wird messbar die gleiche Performance haben wie ein C++ Programm...

Zur Thematik von Java und Speed wurden übrigens sogar schon ganze Bücher mit guidelines geschrieben, die eigentlich alle im Grunde eine Aussage auf den Punkt treffen: Die Geschwindigkeit eines Programmes ist bei Java unmittelbar von der Sauberkeit des geschriebenen Codes abhängig.

Alles andere ist nur Propaganda von Leuten, die seit Java 1.2 keine specpapers mehr gelesen haben ^_^

Schönen Abend

Ich
Fatal error: Call to undefined function: brain() in head.php on line 2
0

#24 Mitglied ist offline   mo 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.794
  • Beigetreten: 17. Juni 02
  • Reputation: 0
  • Wohnort:Ulm / BaWü

geschrieben 11. August 2004 - 11:20

für java gibt es mittlerweile auch 'echte' kompiler, siehe den gnu java compiler.
ich, ohm java kann objekte freigeben? wie?
I'm mó. mo's good twin.
0

#25 Mitglied ist offline   skonrad 

  • Gruppe: aktive Mitglieder
  • Beiträge: 86
  • Beigetreten: 06. Juni 03
  • Reputation: 0

geschrieben 11. August 2004 - 14:43

@Ich: FULL ACK

Uebrigens, wir sollten aufhoeren Java und C++ zu vergleichen, weil das sind Aepfel und Birnen. Wenn vergelichen, dann C# und Java.

Dieser Beitrag wurde von skonrad bearbeitet: 11. August 2004 - 14:43

0

#26 Mitglied ist offline   Ich 

  • Gruppe: aktive Mitglieder
  • Beiträge: 287
  • Beigetreten: 11. März 02
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 11. August 2004 - 17:10

@mo

destruct() ? oder wenn man es nicht so hart machen will detach() ....
Fatal error: Call to undefined function: brain() in head.php on line 2
0

#27 Mitglied ist offline   uberdose 

  • Gruppe: aktive Mitglieder
  • Beiträge: 36
  • Beigetreten: 02. August 04
  • Reputation: 0

geschrieben 12. August 2004 - 17:01

Zitat

Ab dann kannst du das Programm so oft starten wie du willst und er läd den Maschinencode immer aus dem cache


Java Programme werden bei JEDEM Start von der virtual machine (JVM) interpertiert. Mit einem JIT (just in time compiler) werden manche Stellen direkt in Maschinencode übersetzt, aber eben immer noch bei jedem Programmstart.

Zitat

Ansonsten schreibe ich dir gerne jegliche Form von Anwendung in Java und sie wird messbar die gleiche Performance haben wie ein C++ Programm...


Das glaub ich aber kaum. Eine Swing-Oberfläche wird immer etwas träger reagieren als ein VC-Äquivalent (wobei Swing natürlich auch viel flexibler ist). Und wenn es um number crunching geht ist C++ so gut wie immer überlegen (gleiche Hardware vorausgesetzt).

Java ist weitaus portabler als C++ aber eben auch langsamer. Also wenn Du wirklich mal professionelle Spiele programmieren willst ist C++ erste Wahl. (Doom 3 ist ja auch nicht in Java). Aber Du kannst auch in Java 3D Spiele schreiben, aber eben ohne High-Tech Grafik.
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0