|
You last visited: Today at 02:39
Advertisement
Ist C++ noch aktuell?
Discussion on Ist C++ noch aktuell? within the General Coding forum part of the Coders Den category.
04/16/2012, 19:06
|
#1
|
elite*gold: 0
Join Date: Jul 2010
Posts: 475
Received Thanks: 130
|
Ist C++ noch aktuell?
Hi,
Zahlt es sich noch aus mit C++ anzufangen? Habe lange gezögert, zwei meiner Programmierprofessoren meinten es ist mittlerweile veraltet und haben mir in richtung C#, java geraten. Wie seht ihr das?
|
|
|
04/16/2012, 19:11
|
#2
|
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
|
natürlich ist c++ aktuell, mit c++ kannst du u.a. die schnellsten programme schreiben und grundsätzlich auch cross kompatiblen code!
c# lässt sich nur auf windows ausführen (oder mindestens einem emulator), java hat auch nur eine vm die (bei aufwändigen sachen) auch extrem leistung benötigt (siehe minecraft)
|
|
|
04/16/2012, 19:42
|
#3
|
elite*gold: 50
Join Date: Mar 2010
Posts: 1,373
Received Thanks: 521
|
Wenn man sich an aktuelle C++ Standards hält ist C++ keineswegs veraltet.
Java und C# sind, meiner Meinung nach, pefekt für Anwendungssoftware geeignet. Sie bieten schon im Standardumfang Möglichkeiten für GUI- und Datenbankprogrammierung an. Im Falle von C++ müsste man hierbei schon auf Bibliotheken von dritten zurückgreifen.
|
|
|
04/16/2012, 20:17
|
#4
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
C++ > C# >>>>>>> Java (> C @Coxxy :P)
C++ ist nicht veraltet, es bekommt andauernd Aktualisierungen und versuch mal mit C# oder Java Treiber zu schreiben.
Finds jedes Mal lustig, wenn irgendwelche Pseudo-Wahrsager meinen, C++ würde langsam aber sicher verschwinden und Platz für virtuelle Sprachen wie C# oder Java machen
Quote:
|
c# lässt sich nur auf windows ausführen (oder mindestens einem emulator), java hat auch nur eine vm die (bei aufwändigen sachen) auch extrem leistung benötigt (siehe minecraft)
|
C# und Java sind dafür aber crossplattform, C++ Code musst du jedes mal neukompilieren und das klappt auch nur, wenn du standardkonform programmierst.
|
|
|
04/16/2012, 21:58
|
#5
|
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
|
Quote:
Originally Posted by MrSm!th
C++ > C# >>>>>>> Java (> C @Coxxy :P)
C++ ist nicht veraltet, es bekommt andauernd Aktualisierungen und versuch mal mit C# oder Java Treiber zu schreiben.
Finds jedes Mal lustig, wenn irgendwelche Pseudo-Wahrsager meinen, C++ würde langsam aber sicher verschwinden und Platz für virtuelle Sprachen wie C# oder Java machen
C# und Java sind dafür aber crossplattform, C++ Code musst du jedes mal neukompilieren und das klappt auch nur, wenn du standardkonform programmierst.
|
C# is crossplatform? kein windoof emu?
und java ist klar, nur da wären wir wieder beim thema, was ist wirklich crossplattform? darauf hätte ich jetzt keine lust, passt ausserdem nicht hier rein!
wie du schon sagst, wenn man c++ nach dem standard coded hat man zwischendrin nur einige extra zeilen, die man per ifdef oder ifndef je nach platform verwenden kann! allerdings ist es diese extra arbeit für das endergebnis wert
|
|
|
04/16/2012, 22:38
|
#6
|
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
|
wurde praktisch schon alles gesagt, nur dass mrsmith wohl versehentlich c ans ende verschoben hat...
__asm shl c, 3;
für geschwindigkeit-/platzoptimiertes programmieren ist C/C++ immer "noch" die sprache(n) der wahl.

