C# 为.NET开发人员学习Python

C# 为.NET开发人员学习Python,c#,.net,python,dynamic-languages,C#,.net,Python,Dynamic Languages,我在C#做了几年积极的开发工作。我主要在.NET堆栈上构建企业应用程序和内部框架 我从来没有必要在我的任务中使用C#之外的任何其他主流高级语言,因为.NET是我们使用的标准平台 我被要求支持一些遗留的Python应用程序,但我一般不接触Python和动态语言(尽管我做了不少JavaScript) 我希望得到一些指导/建议,以帮助学习一门像python这样的语言,以满足静态类型思维的需要 编辑:使用IronPython不是一个选项 我建议使用帮助您学习。它是Python在.NET框架上的一个实现。

我在C#做了几年积极的开发工作。我主要在.NET堆栈上构建企业应用程序和内部框架

我从来没有必要在我的任务中使用C#之外的任何其他主流高级语言,因为.NET是我们使用的标准平台

我被要求支持一些遗留的Python应用程序,但我一般不接触Python和动态语言(尽管我做了不少JavaScript)

我希望得到一些指导/建议,以帮助学习一门像python这样的语言,以满足静态类型思维的需要

编辑:使用IronPython不是一个选项

我建议使用帮助您学习。它是Python在.NET框架上的一个实现。因此,您可以通过访问.NET类库来使用/学习Python

一个很好的起点是下载并查看,这是一本关于.NET框架上Python的非常好的书

编辑:因为IronPython不是一个选项,所以忽略这个答案。谢谢。

Foord和Muirhead的书是一本非常好的书,非常适合向.NET用户教授Python,也非常适合向Python用户教授.NET。我可能有偏见,因为我是一名技术评论家,Foord是我的朋友,但我过去也有过这样的案例,一位朋友写了一本书,我用技术对它进行了评论——最后我认为这本书是错误的,并公开说了这句话(失去朋友的方式,但是,我就是不能说谎,至少在Python方面是如此!)


编辑:如果你被禁止使用IronPython(顺便说一句,IronPython可能会很好地支持你的遗留应用程序),那么有更好的答案:Mark Pilgrim's通常被认为是经验丰富的开发人员最好的Python简介,而我自己的简介被誉为超级明星开发人员最快的入门方式。我当然对这些有偏见——马克是我的同事,我妻子是他的书(以及我自己的书)的关键技术编辑,显然我也对我自己的书有偏见;-)。但是,我确实倾向于偏向于很多最好的Python书籍,因为我要么参与了它们的编辑,要么与它们的作者是朋友,要么两者兼而有之;-)

如果你有时间的话,这本书也值得一读。

在使用来自Java的python时,我遇到的最困难的事情是正确地将我的头放在鸭子键入的事情上。。。起初,我觉得这简直太可怕了,只是把我脖子后面的头发梳了一下

接下来是约定的范围,但这一点相当简单。空白的重要性让我感到有些不安

然而,一旦你在语言的简洁性和发展速度上放松下来,你就会学会更多地欣赏它。过了一会儿,我觉得这是我经历过的最好的事情!!:-)

以下是一些对我帮助很大的事情:

首先,我从这个开始,了解了语言的基本知识,对于日常使用来说,它非常有用。同时,他们将是你最好的盟友,尝试快速的事情,巩固你的学习

对于IDE来说,来自eclipse世界对我来说是一个自然的选择,但是还有更多的选择。但是,如果您更熟悉VisualStudio环境,它也非常好


祝你好运,希望你会发现Python和我一样有趣。

要适应动态键入,最初有一个很大的障碍。第一步是当您查看Python代码并意识到变量没有在任何地方定义时,您只是凭空创建它们,这感觉就像跳崖一样。在你的悬挂式滑翔机正确地抓住空气之前有一个短暂的时刻

在你相信你新发现的动力翼之前,还需要一段时间,而你可能只有通过与它们一起做特技飞行才能得到它们。了解python如何处理引用,享受猴子修补方法的乐趣,鸭子类型的各种动物。试着学一些难看的把戏


尽管你不能使用IronPython来实现这一点,但你没有理由不能用它来学习Python。

我建议你读一本关于它的书。初学者的书。它将包含许多你已经知道的东西,但是你不会错过任何关于使用动态语言的东西。我可以向您指出,这似乎非常友好,或者说似乎非常中肯(这就是我学习的方式)。

从C#到Python的野鸭型内陆,您将经历相当多的文化冲击。缺少类型和智能感知可能会让人望而生畏。幸好你有JavaScript方面的经验。还要知道,Python中对缩进敏感的块规则可能会因为缺乏经验而非常混乱(通常您要么喜欢它,要么讨厌它:-)


除此之外,从一种语言到另一种语言的最大挑战通常是框架。不幸的是,了解所有的类和函数需要时间。

对于学习Python的有经验的开发人员来说,这是一本非常好的书

Wesley Chun的书采用了一种更“脚踏实地”的方法,这对于一个有经验的开发人员来说可能有点慢。但它允许将基本语法和运算符与其他语言进行非常简单的比较。韦斯利的写作风格非常容易阅读,他的示例项目也非常有趣

这是学习以“Pythonic”方式编程的极好参考。这本书包含数百个关于如何使用Python解决日常常见问题的示例。总的来说,《烹饪书》系列将比其他任何一本书更快地让你接触到该语言的习语

每当我需要学习一种新的编程语言时,我就开始将它用于所有出现的“日常维护”任务——所有我通常用shell脚本或常用unix工具来解决的小问题——我开始使用新语言来解决这些问题