C# oder Java lernen



  • net schrieb:

    btw: die zukunft kann keiner 'beschliessen' 😉

    Du wirst es sehen 😉 Dazu braucht man noch nicht mal ne Glaskugel.

    Zu den Anwendungsgebieten:
    In beiden Bereichen fast alles: WebServices, Datenbanken, Computerspiele (.NET ist hier aber zur Zeit etwas interessanter), Client Server Applikationen, ...
    Was schwieriger wird sind Low-Level Dinge wie Treiber, Systemprogramme. Die .NET Laufzeitumgebung lässt aber unmanaged Code zu. Einige einfache Systemsachen sind also in C# durchaus möglich.



  • TheServerSide.COM Your Enterprise Java Community

    Soll ich noch mehr dazu sagen, oder belassen wir es dabei?



  • guestA2423 schrieb:

    Was schwieriger wird sind Low-Level Dinge wie Treiber, Systemprogramme.

    dafür ist .NET auch nicht gemacht. mit java verucht das auch keiner (obwohl, es gibt ein betriebssystem in java, ein irda-protokoll hab' ich auch schon gesehen, ist aber alles experimenteller natur).

    btw: es gibt microcontroller, die java bytecode ausführen können (hab' ich letztens erst 'nen flyer inner hand gehabt, von 'netsilicon' glaub ich)

    Noodles schrieb:

    TheServerSide.COM Your Enterprise Java Community

    Soll ich noch mehr dazu sagen, oder belassen wir es dabei?

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



  • 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 ?



  • 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/


Anmelden zum Antworten