Frage

Ich fange an einen Client zu schreiben -. Server-Anwendung mit .NET (C #) für Client- und Server-Seite

Leider ist mein Unternehmen sich weigern, für Windows-Lizenz auf dem Server Box zu bezahlen was bedeutet, dass ich meinen Code in Java neu zu schreiben muß, oder auf den Mono Weg zu gehen.

Gibt es eine gute Art und Weise C # -Code in Java zu übersetzen? Die Server-Anwendung verwendet keine .net Spezifikum, nur Quer Sprach-Tools wie Spring.net, Hibernate.net und log4net.

Danke.

War es hilfreich?

Lösung

Ich würde Gebäude für Mono vorschlagen. Sie werden in eine Grauzone laufen, aber insgesamt ist es großartig. Wenn Sie jedoch für Java aufbauen wollen, könnten Sie überprüfen Grashüpfer . Es ist ein kommerzielles Produkt, aber es behauptet die Lage sein, CIL (die Ausgabe der C # Compiler) zu übersetzen, zu Java-Bytecode.

Andere Tipps

Mögliche Lösungen zur Seite, direkte Übersetzungen in einer Sprache in eine andere Sprache geschriebene Programme ist in der Regel eine schlechte Idee ™ betrachtet - vor allem, wenn diese Übersetzung in einigen automatisiert erfolgt. Selbst wenn sie von einem „echten“ Programmierer getan, eine Anwendung zeilen übersetzen führt oft zu einer weniger als wünschenswert Endergebnis, da jede Sprache hat ihre eigenen Idiome hat, Stärken und Schwächen, die Dinge erfordern in eine etwas andere Art und Weise durchgeführt werden.

So schmerzhaft es auch sein mag, ist es wahrscheinlich in Ihrem eigenen Interesse, und diejenigen, die diese Anwendung zu halten haben sie in Java neu zu schreiben, wenn es das ist, was Ihr Arbeitgeber erfordert.

Ich weiß nur, in die andere Richtung. Dbo4 ist in Java und die c # -Version aus den Java-Quellen automatisch generiert entwickelt.

Es gibt keinen guten Weg. Meine Empfehlung ist, in Java neu zu beginnen, oder wie Sie gesagt Verwendung Mono.

Obwohl ich glaube, der erste Fehler, eine Implementierungssprache wurde die Wahl ohne eine geeignete Implementierungsumgebung zu gewährleisten, gibt es nichts, was jetzt über das getan werden kann. Ich würde denken, der Mono Weg wäre besser. Mit Code neu zu schreiben, würde nur die Kosten des Projektes erhöhen, vor allem, wenn Sie bereits eine gute Menge an Code in C # geschrieben haben. Ich persönlich versuchen, Code zu vermeiden, Umschreiben, wenn möglich.

Java und C # sind ziemlich nah dran in Syntax und Semantik. Das eigentliche Problem sind die kleinen Unterschiede. Sie werden dich beißen, wenn Sie es nicht erwarten.

Heuschrecke ist wirklich die beste Lösung zu diesem Zeitpunkt, wenn die Lizenzierung für Sie (die kostenlose Version hat einige erhebliche Einschränkungen). Sein vollständig auf der Basis der Mono-Klasse Libs (die eigentlich recht gut sind), läuft aber auf dem Standard-Java-VMs. Das ist gut, wie die Java VMs ist in der Regel etwas schneller und stabiler als Mono, in meiner Erfahrung. Es hat mehr Schwächen als Mono, wenn es um Formulare / Graphics bezogenen APIs kommt, wie viel davon wurde auf Java aus der Mono VM nicht portiert, aber.

In den Fällen waren es funktioniert, ist es wunderbar sein kann, though. Die Leistung ist manchmal sogar besser als unter Windows den gleichen Code auf MS VM ausgeführt wird. :)

Ich würde sagen, von einem maintance Standpunkt, den Code neu schreiben. Es wird die anfänglich Kosten des projet bis bringen, sondern würde weniger arbeitsintensiv später sein für jeden, auf dem Code sucht. Wie schon in früheren Bewertungen etwas Derartiges automatisierte gesagt kann so gut wie ein Job als „echte“ Programmierer nicht tun und durch die Linie tun Linie Umwandlung wird viel entweder nicht helfen. Sie wollen nicht, Code später produzieren auf das funktioniert aber ist die Hölle zu halten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top