C# oder Java lernen



  • net schrieb:

    wenn du mal zeit hast, dann guck' dir den ganzen artikel an

    Nein, da es mir egal is was Du darüber denkst!
    Nur wenn Du mitredest, dann gib keine Kinderargumente ab ( m$ )!

    @PeterGalileo
    Ich empfehle .NET, wenn Du nur bei Windows bleibst.
    Der SQl Server 2005 und weitere Produkte sind sehr eng mit .NET verknüpft.
    Zu Java kann ich Dir da nix sagen, da ich beruflich nur mit .NET zu tun habe. ( aber Optimizer kann das bestimmt 😉 )



  • PeterGalileo schrieb:

    Und warum setzt man dann nicht C++ ein wenn man Windows Apps entwickelt ? Ok bei Internet Apps kann ich es verstehen aber warum dann C# anstatt C++ bei der Windowsprogrammierung einsetzten ?

    Weil C# ( und die BCL ) die Windowsprogrammierung erheblich vereinfacht, im Gegensatz zu C++/MFC. Das ist aber nur meine persönliche Meinung.



  • Noodles schrieb:

    net schrieb:

    wenn du mal zeit hast, dann guck' dir den ganzen artikel an

    Nein, da es mir egal is was Du darüber denkst!

    😕 der text ist nicht von mir

    Noodles schrieb:

    Nur wenn Du mitredest, dann gib keine Kinderargumente ab ( m$ )!

    na, nicht gleich beleidigt sein. m$ ist doch nur 'slang'



  • Ist ja auch eher ne Propaganda Seite. Man sieht ja auch im Intro für wen das Dokument geschrieben wird: Sun. Drei mal darfst du raten was die am liebsten hören.
    Man kann sich Argumente konstruieren oder zurecht biegen. Bei solchen Artikeln wir das häufig gemacht.
    Es gibt ja auch noch andere Stimmen (Entwickler von #Develop):
    http://www.icsharpcode.net/pub/relations/interviewmike.aspx



  • @net:
    Du bistn Idiot



  • PeterGalileo schrieb:

    Und warum setzt man dann nicht C++ ein wenn man Windows Apps entwickelt ? Ok bei Internet Apps kann ich es verstehen aber warum dann C# anstatt C++ bei der Windowsprogrammierung einsetzten ?

    Wie Noodles schon sagt vereinfacht C# den Entwicklungsvorgang erheblich. MFC hat nicht gerade den besten Ruf was das Klassendesign angeht. Bei solchen Sachen empfehle ich aber einfach ausprobieren. Nimm dir doch einfach mal ein kleines Projekt (Chatprogramm oder so was) das du in Java, C# und C++ entwickelst und entscheide dann selbst was dir besser liegt. Du musst schon selbst auswählen was dir am besten liegt, schließlich bist du ein mündiger Mensch 😉



  • guest1235 schrieb:

    net schrieb:

    aber sie haben .NET geschaffen um java marktanteile abzuluchsen.

    Wenn du glaubst das .NET nur da ist Sun zu ärgern und um Java Markanteile zu vereinnahmen, dann bist du recht naiv.

    warum sonst? doch nur um auf einem zukunftsträchtigen gebiet mitzumischen. sie hätten doch auch ihre eigene jvm und ihr visual j++ weiterentwickeln können anstatt java nachzubauen, aber anscheinend ging's ihnen nur darum, eine alternative zu java zu schaffen (aus rein kommerziellen gründen)



  • Auch und du meinst das Sun nicht kommerziell agiert. MS geht es hier darum möglichst viele Fliegen mit einer Klappe zu erschlagen.
    Windows hat viele Probleme die sich durch Altlasten abgesammelt haben. Dazu gehören Probleme mit der Sicherheit, nicht sehr konsequente Benutzerverwaltung, Dll-Hell (fehlende Versionierung), Altmodische C-APIs, Viren usw. ...
    .NET kann diese Probleme praktisch mit einem "Wisch" lösen.
    Die entstehende Konkurrenz zu Java ist ein willkomener Effekt, der sich aus der "verdotnettung" gleich mit ergibt (.NET quasi als die eierlegende Wollmilchsau der Windowsprogrammierung)
    Der Javamarkt war bis .NET eh recht langatmig und öde. Endlich wird Sun mal richtig gefordert 😉



  • net schrieb:

    sie hätten doch auch ihre eigene jvm und ihr visual j++ weiterentwickeln können anstatt java nachzubauen, aber anscheinend ging's ihnen nur darum, eine alternative zu java zu schaffen (aus rein kommerziellen gründen)

    Nein, nicht aus kommerziellen Gründen, sondern aus rechtlichen. Sun hat Microsoft wegen ihrer Java-Erweiterungen mehr als einmal verklagt.



  • Optimizer schrieb:

    net schrieb:

    sie hätten doch auch ihre eigene jvm und ihr visual j++ weiterentwickeln können anstatt java nachzubauen, aber anscheinend ging's ihnen nur darum, eine alternative zu java zu schaffen (aus rein kommerziellen gründen)

    Nein, nicht aus kommerziellen Gründen, sondern aus rechtlichen. Sun hat Microsoft wegen ihrer Java-Erweiterungen mehr als einmal verklagt.

    ahso, dann hat sun sich selbst ein bein gestellt. aber vielleicht ist es ja besser so. m$ hat immer versucht java um windoof-spezifische sachen zu erweitern und damit die idee des 'write once, run everywhere' zu untergraben. wer weiss was aus java geworden wäre, wenn sun sie hätte gewähren lassen.



  • Ganz einfach: Willst Du einfache GUI Client Anwendungen für Windows erstellen, dann nimm C#.

    Willst Du Plattformunabhängig sein(wird zunehmend wichtiger bei Lizenzanschaffungen), dann Java oder C++.

    Willst Du später serverseitig Entwickeln nimm Java. Für Echtzeitsysteme C++.

    @J2EE vs C#:
    Java hat im Enterprise Bereich die Nase sowas von weit vorn, dass dort C# kein ersthafter Konkurrent sein wird.

    Dafür gibt es verschiedene Gründe, die wichtigsten aber:
    UNIX-Systeme sind viel verbreiteter und Linux boomt zur Zeit auf dem Servernarkt richtig.

    Führende Firmen im Bereich verteilter Systeme(IBM, BEA) setzen auch seit einigen Jahren auf Java. Diese Firmen sind seit den 70'gern im Geschäft. Das bringt vertrauen für die Kunden.

    Nahezu alle Großen der Branche außer MS, unterstützen Java und fördern diese Sprache(zusätzlich noch die Uni's weltweit). Das bringt ebenfalls großes vertrauen für die Kunden.

    guestABC schrieb:

    Muss es unbedingt plattformunmhängig sein und es ist dir egal ob Java hier nur die Schnittmenge aller spezifischen Betriebssystem Features zur verfügung stellt, dann ist wohl eher Java dein Ding.

    Wofür braucht man bei normalen Anwendungen OS-spezifische Features, die nicht in Java integriert sind? Wenn man diese benötigt sollte man in der regel sowieso nicht auf Java oder C# zurück greifen. 😉

    @noodles: Erst den link lesen, dann darüber urteilen. 😉 Das was dort steht stimmt größtenteils.



  • Bernd34 schrieb:

    Wofür braucht man bei normalen Anwendungen OS-spezifische Features, die nicht in Java integriert sind? Wenn man diese benötigt sollte man in der regel sowieso nicht auf Java oder C# zurück greifen. 😉

    z.B. DirectX, WMI, Komponetenmodelle, ... Die Gegenstücke die Java hier anbietet sind eher bescheidem. Auch im vergleich zu WinForms, ist Swing und Co. nicht sehr überzeugend.
    Übrigens wer sagt denn das man mit C# keine vernünftgen serverseitigen Anwendungen schreiben kann. Da bist du ziemlich schlecht informiert.



  • sdfggfg schrieb:

    z.B. DirectX, WMI, Komponetenmodelle, ... Die Gegenstücke die Java hier anbietet sind eher bescheidem. Auch im vergleich zu WinForms, ist Swing und Co. nicht sehr überzeugend.

    Könntest du das ein bischen erläutern? So ganz ohne Begründung kann man mit so einer Aussage ziemlich wenig anfangen. Die ist dann auch nicht sehr überzeugend. Aus meiner Sicht ist Swing sehr gut und frag mal Optimizer zum Klassendesign der WinForms. 🙂



  • Also MS schreibt selber in der MSDN das WindowsForms noch sehr zurück hinkt was die Mächtigkeit angeht. Das schreiben sie immer in den C++/CLI-Artikeln, wo sie darauf hinweisen, das MFC ganz einfach das zur Zeit noch mächtigste GUI-Framework (von MS) ist und WinForms noch viel zu lernen hat und noch nicht alle MFC-Features anbietet.

    D.h. implizit für mich, das WinForms einfach nicht an SWING ranreichen kann. Und ich entwickel täglich in Java und kann nur sagen: Swing gefällt mir vom Design, Konzept und Mächtigkeit sehr gut! Die Performance ist eine andere Story. 😉



  • gfgsdfg schrieb:

    Könntest du das ein bischen erläutern? So ganz ohne Begründung kann man mit so einer Aussage ziemlich wenig anfangen. Die ist dann auch nicht sehr überzeugend. Aus meiner Sicht ist Swing sehr gut und frag mal Optimizer zum Klassendesign der WinForms. 🙂

    Was soll man da begründen/erläutern? Du weißt schon was WMI, DirectX und Co. ist? Dazu gibt es keine wirkliche Alternative in Java. Kennst du eine?
    Was ist am Klassen Design von WinForms schlecht? Bzw. was ist am Klassendesing von Swing besser?
    Die Vorteile von WindowsForms sind vorallem die Komponentenorientiertheit, der reiche Fundus an GUI Elementen und die sehr gute Performance. (speziell im 2.0 Framework). In all diesen Bereichen bietet Swing leider nicht so viel.



  • asdfg schrieb:

    Du weißt schon was WMI, DirectX und Co. ist? Dazu gibt es keine wirkliche Alternative in Java. Kennst du eine?

    micosoft-eigenes zeug hat in java nix verloren. dafür gibts das: http://java.sun.com/j2se/1.5.0/docs/guide/jni/



  • net schrieb:

    asdfg schrieb:

    Du weißt schon was WMI, DirectX und Co. ist? Dazu gibt es keine wirkliche Alternative in Java. Kennst du eine?

    micosoft-eigenes zeug hat in java nix verloren. dafür gibts das: http://java.sun.com/j2se/1.5.0/docs/guide/jni/

    Jup, und genau weil es solche Dinge nicht unterstützt, ist Java für mich kaum von Interesse.
    Übrigens: Was haben die oben genannten Sachen mit JNI zu tun. Ich will keine umständlichen Wrappenkonstrukte mit JNI für externe C-Funktionen schreiben.
    Überdies bietet .NET (mit Marschaling/Interop und dem DllImportAttribut) einen wesentlich kompfortableren und leistungsfähigeren Mechanismus an, um externen nativen Code zu nutzen. 😃



  • sdfggfg schrieb:

    Bernd34 schrieb:

    Wofür braucht man bei normalen Anwendungen OS-spezifische Features, die nicht in Java integriert sind? Wenn man diese benötigt sollte man in der regel sowieso nicht auf Java oder C# zurück greifen. 😉

    z.B. DirectX, WMI, Komponetenmodelle, ... Die Gegenstücke die Java hier anbietet sind eher bescheidem. Auch im vergleich zu WinForms, ist Swing und Co. nicht sehr überzeugend.

    Es ging um OS-spezifische Features! DirectX ist ein Framnework für Spiele/Multimedia! 😉 Wie oft braucht das der durchschnittliche Softwareentwickler? Ich noch nie!

    Was ist an WinForms besser als an Swing. Ach ja, jetzt kommt wieder das Performance geflame. 👎

    Auch wenn manche es immer noch nicht glauben - die Zukunft ist Plattformunabhängigkeit. Allein schon die ganzen Kommunen die gewechselt haben und noch wechseln werden sind ein Grund. Auch große Firmen wie die Bahn setzen immer mehr auf Linux. Das können sehr wichtige mögliche Kunden sein!

    sdfggfg schrieb:

    Übrigens wer sagt denn das man mit C# keine vernünftgen serverseitigen Anwendungen schreiben kann. Da bist du ziemlich schlecht informiert.

    Hab ich gesagt das es damit nicht geht? Dir fehlt wohl ein bischen der Praxisbezug. Die meisten Anwendungen sollen mind. auf UNIX-Systemen laufen. Das tut .NET (noch) nicht! Das schrieb ich auch oben!

    Ein ganz anderer Punkt ist der vorhandene Markt. Wieviele Server von versch. Herstellern unterstützen die .NET Managed Components? Wieviele EJB's? Ungefähr ein Verhältnis von 1:25. Darüber hinaus sind unter den EJB-Container Entwicklern, Firmen die schon seit den 70gern TM(später CTM)'s entwickeln. Diese Firmen genießen einen sehr guten Ruf, weil sie schon 30 Jahre Erfahrung mit verteilten Systemen haben. Darauf vertrauen auch die Auftraggeber.

    Ungefähr 80% der Software die in in Deutschland entwickelt wird sind unternehmensinterne Lösungen. Diese arbeiten sehr oft mit anderen Systemen wie SAP und co. zusammen. Die Hersteller dieser Systeme haben sich aber schon vor einiger Zeit auf J2EE festgelegt. Die werden nicht nocheinmal wechseln.

    95% der Firmen machen das, was Marktführer sagen. Das ist, abgesehen von MS, J2EE.

    Bevor Du wieder meckerst, ich hab wieder nicht geschrieben das .NET schlecht ist.



  • Bernd34 schrieb:

    Diese arbeiten sehr oft mit anderen Systemen wie SAP und co. zusammen. Die Hersteller dieser Systeme haben sich aber schon vor einiger Zeit auf J2EE festgelegt.

    SAP .NET Connector



  • Dieser Thread wurde von Moderator/in AndreasW aus dem Forum C# und .NET in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten