Ich mag Python hauptsächlich wegen der großen Portabilität und der einfachen Programmierung, aber ich frage mich, welche Vorteile C # gegenüber Python bietet?
Der Grund, warum ich frage, ist, dass einer meiner Freunde einen privaten Server für ein Online-Spiel (UO) betreibt, und er bot mir an, einen Entwickler zu machen, wenn ich wollte, aber die Software für den Server ist alles in C # geschrieben. Ich würde das gerne machen, aber ich habe nicht wirklich Zeit, mehrere Sprachen zu machen, und ich hatte nur ein paar weitere Gründe, um C # gegenüber Python für mich selbst zu rechtfertigen.
Ich mache das alles Autodidakt als Hobby, übrigens
Es gibt viele Unterschiede, Vor- und Nachteile. Ich denke, die Hauptvorteile würden in Richtung
liegenDer Rest hängt im Wesentlichen von der persönlichen Präferenz ab (statisch getippt im Vergleich zu dynamisch, C-ähnliche Syntax oder nicht, etc.).
Viele von uns arbeiten gerne mit stark / statisch typisierten Sprachen . Das ist ein großer da.
typesafe
, was mit seinen Vorteilen einhergeht. Der JITer und die Tatsache, dass er aufgrund der statischen Typisierung einen strengeren Code produzieren kann. Der JITer kann umgangen werden, indem man eine der Nicht-CPython-Implementierungen verwendet oder auf i386 und psyco zurückgreift, aber die statische Typisierung kann nicht so trivial umgangen werden (und ich glaube auch nicht, dass es sein sollte).
>Ich habe es hilfreich gefunden, mit verschiedenen Sprachen zu arbeiten, da sie jeweils ihre Stärken haben. Python ist extrem leistungsfähig, basiert aber auf guten Codierungskonventionen und -praktiken, um den Code wartbar zu halten. Insbesondere erübrigt es Typsicherheit oder Isolierung, was bedeutet, dass es einfach zu missbrauchen ist. C # ist eine moderne objektorientierte Sprache mit starker Typisierung und anderen Funktionen, um die Isolierung und Kapselung zu erzwingen. Es ist nicht so wild flexibel, aber ich habe auch festgestellt, dass größere C # -Programme viel einfacher zu pflegen sind (besonders, wenn Sie sie von anderen Entwicklern erben.)
C # kann über "unmanaged code" direkt auf Zeiger zugreifen, was in manchen Situationen einen Leistungsvorteil bringen kann.
Nun, die Einfachheit der Codierung ist umstritten. Ich finde C # leichter zu codieren, wenn Sie die Hilfe, die Sie von den IDEs erhalten, berücksichtigen (z. B. den kostenlosen Visual Web Developer).
Portabilität ist also weniger ein Problem, wenn Sie Mono berücksichtigen. Die Leistung kann in einigen Szenarien besser sein. Ich finde die Online-Dokumentation in .NET generell besser.
Haben Sie IronPython in Betracht gezogen? Wenn Sie bereit sind, eines der .Net-Distributionen zu nutzen, in denen sich das DLR befindet (4.0 ist dort die beste Wahl, aber einige der DLR-Betas sind in Ordnung), dann können Sie C # -Code und Python-Code schreiben und haben zusammenarbeiten, ohne irgendwelche Schwierigkeiten außerhalb der Namenskonventionen ein bisschen anders.
Wenn Sie nicht daran interessiert sind, das .NET-Framework zu verwenden, können Sie stattdessen python und pyQt oder Tkinter verwenden, da Python nun eine IDE-Unterstützung für Visual Studio namens Python-Werkzeuge für Visual Studio (PTVS) bietet, die Ihnen Syntaxaufforderungen gibt Wie kommst du in VB und C # in Visual Studio? Wenn Sie jedoch auch .NET verwenden müssen, verwenden Sie Iron Python und dann Python Tools für Visual Studio und wählen Sie im Visual Studio den Compiler als Iron Python. Visual Studio wird in den Versionen 2013 und 2012 unterstützt. Ich würde sagen, es ist die beste IDE für Python und was mehr ist, wird auch von MSFT unterstützt
Überprüfen Sie den Link hier Ссылка
HINWEIS: Sie können ptvs entweder mit der Version 2.7 oder 3.0 verwenden. Ich verwende die Version 2.7, wie ich es gewohnt bin, aber für Anfänger würde ich vorschlagen, 3.0 zu verwenden, da es viele Vorteile gegenüber der Version 2.7 hat. ABER INSTALLIEREN SIE SIE NICHT IM GLEICHEN SYSTEM. Installieren Sie außerdem Visual Studio Shell Isolated und dann Integrated, bevor Sie PTVS installieren. Stellen Sie außerdem sicher, dass Ihre Python-Version mit der Betriebssystem-Bit-Version übereinstimmt.
:)