Lohnt es sich C# zu lernen?



  • asc schrieb:

    Badestrand schrieb:

    asc schrieb:

    wobei mich Silverlight aus anderen Gründen interessiert

    Darf man fragen aus welchen? 🙂

    Die Vielzahl der Silverlight und Flashanwendungen die ich kenne, sind im wesentlichen grafische Spielereien. Ich persönlich bin aber nicht an den vielen Grafikspielereien interessiert, sondern will einfach nur ein "normales" Programm wie man es von Clients gewohnt ist, auch im Internet verwenden (mit ähnlichen Bedienkonfort).

    Und da ich eh privat mit WPF arbeite, ist die Schnittmenge einfach recht hoch - da man nur wenig ändern muss. Flash ist für mich hier ebenso wie AJAX und Co keine Alternative da ich wieder mehrere "Sprachen" verwenden muss.

    cu André

    Schon mal ActionScript3 Angeschaut? Stichwort FLEX? Nette sache .. sozusagen Flash für Programmierer 😉



  • ~fricky schrieb:

    ... und weil programmierung in Java einfach am meisten spass macht.

    subjektives gelaber 🙄



  • Machine schrieb:

    ~fricky schrieb:

    ... und weil programmierung in Java einfach am meisten spass macht.

    subjektives gelaber

    du hast recht. ich habe das wörtchen 'mir' vergessen.
    🙂



  • PRIEST schrieb:

    Schon mal ActionScript3 Angeschaut? Stichwort FLEX? Nette sache .. sozusagen Flash für Programmierer 😉

    Nein, weil es auch nicht das abdeckt was ich will:
    (a) Verbreitete Sprache mit breiter Unterstützung
    (b) Möglichst viel Wiederverwendung von Code zwischen Client und Web

    Danach bleiben für mich eigentlich von vorne herein nur Java und C# übrig. Und ich wähle hier das, was in meinen Fall auch eher an der Arbeit relevant werden könnte. ActionScript3 kommt für mich daher absolut nicht in Frage.

    cu André



  • sorry meinte natürlich nicht XML sondern XNA.
    Meint ihr C# XNA wird sich gegen C++ DirectX durchsetzten in der Spieleprogrammierung?



  • c#lieber schrieb:

    sorry meinte natürlich nicht XML sondern XNA.
    Meint ihr C# XNA wird sich gegen C++ DirectX durchsetzten in der Spieleprogrammierung?

    Auf jeden Fall, das spart Unsummen an Geld in der Entwicklung!
    Für viele Spiele ist die Performance sowieso zweitrangig und für die handvoll von AAA Titel wo man die Performance tatsächlich braucht kann man die performance-kritischen Teile weiterhin in C++ schreiben.



  • Wenn man C# Programme weiter gibt, ist das dann so wie bei Java, dass man praktisch den ganzen Code mit gibt? Die Javaobfuscatoren bringen da ja auch nicht viel.



  • hast du was zu verstecken? oder is dein code so schlecht daß du ihn ned open source haben willst? 👎



  • iggifrage schrieb:

    Wenn man C# Programme weiter gibt, ist das dann so wie bei Java, dass man praktisch den ganzen Code mit gibt? Die Javaobfuscatoren bringen da ja auch nicht viel.

    Eigentlich bringen die genug. Es geht ja nicht darum, dass man überhaupt nichts mehr rekonstruieren kann. Es geht daraum, dass man das Rekonstruieren so "teuer" macht, dass "Code neu schreiben" billiger kommt, wenn Leute Dein Programm nachbauen möchten. Wenn Du nicht irgendetwas ganz ganz tolles in Deinem Code hast, dann sollte das praktisch immer der Fall sein. Mit "ganz ganz toll" ist hierbei zum Beispiel ein anspruchsvoller Algorithmus gemeint, der nirgendwo veröffentlicht ist.



  • ascda schrieb:

    hast du was zu verstecken? oder is dein code so schlecht daß du ihn ned open source haben willst? 👎

    👎

    Es gibt auch Leute die mit dem schreiben eines Programmes ihr Leben finanzieren.



  • Gregor schrieb:

    iggifrage schrieb:

    Wenn man C# Programme weiter gibt, ist das dann so wie bei Java, dass man praktisch den ganzen Code mit gibt? Die Javaobfuscatoren bringen da ja auch nicht viel.

    Eigentlich bringen die genug. Es geht ja nicht darum, dass man überhaupt nichts mehr rekonstruieren kann. Es geht daraum, dass man das Rekonstruieren so "teuer" macht, dass "Code neu schreiben" billiger kommt, wenn Leute Dein Programm nachbauen möchten. Wenn Du nicht irgendetwas ganz ganz tolles in Deinem Code hast, dann sollte das praktisch immer der Fall sein. Mit "ganz ganz toll" ist hierbei zum Beispiel ein anspruchsvoller Algorithmus gemeint, der nirgendwo veröffentlicht ist.

    Es gibt Software da kostet ne einfachere Linzenz schon mal 10000€, da sind dann auch oft die von dir angesprochenen Algorithmen drin und da will man halt nicht, dass das jeder so einfach sieht. Und außer Variablen und Methoden umbennenen machen die Obfuscatoren die ich gesehen hab ja nichts und dann kann man den Code eigentlich schon noch relativ einfach lesen.



  • iggifrage schrieb:

    Und außer Variablen und Methoden umbennenen machen die Obfuscatoren die ich gesehen hab ja nichts...

    Dann hast du dir noch nie die Obfuscatoren angeschaut für die Geld verlangt wird...

    Ganz davon abgesehen finde ich alleine schon Code wo Methoden/Variablen konfuse Namen haben nicht wirklich lesbar, der Aufwand dies zu "entschlüsseln" rentiert sich imho nicht, oder ist fast ebenso aufwendig als wenn man ein x-beliebiges Programm disassembliert.



  • asc schrieb:

    iggifrage schrieb:

    Und außer Variablen und Methoden umbennenen machen die Obfuscatoren die ich gesehen hab ja nichts...

    Dann hast du dir noch nie die Obfuscatoren angeschaut für die Geld verlangt wird...

    Rein aus Interesse: Wie gehen die denn vor, bzw. was machen die um den Code so unnachvollziehbar wie möglich zu machen?



  • Tim schrieb:

    Rein aus Interesse: Wie gehen die denn vor, bzw. was machen die um den Code so unnachvollziehbar wie möglich zu machen?

    Sie würfeln auch den Code selber durcheinander. Das kann (und wird) imho zwar auch zu Laufzeiteinbußen führen, aber wer ganz paranoid ist, wird damit schon eher seine Freude haben.

    cu André



  • iggifrage schrieb:

    Gregor schrieb:

    iggifrage schrieb:

    Wenn man C# Programme weiter gibt, ist das dann so wie bei Java, dass man praktisch den ganzen Code mit gibt? Die Javaobfuscatoren bringen da ja auch nicht viel.

    Eigentlich bringen die genug. Es geht ja nicht darum, dass man überhaupt nichts mehr rekonstruieren kann. Es geht daraum, dass man das Rekonstruieren so "teuer" macht, dass "Code neu schreiben" billiger kommt, wenn Leute Dein Programm nachbauen möchten. Wenn Du nicht irgendetwas ganz ganz tolles in Deinem Code hast, dann sollte das praktisch immer der Fall sein. Mit "ganz ganz toll" ist hierbei zum Beispiel ein anspruchsvoller Algorithmus gemeint, der nirgendwo veröffentlicht ist.

    Es gibt Software da kostet ne einfachere Linzenz schon mal 10000€, da sind dann auch oft die von dir angesprochenen Algorithmen drin und da will man halt nicht, dass das jeder so einfach sieht. Und außer Variablen und Methoden umbennenen machen die Obfuscatoren die ich gesehen hab ja nichts und dann kann man den Code eigentlich schon noch relativ einfach lesen.

    Z.B. die wollen ca. 1300USD fuer ihr Java Programm:
    http://www.visual-paradigm.com/shop/productEditions.jsp?productName=VPUML



  • asc schrieb:

    ascda schrieb:

    hast du was zu verstecken? oder is dein code so schlecht daß du ihn ned open source haben willst? 👎

    👎

    Es gibt auch Leute die mit dem schreiben eines Programmes ihr Leben finanzieren.

    ja und? das is kein widerspruch



  • ascda schrieb:

    ja und? das is kein widerspruch

    Das Geschäft läuft aber schlecht, wenn du direkt neben dem kostenpflichtigen Download-Link den freien Quellcode verlinkst.



  • asc schrieb:

    Tim schrieb:

    Rein aus Interesse: Wie gehen die denn vor, bzw. was machen die um den Code so unnachvollziehbar wie möglich zu machen?

    Sie würfeln auch den Code selber durcheinander. Das kann (und wird) imho zwar auch zu Laufzeiteinbußen führen, aber wer ganz paranoid ist, wird damit schon eher seine Freude haben.

    Na das ist ja noch die schlechtere Lösung, wenn die Software auch noch langsam wird.



  • asc schrieb:

    Sie würfeln auch den Code selber durcheinander. Das kann (und wird) imho zwar auch zu Laufzeiteinbußen führen

    quatsch, sie entfernen bzw. verschlüsseln menschenlesbare informationen und solche, bei denen reverse-enigineering tools ansetzen. meistens werden die files sogar kleiner, weil dinge rausfliegen, die nicht unbedingt zur ausführung nötig sind. disassemblieren zu nacktem byte-code kann man 'obfusciert'e files aber immer noch.
    🙂



  • Badestrand schrieb:

    ascda schrieb:

    ja und? das is kein widerspruch

    Das Geschäft läuft aber schlecht, wenn du direkt neben dem kostenpflichtigen Download-Link den freien Quellcode verlinkst.

    Gibt es dazu Beispiele/Belege, oder schaust du in deine Kristallkugel? Novells SUSE Linux Enterprise verkauft sich gut, obwohl es OpenSuse gibt. Ebenso wie Redhat Enterprise Linux, obwohl es Fedora gibt.

    Nicht jeder kann mal eben den Quellcode nehmen und ein funktionierendes Programm daraus machen. Wieviele Beschwerden gibt es wegen Linux, weil man dort Programme manchmal kompilieren muss (obwohl es unter Linux kinderleicht ist das Programm aus dem Code zu erstellen) (unter Java ist es ein wenig einfacher). Aber du konntest von anderen Entwicklern profitieren, wenn sie deinen Code sehen koennen.

    Aber wer hat gesagt das man den Code nicht auch verkaufen darf? Stelle einfach eine Lizenz der Art bereit: Fuer 5 Euro kannst du den Code einsehen, kompilieren und modifizieren, aber du darft den Code und das daraus erstellte Programm nicht weitergeben. So wie ich das sehe waere es eine gute extra Einnahmequelle.


Anmelden zum Antworten