Lohnt es sich C# zu lernen?
-
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.
-
DEvent schrieb:
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.
Oder die Konkurrenz kann von deinem Code profitieren und deine Ideen klauen an denen du jahrelang gearbeitet hast.
-
nein
-
Weil du ein Ideenklauverbotslizenz hast, oder was soll dein nein bedeuten?
-
Dafür gibt es Patente.
Und ob obfuscated oder nicht eine Hochsprache ist immernoch leichter zu entschlüsseln als ein Bytecode oder Assembler-Code. Also tut nicht immer so als wäre es so furchtbar schwer, denn es machen tagtäglich tausende weltweit mit Assembler!
-
Helferlein schrieb:
Dafür gibt es Patente.
http://de.wikipedia.org/wiki/Softwarepatent#Europ.C3.A4ische_Union Nicht bei uns
-
ist klar... schrieb:
Helferlein schrieb:
Dafür gibt es Patente.
http://de.wikipedia.org/wiki/Softwarepatent#Europ.C3.A4ische_Union Nicht bei uns
Softwarepatent != Technologiepatent.
-
Und was soll so ein "Technologiepatent" im Bezug auf Quellcode lesen sein? Oder gehts schon wieder um ein anderes Thema?
-
Die Algorithmen sind Technologie und diese kann man sich patentieren lassen. Bei Softwarepatenten geht es um Quellcode der patentiert wird.
Aber das ist ja bekanntlich Käse.
-
Ich glaube du solltest dich nochmal etwas über Softwarepatente erkundigen.
-
ist klar... schrieb:
DEvent schrieb:
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.
Oder die Konkurrenz kann von deinem Code profitieren und deine Ideen klauen an denen du jahrelang gearbeitet hast.
Kann es eben nicht. Wieso klaut keiner Linux, obwohl dort etliche Ideen und Technologien sind? Z.B. Hibernate, Gzip, ODF Implementierung, Ogg Vorbis Implementierung, der Linux Kernel, Intel Grafik Treiber, KDE, QT, Gnome, GTK+, ALSA, Wine, Ext3, usw usf. Ca. 80% der Top500 Superrechner haben Linux drauf, den Quellcode kannst du dazu frei runterladen. Trotzdem klaut es keiner.
-
Hmmm nun, ein mehr oder weniger berühmter Netzwerkspezilist meinte die Open Source Community zu beklauen und wurde verurteilt.
Welcher Aussenstehende sollte alle Produkte überprüfen, ob Open Source drin ist? Das Problem ist also die Uberprüfbarkeit dessen.
-
asc schrieb:
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.
Für Java gibts einige AJAX-Lösungen, wo Du überhaupt kein JavaScript Code schreiben musst. GWT z.B. hat einen Java 2 JS Compiler. Du kannst also sowohl den Servercode als auch den Clientcode komplett in Java schreiben.
Aber ich glaube, Microsoft hat für .NET auch schon einen Abklatsch von GWT in Arbeit.
-
byto schrieb:
Für Java gibts einige AJAX-Lösungen, wo Du überhaupt kein JavaScript Code schreiben musst. GWT z.B. hat einen Java 2 JS Compiler. Du kannst also sowohl den Servercode als auch den Clientcode komplett in Java schreiben.
Aber ich glaube, Microsoft hat für .NET auch schon einen Abklatsch von GWT in Arbeit.Ich spreche hier von Software die sowohl als "Rich"-Client wie auch im Internet verwendet werden soll. Ganz davon abgesehen ist Java zumindestens für mich immer noch keine Option, da es nicht arbeitsrelevant für mich ist (C# schon deutlich eher).
-
asc schrieb:
Ich spreche hier von Software die sowohl als "Rich"-Client wie auch im Internet verwendet werden soll. Ganz davon abgesehen ist Java zumindestens für mich immer noch keine Option, da es nicht arbeitsrelevant für mich ist (C# schon deutlich eher).
Achso. Du willst den Code eines Richclients für einen Webclient wiederverwenden. Gibts in ähnlicher Form für SWT: http://www.eclipse.org/rap/
Aber ist für Dich als .NET Entwickler ja nicht relevant.Edit: Ich finde RIA mittels AJAX interessanter als Flash, Silverlight, JavaFX und Co. - einfach weil man nichts zusätzlich installieren muss. Ich denke, dass sich AJAX noch weiter durchsetzen wird, wenn man mal schaut, was sich bei den JavaScript Interpretern in Sachen Geschwindigkeit tut (siehe Chrome, Firefox 3.1, ...).