Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Umfragen Hier kannst Du zu Umfragen Deine Stimme abgeben, diskutieren und die Ergebnisse einsehen.

Aussterben von C++

Diskussion: Aussterben von C++ im Forum Umfragen, in der Kategorie Sonstiges; Anzeige Hi Ich sitz hier gerade in meiner Praktikumsfirma(IT-Technik) wo mir gerade ein Mitarbeiter geraten hat C# anstatt C++ zu ...

Umfrageergebnis anzeigen: Wird C++ in nächster Zeit aussterben
Wird C++ in nächster Zeit aussterben und durch C# ersetzt werden 1 1,64%
Beide Sprachen werden weiterhin benutzt werden 49 80,33%
C# hat keine Zukunft 11 18,03%
Multiple-Choice-Umfrage. Teilnehmer: 61. Sie dürfen bei dieser Umfrage nicht abstimmen

Antwort
Alt 23.09.09, 09:58   #1 (permalink)
 
Registriert seit: 16.09.09
Dany Sahne Leistung: Facit NTK
Likes: 0
Standard Aussterben von C++

Anzeige

Hi

Ich sitz hier gerade in meiner Praktikumsfirma(IT-Technik) wo mir gerade ein Mitarbeiter geraten hat C# anstatt C++ zu lernen. Er hat gesagt, dass C++ aussterben würde und durch c# ersetzt werden würde, welches deutlich sicherer, schneller und besser zu programmieren sei und das ess genauso schnell ist. Ich habe mir auch gerade die Microsoft Visual C# 2008 Express Edition gedownloadet. Ich finde es echt verdammt einfach damit Programme zu erstellen, da man ja sozusagen das Programm nach dem Bau-Kasten-Prinzip zusammenbauen kann.
Ich habe aber im Internet gelesen, dass c++ schneller sein soll,weil direkt auf die Hardware zugegriffen wird und nicht erst auf die virtuelle Maschine.
Was meint ihr dazu? Denkt ihr auch, dass c++ zum Aussterben verurteilt ist? Und welche Sprache ist den jetzt schneller?

Ich freue mich auf eure Meinungen

Dany Sahne

Dany Sahne ist offline   Mit Zitat antworten
Alt 23.09.09, 10:06   #2 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 442
Standard

Es wird weiterhin beide Sprachen geben. Das liegt zum einen daran, dass viel Software bereits in C++ umgesetzt ist und ein Rewrite zeitmäßig und finanziell viel zu aufwendig wäre und zum zweiten daran, dass C# nur bedingt zur Systemprogrammierung einsetzbar ist. C# mit C++ zu vergleichen halte ich aber auch nicht unbedingt für sinnvoll. Dazu folgt diese Sprache zu sehr den Prinzipien von Java und einer strengen Objektorientierung, während C++ auch prozedurale Ansätze zulässt. Und solange Betriebssystem weiterhin in C geschrieben werden, wird es auch C++ geben. Ein neues innovatives System mit Marktchancen, das auf einer streng objektorientierten Sprache aufgebaut ist, ist mir bisher nicht bekannt. C# ist schliesslich als Konkurrenzprodukt zu Java gemacht und nicht zu C++.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 23.09.09, 10:15   #3 (permalink)
Themenstarter
 
Registriert seit: 16.09.09
Dany Sahne Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Ein neues innovatives System mit Marktchancen, das auf einer streng objektorientierten Sprache aufgebaut ist, ist mir bisher nicht bekannt. C# ist schliesslich als Konkurrenzprodukt zu Java gemacht und nicht zu C++.
Er meinte das der Windows 7 Nachfolger in C# programmiert werden soll.
Dany Sahne ist offline   Mit Zitat antworten
Alt 23.09.09, 10:16   #4 (permalink)
Moderator
 
Benutzerbild von xeno
 
Registriert seit: 09.09.04
xeno Leistung: Pentium Ixeno Leistung: Pentium I
xeno eine Nachricht über ICQ schicken
Likes: 76
Standard

Zitat:
Original von Dany Sahne
Zitat:
Ein neues innovatives System mit Marktchancen, das auf einer streng objektorientierten Sprache aufgebaut ist, ist mir bisher nicht bekannt. C# ist schliesslich als Konkurrenzprodukt zu Java gemacht und nicht zu C++.
Er meinte das der Windows 7 Nachfolger in C# programmiert werden soll.
kann ich mir beim kernel fast nicht vorstellen, und der rest ist doch eh nur schnickschnack

