Frage

Ich arbeite in einer Microsoft-Umgebung, so kann ich mit meinem C# hammer auf den Nägeln, auf die ich stoße.Dass gesagt wird, welche Sprachen (kompiliert, interpretiert, scripting, funktionale, alle Typen!) ergänzen, zu wissen, C#, und für welche Zwecke?Zum Beispiel, ich habe viel bewegt von Skript-Funktionalität Weg von der Konsole kompiliert apps und in Powershell-Skripts.Wenn Sie ein MS-Entwickler sind, haben Sie eine Nische gefunden, in deiner Welt, die für andere Sprachen wie F#, IronRuby, IronPython, oder etwas ähnliches, und welche Nische Sie füllen?

Hinweis:diese Frage richtet sich an den Microsoft dev Menschen, da kann ich nicht laufen off und starten Sie die Installation LAMP-stacks rund um mein Unternehmen, und deshalb mit Unterstützung für immer.:) Allerdings fühlen Sie sich frei, zu erwähnen, alle anderen Sprachen, die Sie interessant finden zur Erfüllung einer bestimmten Aufgabe/Rolle in der Welt, abgesehen von Ihrer Hauptsprache.

War es hilfreich?

Lösung

Python/Perl/Ruby/PowerShell sind große Ergänzungen zu C#/VB.NET.Wenn dein Chef dir eine text-Datei und sagt, stecken Sie es in die Datenbank ein-oder zweimal, dann ist jede von Perl/Python/Ruby (ich bin mir nicht sicher über die powershell kann mir aber vorstellen, ist es nicht viel schwieriger ist) fein zu analysieren.Entweder Weg, für Ihre wichtigsten Anwendungen, die Sie wahrscheinlich stecken in C#.Sie können eine der dynamischsten Sprachen zu tun, die code-Generierung in C#.

Da Sie in einer Microsoft-Umgebung, wahrscheinlich Ihre beste chance, Ihre Lösung akzeptiert wird PowerShell.Neben, dass, würde ich sagen, IronPython oder etwas anderes, lässt sich mit der CLR.Aber das Hauptproblem ist, dass für jemand anderen zu halten, was Sie tun, würden Sie haben, um zu wissen, welche Sprache Sie verwenden.MS in der Zukunft plant PowerShell verwenden, viel mehr, so ist es wahrscheinlich leichter zu rechtfertigen PowerShell dann sagen, Python/Perl/Ruby.

Wenn Sie nur die Bearbeitung einer text-Datei für den einmaligen Gebrauch.Oder das erstellen eines Zeit-code-generator erzeugen Sie den code, und dann pflegen wollen den generierten code, dann ist es egal.Sie sind derjenige, der zu verbrauchen, die Ergebnisse und, wenn Sie Zeit sparen, mit Hilfe von Perl dann mehr Leistung für Sie.Aber wenn Sie etwas tun, das verwendet werden über und über wieder (wie ein aktiver code-generator, wo ändern Sie die Vorlagen und führen Sie den generator anstelle der Aufrechterhaltung der generierte code) dann anderen Entwicklern zu arbeiten, was Sie haben müssen, um zu wissen, die Sprache, die Sie verwendet.Es ist viel schwieriger zu argumentieren, learning Perl/Ruby/Python in a Microsoft Shop.Aber PowerShell scheint ein einfacher argument.Ich glaube, die MS grand plan ist, dass irgendwann die Anwendungen werden weitere Funktionen verfügbar machen für power-shell durch commandlets.Vorausgesetzt, dies geschieht dann PowerShell ist auch eher ein no-brainer, da es aussetzen Tonnen skriptfähige Funktionalität, dass Sie nicht bekommen jede andere Art und Weise.

Andere Tipps

Eine schöne Skriptsprache ist immer ein gutes Werkzeug zu haben, die auf Sie Gürtel.Finden Ruby, oder Python.

Ich benutze python für das prototyping, da gibt es fast keine turn-around-Zeit zwischen den Bearbeitungen und tatsächlich läuft die neue version des Codes.Ich kann sogar am Ende mit es für ein reales Projekt, je mehr ich es benutze, desto besser mag ich es.

Es wird nehmen einige immer verwendet, um eine C# - Programmierer, aber die Einrückung definiert-Struktur-system verwendet wird, ist ein wenig seltsam auf den ersten.