kürzlich hat C auch wieder java im tiobe sprachindex überholt 
(C++ dümpelt da eh "nur" auf platz 3 rum  )
Stimme aber smith zu, Sprachen wie C/C++ werden nie verschwinden, da man immer geschwindigkeitsoptimierte programmierung brauchen wird.
asm ist ja auch noch nicht weg und wird auch nie vollständig verschwinden.
C wird sich aufgrund der einfachheit (von der sprache her, nicht unbedingt vom code) gegenüber C++ halten.
Merken die Leute jetzt zu zeiten der Cloud wieder, dass laufzeit auch noch zählt^^
|
|
|
04/17/2012, 16:52
|
#7
|
elite*gold: 5
Join Date: Sep 2006
Posts: 385
Received Thanks: 218
|
Quote:
Originally Posted by HeavyHacker
C# is crossplatform? kein windoof emu?
und java ist klar, nur da wären wir wieder beim thema, was ist wirklich crossplattform? darauf hätte ich jetzt keine lust, passt ausserdem nicht hier rein!
|
C# ist zumindest theoretisch Plattformunabhängig. Es muss nur eine CLR für das entsprechende System erstellt werden.
@TE:
C++ ist aktueller denn jeh! Auf Channel9 wird sogar von einer C++ Revolution gesprochen, die zur Zeit stattfindet! Du bist also nicht alleine und darfst davon ausgehen, dass auch noch in 20 Jahren C++ eine der aktuellen Sprachen ist!
|
|
|
04/18/2012, 21:22
|
#8
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Quote:
|
C# is crossplatform? kein windoof emu?
|
Für Mac und Linux gibts Mono.
Quote:
|
und java ist klar, nur da wären wir wieder beim thema, was ist wirklich crossplattform? darauf hätte ich jetzt keine lust, passt ausserdem nicht hier rein!
|
Ähm ja. Nach meiner Definition theoretisch nicht, da es nur auf der JVM läuft, aber nach der allgemein gültigen Definition selbst verständlich. Java läuft überall, wo Java installiert ist. C++ kannste immer neukompilieren, du brauchst natürlich auch einen entsprechenden Compiler und nebenbei können APIs sich unterscheiden.
Quote:
|
wie du schon sagst, wenn man c++ nach dem standard coded hat man zwischendrin nur einige extra zeilen, die man per ifdef oder ifndef je nach platform verwenden kann! allerdings ist es diese extra arbeit für das endergebnis wert
|
Wenn man standardkonform programmiert, braucht man gar keine #ifdefs.
Die brauchst du erst, wenn du systemabhängige APIs nutzt und die sich halt unterscheiden.
|
|
|
04/26/2012, 19:46
|
#9
|
elite*gold: 37
Join Date: Apr 2012
Posts: 279
Received Thanks: 31
|
C++ ist alt , aber nicht veraltet!
Das meiste wurde ja gesagt, für Treiber, leistungsintesieve Anwendunge, vile Game Engines usw. ist C++ unerlässlich.
Auserdem finde ich ganz nebenebei erwähnt, dass man mit einem guten C++ Buch einen richtig Tiefen Einblick in die Methoden bekommt, wie ein computer überhaupt Arbeitet, was bei "neueren" Sprachen oftmals verloren geht...
|
|
|
04/26/2012, 20:03
|
#10
|
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
|
wenn einen interessiert wie ein computer arbeitet -> ASM -> C.
|
|
|
04/26/2012, 20:17
|
#11
|
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
|
Quote:
Originally Posted by Dr. Coxxy
wenn einen interessiert wie ein computer arbeitet -> ASM -> C.
|
was willst du mit c?
in dem fall nur asm
|
|
|
04/26/2012, 20:25
|
#12
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Quote:
Originally Posted by -Chin-
C++ ist alt , aber nicht veraltet!
Das meiste wurde ja gesagt, für Treiber, leistungsintesieve Anwendunge, vile Game Engines usw. ist C++ unerlässlich.
Auserdem finde ich ganz nebenebei erwähnt, dass man mit einem guten C++ Buch einen richtig Tiefen Einblick in die Methoden bekommt, wie ein computer überhaupt Arbeitet, was bei "neueren" Sprachen oftmals verloren geht...
|
Das liegt daran, dass man mit ihnen ohnehin nicht auf die Hardware zugreifen kann und sie ja auch genau dafür entwickelt wurden, den PC zu abstrahieren.
Was Coxy sagt is Blödsinn :> Wer wissen will, wie ein PC funktioniert, lernt, wie ein PC funktioniert und ggf. ASM. C hat damit wenig (in Worten: gar nichts) zu tun.
Wenn man das ganze in einer Hochsprache verpacken möchte, kann man dafür genau so gut C++ nehmen.
|
|
|
04/26/2012, 20:25
|
#13
|
elite*gold: 0
Join Date: Feb 2009
Posts: 2,347
Received Thanks: 552
|
Quote:
Originally Posted by HeavyHacker
was willst du mit c?
in dem fall nur asm 
|
Ich persönlich bevorzuge eigentlich Flat Assembler und wenn es etwas mehr in Richtung High(er)-Level gehen soll C. Finde C++ in sich nicht ganz so konsistent, auch wenn es einem in sehr vielen Bereichen die Arbeit (im Gegensatz zu älteren C Standards) stark erleichtert. Fängt schon bei den Vektoren an. Hab mich allerdings nie wirklich mit C++ anfreunden können.
Der extreme Vorteil von C# u.ä. ist der, dass sich ein Programm immer an die modernen CPU Flags und Hardwareeigenschaften anpassen wird, da der Code ja zur Laufzeit an deine Hardware angepasst wird (JIT-Debugger). Um dies bei C++ (oder aber auch Assembler) Projekten zu erreichen, musst du stets den Code neu kompilieren, da ein früher kompiliertes Programm nicht für die aktuelle Hardware angepasst ist. Vergleichst du also zum Beispiel heute ein C++ Programm, welches vor 10 Jahren kompiliert wurde, mit einem äquivalenten C# Programm, wirst du vermutlich bemerken, dass das C# Programm schneller ausgeführt wird als das C++ Programm.
Ich programmiere auch beruflich sehr viel zeitkritische Anwendungen. Wenn ich alles aus meiner aktuellen Hardware rausholen möchte, nehme ich selbstverständlich Assembler (wenn ich mir aktuelle GCC Versionen ankucke bauen die teilweise doch noch ne Menge Scheiße). C# hingegen mag heutzutage zwar noch einige Bottlenecks haben, wird aber in Zukunft definitiv noch um einiges schneller werden.
|
|
|
04/26/2012, 20:53
|
#14
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Nur eine kleine Korrektur:
Quote:
JIT-Compiler wenn schon ;O
[/klugscheiß]
Ansonsten sehe ich das so ziemlich genau so, wobei ich die Inkonsistenz bei C++ nicht wirklich sehe bzw. sie mich nicht stört, aber das ist ja Ansichtssache.
|
|
|
04/26/2012, 20:59
|
#15
|
elite*gold: 1329
Join Date: Jun 2009
Posts: 1,873
Received Thanks: 960
|
Quote:
Originally Posted by zero5
Der extreme Vorteil von C# u.ä. ist der, dass sich ein Programm immer an die modernen CPU Flags und Hardwareeigenschaften anpassen wird, da der Code ja zur Laufzeit an deine Hardware angepasst wird (JIT-Debugger). Um dies bei C++ (oder aber auch Assembler) Projekten zu erreichen, musst du stets den Code neu kompilieren, da ein früher kompiliertes Programm nicht für die aktuelle Hardware angepasst ist.
|
JIT DEBUGGER = Just In Time DEBUGGER, ist, wie der Name schon sagt, ein Debugger, hat also mit dem Programm an sich nix zu tun. JIT Debugger ist das Kästchen, das dir sagt, wenn deine .NET Anwendung abgeschmiert ist, wo es passiert ist, und was du falsch gemacht hast.
Es gibt nicht wirklich viele Programme, die so alt sind, dass man einen großen Unterschied in der (verhältnismäßigen) Geschwindigkeit merken würde. Alte Programme sind meist veraltet, und es gibt neuere Versionen, mit schönerer Oberfläche, mehr Funktionen etc. Und swelbst als Programmierer schaut man doch danach, dass man seine Programme der Zeit anpasst und weiter entwickelt. Hört man auf, ein Programm zu entwickeln, dann gibt es wahrscheinlich ein anderes Programm, das das gleiche macht und weiter entwickelt wird.
Firmen etc. werden also auf das andere Programm umsteigen. Zwar mit Verzögerung (Einarbeitung, Anpassung der aktuellen Umgebung etc.), aber es wird so passieren.
Oder nutzt hier noch jemand Adobe Photoshop 4.0? Oder Office 98?
EDIT: Smith war schneller....
|
|
|
 |