@bit: zwei dumme, ....
xeno ist offline   Mit Zitat antworten
Alt 23.09.09, 10:16   #5 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 442
Standard

DEN Kernel will ich sehen, der in C# zusammengemurkst wird.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist offline   Mit Zitat antworten
Alt 23.09.09, 10:19   #6 (permalink)
Themenstarter
 
Registriert seit: 16.09.09
Dany Sahne Leistung: Facit NTK
Likes: 0
Standard

Zitat:
DEN Kernel will ich sehen, der in C# zusammengemurkst wird. Augenzwinkern
Wo du es so sagst ^^
Wenn er in einer Virtuellen Maschine laufen würde würde es bestimmt gehen
Dany Sahne ist offline   Mit Zitat antworten
Alt 23.09.09, 10:58   #7 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

Hallo,
C# läuft nicht in einer virtuellen Maschine und bringt damit nicht die Nachteile mit sich, die mich bei Java-Programme immer wieder mal zur Weissglut bringen.

C# nutzt einen Just-in-time-Compiler (JIT), das heißt, das C# Programm wird erst in die Common Intermediate Language (CIL) übersetzt, was doch schon stark dem Aussehen von x86 o.ä. Assembler ähnelt (Drei-Adress-Code mit ein paar netten Features).
Wenn der User dann den Code ausführt, wird der benötigte CIL Code in Maschinensprache übersetzt und ausgeführt und kann somit auch für die verschiedenen Plattformen (32 oder 64 Bit, AMD oder Intel?) optimiert werden, ohne dass der Programmierer verschiedene Versionen veröffentlichen muss.

Somit können C# Programme auch eine sehr gute Performance vorweisen, die primär dadurch beschränkt ist, wie gut der JIT-Compiler CIL in Maschinensprache übersetzt und optimiert (man spiele mal an den Optimierungsstufen von gcc rum, das macht nen riesen Unterschied bzgl. Performance).

Allerdings wird C# nie so schnell sein wie C/C++, denn man erkauft durch Performanceverluste deutlich mehr Komfort für den Entwickler (Garbage-Collector, Typ-Überprüfung, Sicherheit usw.).


Deswegen wird C/C++ auch nicht wegen C# aussterben. C/C++ wird weiter dort genutzt, wo sehr gute Performance notwendig ist (z.B. physikalische Berechnungen). Ebenso arbeitet C/C++ deutlich näher an der Maschine und besitzt somit Funktionen, die in der Systemprogrammierung (Kernel) sehr wichtig sind.

Ein anderes Problem in meinen Augen ist, dass sich CIL zurück in C# übersetzen lässt und man somit das Reverse-Engineering sehr leicht macht. Ob es einen CIL -> Maschinencode Compiler schon gibt, weiß ich nicht, konnte aber keinen vor rund 1 Jahr finden. Wie gut die Obfuscatoren arbeiten kann ich nicht bewerten.


Ansonsten liebe ich C#. Wenn man "schneller" mit Effizienz des Programmiers übersetzt, so ist fast immer C# "schneller". In CPU Zeit gewinnt (leider) C++.
Aber für die meisten Anwendungen braucht man keine Top-Performance. Die CPU Zeit die dein Browser, Office-Packet, Mail-Prog. o.ä. braucht ist wirklich gering, da lässt sich C# super nutzen.

Ansonsten:
Mit C# hast du die richtige Gewahl getroffen und wirst du Sprache hoffentlich genauso lieben wie ich. Nicht nur der Designer von Visual Studio ist grandios (und Visual Studio an sich), auch die Features sind die Besten die ich kenne.

Bin immer ganz wehmütig, wenn ich mit Java & Eclipse arbeiten muss, da mir dort einfach extrem viele liebgewonnenen Features fehlen (Properties, Operandenüberladung, Events, benutzerfreundliches Erstellen von Benutzeroberflächen, verschiedene IDE Funktionen).
Elderan ist offline   Mit Zitat antworten
Alt 23.09.09, 12:58   #8 (permalink)
 
Benutzerbild von BasicAvid
 
Registriert seit: 17.03.04
BasicAvid Leistung: Facit NTK
Likes: 2
Standard

Zitat:
Original von bitmuncher
DEN Kernel will ich sehen, der in C# zusammengemurkst wird.
SharpOS
__________________
Mfg Basic Avid
- Use it or be used! -
BasicAvid ist offline   Mit Zitat antworten
Alt 23.09.09, 17:42   #9 (permalink)
 
