Ist C# relevant? Stirbt C++ aus?



  • Hi, ich wollte mal was posten was mich in letzter Zeit beschäftigt:

    1. Ich programmiere mit Visual C++. Was meint ihr, wird C# sich durchsetzen, so wie Visual C++. Oder hat Micro*** da Mist gemacht? Für wen wird dann C# relevant sein? Muss ich jetzt C# lernen?

    2. Wie spricht man C# aus? - Sagt man C "Kreuz" oder C"Number" oder wie oder was? Ich weiß, blöde Frage, aber ich weiß es nicht... 🙄



    1. das wär Kaffeesatzleserei, also sag ich dazu lieber nichts. Sicher ist eins: Es setzt sich höchstens .net (auf der Wintel-Plattform) durch, keine spezifische .net-Sprache. C# ist zwar meines Wissens -- schwammig ausgedrückt, ich weiß -- am dichtesten dran an der .net-Architektur, aber mit anderen .net-Sprachen wirst du keine signifikanten Nachteile erleiden. Beachte aber dass Managed C++ gegenüber richtigem C++ stark beschnitten ist.

    2. Offiziell "C sharp", wie die Note. Inoffiziell C Raute 😉



  • Ich will auch mal ein bisschen Kaffeesatz lesen!

    Also, wenn du mich fragst - ich gebe .net keine guten Chancen. Das einfach aus dem Grund, dass es zwar die Nachteile von Java - z.B. Langsamkeit wg. Bytecode - mitbringt, aber die Vorteile - z.B. Plattformunabhängigkeit - nicht hat. Und selbst Java ist ja nur in Nischen erfolgreich.

    Ganz abgesehen davon benutzen die meisten Leute heute noch NT4. Manche fangen langsam an, auf Win2000 umzustellen, XP ist nur auf dem Heimcomputermarkt wirklich vertreten, weil es bei jedem neuen Rechner dabei ist. .NET wird erst bei Longhorn mitgeliefert, das an einem unbestimmten Zeitpunkt in der Zukunft rauskommt, und dann dauert es auch eine Weile, bis es die alten Windowses ersetzt. Das heißt, die .NET-Runtime ist flächendeckend frühestens in ein paar Jahren vorhanden, und ob Microsoft wirklich ein paar Jahre Werbekampagne bezahlen will, um .net so in der Öffentlichkeit zu halten, dass es dann erfolgreich werden kann...naja, ich glaube nicht daran.



  • C# ist nicht schlecht. Bisher nutzte ich nur VB.NET intensiv und finde es wirklich gut. Endlich eine professionelle VB-Version. Es heißt das .NET auf C# basiert, so wird es entsprechend nah an .NET sein, aber der IL-Code ist ohnehin was eigenes und sehr C# (C++) ähnlich. C# ist also schon die Hauptsprache von .NET.

    Mir sind zwei Firmen bekannt, welche auf .NET umsteigen (vorher VB und C++). Sofern Du keine Massenprodukte herstellst wirst Du sicherlich bei C++ bleiben. Ganz klar. Allein wegen dem Weglassen von Runtimes. .NET läßt sehr viele Sprachen zu, ich las mal was von PASCAL.NET und Smalltalk.NET (S#) usw. (Quelle: MSDN), so dass es für viele Sprachen sinnvoll ist, was viele Programmierer anspricht. Es ist schon gut, wenn Du ohne viel Aufwand in einem Projekt VB.NET, C# und managed C++ nutzen kannst. - Außerdem sollen alle Microsoft Tochterfirmen auf C# umsteigen. - Und wenn Du eine spezielle Software verkaufst wird Du sicher auch viele DLLs mitliefern, da kommt es auf die 20 MB Runtime von .NET auch nicht an.

    Kenne ebf. ein Unternehmen welches heute noch eine angepasste PASCAL-Variante nutzt und bald C# zu nutzen hat (gut gesagt nicht?). Wurde von Microsoft aufgekauft.

    Ich persönlich werde kein C# lernen. Noch sehe ich keinen Grund zu. Obwohl ich bei meinem letzten Privatprojekt daran dachte, denn die Entwicklungsumgebung von Microsoft ist einfach genial und eine Sprache mehr schadet nie zu kennen. Habe mich letztendlich für VB6 und C++ entschieden. 😉 (Layout / Performance)

    Java: Meines Erachtens ist .NET um vieles besser als Java, aber das ist wohl mittlerweile Geschmackssache. .NET ist schnell und das reicht.



  • Also Leutz:
    Ich glaube, es steht ausserhalb jeglicher Diskussion, dass .NET NICHT für Bereiche professioneller Highend-Anwendungen wie AutoCAD, Photoshop, 3D-Studio, um nur wenige zu nennen, entwickelt wurde, sondern eher, um mal 'schnell was hinzuzimmern', wie viele Bekannte, die JAVA kennen, darüber sagen



  • Da hab ich von Microsoft aber anderes gehört ... irgendwann soll die Winapi in den Hintergrund treten und .net das Feld überlassen. Offensichtlich wird das erst passieren, wenn .net so ausgereift ist, dass darauf laufende Programme annähernd genauso schnell laufen wie native. Aber es wird passieren, so jedenfalls die Strategie.



  • Viele Compileroptimierungen (globale Optimierungen) können doch aber nur vollzogen werden, wenn der Compiler den kompletten Code kennt. Teilweise braucht mein Compiler hierzu über 300MB RAM.
    Da C# aber immer nur 'stückelweise' compiliert, fallen also schonmal diese Optimierungen weg.



  • Also dazu kann ich nur sagen:

    C# ist definitiv SCHNELLER als JAVA ! ..

    Ich denke das C# die MFC Applikationen ersetzen wird. Noch nicht heute ,... aber in Zukunft.

    1. es is viel einfach und LOGISCHER ! aufgebaut.
    2. schneller als Java
    3. wird MFC früher oder später einfach nicht mehr unterstützt werden. (vorallem auf der Entwicklungsseite)

    Probleme die ich sehe:

    1. Angst der Unternehmen diese "neue" Technologie einzusetzen
    2. C++ ist doch noch schneller als C# .. mal schaun was da noch getan wird.

    naja soviel von mir..
    achja .. wenn man JAVA kann .. kann man auch CSharp .. die Entwicklungsumgebung von MS is aber besser als alle JavaUmgebungen die ich bis jetzt kenne -)

    mfg Wudu



  • wer weiß, vielleicht ist bis dahin Linux dre große renner und dann braucht man C# ja nicht mehr 🙂

    C# ist für zwar interessant, aber es ist mir doch zu Microsoft lastig.



  • RenéG schrieb:

    Viele Compileroptimierungen (globale Optimierungen) können doch aber nur vollzogen werden, wenn der Compiler den kompletten Code kennt.

    C# wird doch in Phasen compiliert. Zuerst in Bytecode bzw. IL, und dann von der .net-Runtime in Maschinencode. IMHO werden die globalen Optimierungen in der ersten Phase erledigt, das heißt wie gehabt auf dem Rechner des Entwicklers. Die Optimierungen in der zweiten Phase betreffen doch hauptsächlich die Anordnung von Befehlen zur optimalen Ausnutzen der Pipelines usw, wozu nicht wirklich globale Informationen gebraucht werden. Oder irre ich mich?



  • Also ich fände es nicht schlecht, wenn Microsoft mal die MFC über Bord schmeissen würde und á la .NET einfach ein paar gute API-Wrapper etc. schön unterteilt in namespaces anbieten würde.



  • Wird die MFC noch weiterentwickelt?



  • Bashar schrieb:

    C# wird doch in Phasen compiliert. Zuerst in Bytecode bzw. IL, und dann von der .net-Runtime in Maschinencode. IMHO werden die globalen Optimierungen in der ersten Phase erledigt, das heißt wie gehabt auf dem Rechner des Entwicklers. Die Optimierungen in der zweiten Phase betreffen doch hauptsächlich die Anordnung von Befehlen zur optimalen Ausnutzen der Pipelines usw, wozu nicht wirklich globale Informationen gebraucht werden. Oder irre ich mich?

    Nein.

    Es bleibt nur anzumerken, daß natürlich die globale 1. Optimierungsphase auf dem Entwicklungsrechner nicht genauso stark verkürzend ist (sein kann), wie bei einer echten Compilersprache - ganz einfach deswegen, weil MSIL in der Komplexität noch mächtigere Elementaranweisungen besitzt als Assembler. Eine Verkürzung bis ins Register ist nicht möglich, erst in der 2. Phase.

    Ich weiß jetzt nun aber nicht, ob dies ausreicht um ein Nachteil zu sein, daß man die 1. und 2. Optimierungsphase nicht verschmelzen kann.



  • Dominic schrieb:

    Wird die MFC noch weiterentwickelt?

    In VS .NET 2002 ist eine neue Version von MFC (v 7.0) mitgekommen !



  • Zeus schrieb:

    Dominic schrieb:

    Wird die MFC noch weiterentwickelt?

    In VS .NET 2002 ist eine neue Version von MFC (v 7.0) mitgekommen !

    Und wie sieht die Zukunft der MFC aus?



  • In VS.NET 2003 sogar noch die Version 7.1


Anmelden zum Antworten