|
Similar Threads
|
Xbox 360 wie lange noch Aktuell ?
09/06/2011 - Consoles - 8 Replies
Hallo,
wie lange wird die Xbox 360 nocht stand halten ?
LG danyo108
|
welcher Tele funzt aktuell noch ger?
02/05/2011 - Last Chaos - 1 Replies
net geht ja aktuell bei mir keine telen mehr.
Gibts Ger einen Telehack der aktuell funzt?
LG
|
Bugusing: Was ist noch aktuell? + Ein Bug von mir^^
09/08/2010 - Rappelz - 6 Replies
also wie im treadname schon steht suche ich aktuelle bugs..(natürlich die die man vorteilhaft ausnutzen kann)
was ich entdeckt habe vor paar minuten das man beim schmied imhv kostenlos bzw. spottbillig manche sachen lvln kann (wurde EIGENDLICH vor 3 wochen behoben hat man mir gesagt) aber ich weis nicht wie ich das ausgelöst habe. war am lager hab neue und alte sachen geholt und probiert aber es ging nicht mehr. bitte sagt mir wie ich den bug auslösen kann!
so und nun der bug den ich...
|
Joanas Rekord noch aktuell ?
08/11/2007 - World of Warcraft - 35 Replies
Hey,
weiß jemand ob Joana mit seinem Rekord von 4d 20h auf herkömmlichem Wege (Normales questen ohne Instanzen / keine blauen Sachen geschickt bekommen ) noch aktuell ist, oder hats schon jemand schneller gepackt ?
|
All times are GMT +1. The time now is 02:39.
|
|