Benutzerbild von bad_alloc
 
Registriert seit: 27.12.07
bad_alloc Leistung: 8086
Likes: 39
Standard

Zitat:
Er meinte das der Windows 7 Nachfolger in C# programmiert werden soll.
Das ist auch nur halb wahr: Es gibt Pläne für ein Windows mit dem Codenamen "Azure", welches einen Microkernel besitzen soll, der quasi nur die C# Programme ausführt und sehr grundlegende Aufgaben übernimmt.
Aber zumindest der Microkernel wird wohl in ASM/C/C++ geschrieben werden. Auch Linux wird C/C++ langfristig am Leben halten denke ich.

mfg
bad_alloc
__________________
You shoot yourself in somebody else's foot.|Dann gabs da noch den Mathematiker der P?=NP in O(1) erklärte.
|[A]| = p(·,|[A]|)+1
bad_alloc ist offline   Mit Zitat antworten
Alt 23.09.09, 20:53   #10 (permalink)
.doc
Guest
 
Likes:
Standard

Zitat:
Original von BasicAvid
Zitat:
Original von bitmuncher
DEN Kernel will ich sehen, der in C# zusammengemurkst wird.
SharpOS
Singularity

Aber zum Thema:
Ich denke nicht, dass C++ aussterben wird - zumindest nicht in der hardwarenahen Entwicklung. Wer allerdings heute noch Desktopsoftware in C++ entwickelt, klammert sich zu sehr an die Vergangenheit. C#, Java und Konsorten besitzen deutlich größeren Funktionumfang und sprachliche Finessen, was die Programmentwicklung zum einen deutlich vereinfacht und zum anderen auch noch deutlich verkürzt. Da Zeit bekanntermaßen = Geld ist wird sich ein Softwareentwickler 2x überlegen, welche Gründe nun wirklich für C++ sprechen und ob man nicht besser eine andere Sprache verwenden sollte.
Der Punkt bei C++ ist, dass es die Grundlage für all das bietet und deswegen auch nicht vergessen werden kann: Libraries zur Hardwaresteuerung lassen sich auch in C# nutzen und bilden somit den Grundstein für die Entwicklung von Betriebssystemen und anderen Softwareprojekten.
Die Geschwindigkeit und Rechenkraft wird immer weiter wachsen, viele verstehen auch garnicht mehr, wie man auch 33Mhz noch arbeiten konnte, heute haben selbst Handys höhere Frequenzen. Und genau das ist wiederum ein Grund, warum C++ vom Softwaremarkt verschwinden wird: Dank dieser Power brauchen wir keine optimierten Programme, kein ASM, kein C++ in 80-90 von 100 Firmen in der heutigen Softwareentwicklung. Die Rechenpower merzt die schlechten Algorithmen, in welcher Sprache auch immer, einfach aus. Das Programmieren wird vereinfacht, die Qualität fällt jedoch leider damit ebenfalls.
  Mit Zitat antworten
Alt 23.09.09, 21:27   #11 (permalink)
 
Benutzerbild von Extinction
 
Registriert seit: 02.01.07
Extinction Leistung: Facit NTK
Likes: 0
Standard

@.doc
Du beziehst dich auf Anwendungssoftware. Sowohl im OS als auch der Software am Benutzer.

Um rechen-aufwendige technische Daten auszuwerten, z.B. eines Teilchenbeschleunigers, ist so viel Leistung wie möglich von Nöten.
Was meinst du, wozu es BOINC gibt? Meinst du, die Nasa wird Java auf den Rechnern im Shuttle einsetzen?

Das sind die restlichen 10-20 Firmen, die anspruchsvolle Software produzieren. Der Chefentwickler von Doom3 lies sich nur schwer überreden, C++ statt reinem C für das Spiel zu verwenden.

Deine Argumentation geht eher da hin, dass bald alle Leute mehr Geld für "bessere" Hardware ausgeben, um darauf "schlechtere" Software laufen zu lassen. Wahrscheinlich ein Trend, würde ich aber so nicht unterschreiben...
Extinction ist offline   Mit Zitat antworten
Alt 23.09.09, 21:47   #12 (permalink)
.doc
Guest
 
Likes:
Standard