Da sind Sie im MS shop, würde ich vorschlagen, PowerShell als ein anständiges Skript-Sprache zu lernen.Es spielt gut mit C#.Ich bin ein großer fan von Ruby zu.

Ich möchte auf einen zweiten oder Dritten python.Speziell IronPython (ttp://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython) können Sie lernen, python, sondern bietet Ihnen auch Zugriff auf die .net framework goodies.

Es ist ganz nett für scripting-bezogene Aufgaben, so wird es wahrscheinlich hilfreich sein für Ihre Tag-zu-Tag-Codierung Leben, und auch ein schöner Weg, um dreck um in einem experimentellen Codierung/prototyping Weg.

Es ist zwar ein bisschen von fringe Sprache, bin ich gezwungen, zu erwähnen Erlang.Erlang ist eine ausgezeichnete Sprache, um zu haben in Ihre toolbox, da es ungewöhnlich, stärken neigen dazu, zu ergänzen andere Plattformen.Erlang ist sehr nützlich, um verteilte, gleichzeitige, fault-tolerant systems.Es ist eine Menge verwendet, in instant-messaging-und Telefonie-Welt, wo es einen Bedarf an verteilten, aber miteinander verbundenen Architekturen.

Vielleicht spielen Sie, um mit Boo und sehen, was Sie denken.
Boo an Codehaus.org
Boo bei Wikipedia

Wenn Ihr mit der .Net framework, die Sprache ist wirklich nicht wichtig, wie der compiler und der interpreter die gleiche IL-code in jedem Fall.

Wenn Sie Schritt Weg von der .Net Welt, bin ich der Meinung, dass Entwicklungswerkzeuge und-Sprachen sind eine tool-box.Ich bemühen zu nutzen, die richtigen Werkzeuge für die Arbeit an der hand, unter Berücksichtigung was der skill-Basis für die anderen Entwickler sind und in welche Richtung ein Unternehmen versucht natürlich (ich bin ein Berater).

Ich bin mit jjnguy.Versuchen Sie eine der Script-Sprachen.Plus als bonus, wenn Sie lernen, Ruby/PythonPearl, etc...es ist ein gateway-Medikament...err Sprache zu entwickeln, die für andere Umgebungen.

Ausprobieren von Sprachen außerhalb des normalen toolbox wird Ihnen neue Wege der Annäherung an die Dinge, die in Ihrer aktuellen Lieblings-Sprache.Auch wenn Sie verwenden Sie Sie nicht für ernsthafte Projekte in Programmiersprachen wie Perl (für Daten mangeln), Lisp (funktionale Programmierung) und Javascript (Prototyp-basierte Programmierung) lernen Sie neue Wege, um über Probleme nachdenken, die in der aktuellen Sprache.

As a web developer by trade, vielleicht schauen Sie in die XSLT/XPath-Familie, die für bestimmte Arten der XML-Verarbeitung, können Sie sehr leistungsfähige Werkzeuge.

Zugegeben, in C# 3.x Linq2Xml stellt einige ähnliche Funktionen inline.

XSLT, jedoch kann ein kraftvoller Weg sein, um separate Daten von der Präsentation in Ihre apps.

Ich bin sehr interessiert in F#, und einige der anderen neuen Sprachen in der CLR/DLR.Die DLR-Sprachen könnten viel besser für Ihre Benutzeroberfläche, weil Sie nicht machen Sie cast eine Menge dummer Dinge.

Ich denke aber, dass es wichtig ist, im Auge zu behalten tha lernen einer neuen Sprache, vor allem in einer neuen Umgebung, wie funktionale Programmierung, ist immer ein guter Weg, um zu re-trainieren Sie Ihren Geist, so dass Sie ausgesetzt sind neue Konzepte und können Sie code besser in Ihrer Sprache der Wahl, auch wenn Sie nie verwenden diese neuen Sprachen.

Check out Boo - es läuft auf der Oberseite des .NET-stack, aber die syntax ist eher wie Python.

Eine neue Sprache zu lernen, das ergänzt, C#, dann würde ich mit C++.Sie können es verwenden, in einer " Weise, die besser ist als die p/invoke-Stil, um den Zugriff auf nicht verwalteten code aus dem C# - apps.Sie können dann beginnen, es zu schreiben, memory-constrained-apps, und/oder performance-kritische bits, wenn Sie einige Ihrer .NET-Anwendungen starten in Beschlag alle der RAM und/oder CPU oder einfach nur in der Regel nicht so schnell, wie Sie möchten.

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