# Unterschiede: C++ vs. C# vs. Java



## chuvak (14. Sep 2010)

Kennt jemand vielleicht eine (aktuelle) Quelle, wo relevante Unterschiede zwischen den Programmiersprachen C++, C# und Java aufgeführt werden?
Ich habe mich bis jetzt größtenteils mit Java und etwas C# beschäftigt. Jetzt überlege ich, welche Sprache/n zukunftsrelevanter ist/sind und wo ich mein Wissen vertiefen sollte.


----------



## Atze (14. Sep 2010)

es kommt wohl immer drauf an, was du in zukunft vor hast! mit c# bindest du dich an windows, mit java und c++ hälst du dir noch n bischen was offen. performance-mäßig sollte es da nicht wirklich viel unterschied geben, c++ liegt da vielleicht n quäntchen vorn, darüber lässt sich aber streiten!


----------



## ARadauer (14. Sep 2010)

c# vs Java ist meiner Meinung nach Geschmacksache. Von der Syntax sind sie sehr ähnlich, von der Philosophie dahinter sind es zwei verschieden Welten!

C++? Bist du Game Developer oder Masochist, dann ja. Sonst eher nein ;-)


----------



## Sonecc (14. Sep 2010)

c# ist AFAIK auch unter Linux nutzbar


----------



## Atze (14. Sep 2010)

ist c# nicht ne .net sprache? .net und linux passen für mich nicht wirklich zusammen!


----------



## Sonecc (14. Sep 2010)

.Net ist teil des Standards, aber nicht zwingend notwendig. Novell hat dafür das Mono Projekt entwickelt, welches eben den Einsatz von c# in Linux ermöglicht

Edit: Oh - Ein Link - *klick*


----------



## Atze (14. Sep 2010)

danke  wußte ich nich!


----------



## chuvak (14. Sep 2010)

ARadauer hat gesagt.:


> C++? Bist du Game Developer oder Masochist, dann ja. Sonst eher nein ;-)



Ich ich habe mit Beidem nichts am Hut, dann kann ich C++ wohl abhaken ;-)


----------



## Tomate_Salat (14. Sep 2010)

ARadauer hat gesagt.:


> C++? Bist du Game Developer oder Masochist, dann ja. Sonst eher nein ;-)



Übertreiben wir da nicht ein bisschen :autsch:?


----------



## Sonecc (14. Sep 2010)

Tomate_Salat hat gesagt.:


> Übertreiben wir da nicht ein bisschen :autsch:?



Typische Java > C++ Diskussion..


----------



## frapo (14. Sep 2010)

Sonecc hat gesagt.:


> .Net ist teil des Standards, aber nicht zwingend notwendig. Novell hat dafür das Mono Projekt entwickelt, welches eben den Einsatz von c# in Linux ermöglicht
> 
> Edit: Oh - Ein Link - *klick*



Wobei man aber sagen muss, das Mono in vielen Bereichen hinterherhinkt. Beispielsweise WindowsForms (also GUI). Dies ist nämlich nicht freier Standard, sondern M$-Eigentum. In der Hinsicht läuft also mal wenig in Sachen Portierbarkeit bzw. Platformunabhängigkeit.
Auch der WinForms-Nachfolger WPF wird unter Mono nicht implementiert werden (WPF - Mono).

Also diese vielgerühmte Lauffähigkeit von .NET-Anwendungen ausserhalb der M$-Welt , beschränkt sich auf gewisse Bereiche (z.B. ASP.NET).


----------



## maki (14. Sep 2010)

Sonecc hat gesagt.:


> Typische Java > C++ Diskussion..


Ja, leider...

C wäre übrigens etwas dass man immer kennen sollte, wird auch so schnell nicht verschwinden, und nein, C und C++ sind nicht dasselbe.


----------



## Sonecc (14. Sep 2010)

frapo hat gesagt.:


> Wobei man aber sagen muss, das Mono in vielen Bereichen hinterherhinkt. (...)