Zitat:
Was meinst du, wozu es BOINC gibt? Meinst du, die Nasa wird Java auf den Rechnern im Shuttle einsetzen?
BOINC ist bei weitem nicht optimiert, BOINC ist ein Masseprodukt, das auf so vielen Rechnern wie Möglich laufen soll. Das schliesst schon eine perfekte Optimierung von vorne herein aus. Also ob du es jetzt in Java laufen lässt oder in C++ macht mMn keinen Unterschied, da BOINC auch nicht direkt auf der Hardware arbeitet.
Übrigens reduziert die NASA ihre Software nicht aufgrund der Geschwindigkeit auf möglichst effektive Programme, sondern aufgrund des Stromverbrauchs. Java-Programme brauchen effektiv (d.h. auf kleine Größen bezogen) mehr Strom, als optmierte C/C++-Programme, daher ist Java im embedded Bereich auch noch nicht so stark verbreitet. Aber du kannst je gerne mal eine Java-VM auf wenigen Mhz laufen lassen, um es auszutesten

Zitat:
Das sind die restlichen 10-20 Firmen, die anspruchsvolle Software produzieren. Der Chefentwickler von Doom3 lies sich nur schwer überreden, C++ statt reinem C für das Spiel zu verwenden.
Es gibt bereits Spiele in Java und in C#. Die Power von Grafikkarten wird oft nur unzureichend genutzt, ebenso die von Prozessoren. Es ist mMn nur eine Frage der Zeit, wann hier umgestellt wird, MS wird mit DX sicherlich seinen Teil dazu beisteuern.

Übrigens: Nein, ich sage nicht, dass C++ austerben wird. Ich sage, dass in Zukunft Sprachen wie C# und Java die Hauptsprachen in der Softwareentwicklung werden und C++ von seinem derzeitigen Standpunkt als Nummer 1 verschwinden wird. Dass es einige Sprachen immernoch geben wird, weil es geben Gebiete gibt, in denen sie unabdingbar sind, stand zu keiner Zeit in Frage.
  Mit Zitat antworten
Alt 23.09.09, 21:54   #13 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 442
Standard

Zitat:
Original von .doc
Aber du kannst je gerne mal eine Java-VM auf wenigen Mhz laufen lassen, um es auszutesten
Ich erinnere mal an Java-fähige Handys. Die kommen auch zumeist nicht mit mehreren GHz daher. Es gibt durchaus Java-VMs, die direkt für den Embedded-Bereich gedacht sind. Gerade in diesem Markt sehe ich auch gerade für Java eher die Zukunft.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist offline   Mit Zitat antworten
Alt 23.09.09, 22:04   #14 (permalink)
.doc
Guest
 
Likes:
Standard

Die neuesten Händys haben Mhz-Zahlen jenseits der 100Mhz Grenze. Das iPhone besitzt 625Mhz, ich hatte vor einigen Jahren schon einen PDA von Dell mit 400Mhz. Bei wenigen Mhz meine ich auch wenige Mhz. Einige Teile eines ESA-Satelliten besitzen Taktfrequenzen von unter 1Mhz, das sind nochmal ganz andere Dimensionen, auf denen Java bisher noch keine wirkliche Einsatzmöglichkeit bietet (auch wenn es schon einige wissenschaftliche Tests dazu gibt).
  Mit Zitat antworten
Alt 23.09.09, 22:49   #15 (permalink)
Senior Member
 
Benutzerbild von odigo
 
Registriert seit: 25.12.04
odigo Leistung: 8086odigo Leistung: 8086
odigo eine Nachricht über ICQ schicken
Likes: 54
Standard

Zitat:
Original von Extinction
Das sind die restlichen 10-20 Firmen, die anspruchsvolle Software produzieren.
Also die Aussage kann ich so nicht stehen lassen. Nur weil eine Software nicht höchste mathematische Algorithmen benutzt muss sie nicht minder anspruchsvoll sein. Komplexe betriebswirtschaftliche Prozesse können durchaus auch sehr anspruchsvoll sein, halt auf einer anderen Ebene.

Ich bin im Moment nach wie vor der Meinung daß Java ein Stück die Nase vor C# hat. Das einfache Argument hierfür ist die Plattformunabhängigkeit. Besonders im Webbereich ist das meiner Meinung nach das ausschlaggebende Argument. Entwickeln tun die meisten doch ganz gerne unter Windows, aber laufen soll das ganze dann auf Applicationservern auf Unix-Kisten.

Gruß odigo
odigo ist gerade online   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Sonstiges » Umfragen » Aussterben von C++
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61