Hab damit auch nur klarstellen wollen, dass C# nicht zwingend Windows bzw. Microsoft erfordert, sondern eben auch ohne läuft und das ist nunmal fakt. Wie gut oder schlecht ist irrelevant (und mir persönlich auch unbekannt)


----------



## ARadauer (14. Sep 2010)

Tomate_Salat hat gesagt.:


> Übertreiben wir da nicht ein bisschen :autsch:?



kann schon sein..

@chuvak: Welche Richtung interessiert dich den? Desktop, Web, Hardwarenahe Thmenen?
Games, Business,... ?


----------



## frapo (14. Sep 2010)

Sonecc hat gesagt.:


> Hab damit auch nur klarstellen wollen, dass C# nicht zwingend Windows bzw. Microsoft erfordert, sondern eben auch ohne läuft und das ist nunmal fakt. Wie gut oder schlecht ist irrelevant (und mir persönlich auch unbekannt)



Und ich wollte nur klarstellen das es auch Fakt ist, das man Mono sicher nicht uneingeschränkt als echtes .NET für Linux ansehen kann.
Da bräuchte es etwas mehr zu als nur C# zu implementieren. .NET ist ein Framework das nur auf einem System 100% zur Verfügung steht. Das ist ja eben der Unterschied zu Java und und dem Java-Framework.

Aber ich denke wird sind uns ja einig. Prinzipiell läuft C# unter Linux.


----------



## Sonecc (14. Sep 2010)

@Frapo: ja, da sind wir uns einig  (Bei allem davor übrigens auch, war nur für meine Feststellung unerheblich^^)


----------



## chuvak (14. Sep 2010)

ARadauer hat gesagt.:


> @chuvak: Welche Richtung interessiert dich den? Desktop, Web, Hardwarenahe Thmenen?
> Games, Business,... ?



Also Spiele interessieren mich gar nicht, Hardwarenähe wenig.
Ich interessiere mich eher für Desktop, evtl. Web und Mobile.


----------



## Tomate_Salat (14. Sep 2010)

Dann fährst du wohl am besten mit Java. C# wird wenn, dann denke ich nur auf Windowsphones gehen und C++ weis ich nicht, ob man soetwas ohne weiteres heutzutage auf dem Handy installieren kann. Für die anderen 2 Punkte bieten alle Sprachen meines Wissens nach gute umsetzungsmöglichkeiten.

MFG

Tomate_Salat


----------



## ice-breaker (14. Sep 2010)

chuvak hat gesagt.:


> Also Spiele interessieren mich gar nicht, Hardwarenähe wenig.
> Ich interessiere mich eher für Desktop, evtl. Web und Mobile.


Für Mobile ist dann aber wieder die Plattform relevant, denn da kocht jeder sein eigenen Süppchen.


----------



## Atze (14. Sep 2010)

ice-breaker hat gesagt.:


> Für Mobile ist dann aber wieder die Plattform relevant, denn da kocht jeder sein eigenen Süppchen.



ja, aber ich denke, dass man bis auf einige außnahmen mit java / andriod am weitesten kommt!


----------



## ice-breaker (15. Sep 2010)

so pauschalisieren würde ich es nicht 
Wenn deine Zielgruppe kein Android ist, kannst du mit Android bzw. Java auch nix anfangen.

Rein aus der Entwicklersicht ist imho z.B. auch Android absolut unrentabel und uninteressant, eine viel zu hohe Fragmentation um effektiv zu entwickeln: Android-Version (angeblich geht die Fragmentierung gerade stark zurück), Display-Größen (jeder Hersteller kocht sein eigenes Süppchen), Leistung der Hardware (sehr stark abweichend) usw


----------



## Marco13 (15. Sep 2010)

Hm. Das sollte doch eigentlich keine Rolle spielen!?

(Dieser Beitrag wurde mit Windows 3.1 auf einem 386 DX 40 geschrieben, und funktioniert am besten mit dem Internet Explorer 2.0 bei einer Auflösung von 640x480 und mindestens 256 Farben :joke: )


----------

