Python vs C#

转载 2006年06月04日 12:05:00
> I've used Python for most of my university projects so far (at least
> where I could choose what to use), and I've had professors look at me > asking why I chose "an outsider" like Python over languages (considered
> to be "stronger") such as C++ and SML (whatever...).

> They only asked until they had a look at the code I had produced. :)

Likewise. And I actually succeeded in getting several people
interested. I love Python. But I love C# just as much and it is hard
to say which one I love better.

No too long ago, I had to create a tool for an information retrieval
project. I needed RegEx, GUI, Containers and Database features. And I
needed to make this fast. First I looked at Delphi. It had by far the
BEST GUI framework. Nothing else even comes close for GUI RAD. In most
cases, I just need to go a web site like and simply pick
from a choice of open source components. BUT it did not have RegEx.
Sure there was a lib or 2 out there but nothing standard. Same story
with containers.

Then I started with Python. Python had everything I needed. But my app
was GUI rich and it was taking too long to layout the interface. Even
with Boa Contructor, it still was taking a while. I had already
finished writing most of the classes for the app.

I switched to C#. Surprise. It took me hardly any time to port the
Python code to it. For everything I needed from Python, I had direct
analogues in C# (at least in the context of my app). And I finally
wrapped everything up quite quickly. I enjoyed C# as much I enjoyed
Python. Of course, the user was quite dismayed when I told him about
the 28 MB of dependencies. But the software did exactly what it was
expected to.

As for static typing, that never slows me down. What makes C++ slower
to program in not declaring types. It's the memory details to watch,
complex developmental cycles (not just compile time), lack of quick
libraries (batteries included) that we get with languages like Perl
and Python etc.

What enhanced my C# experience has a lot to do with mature tools than
with the language per se. The VS2003 IDE is far more complete than
PythonWin and Boa. Code Completion, Help integration for example is
far more mature and often means I rarely have to refer to the docs.

The standard library is fantastic as well. MS finally made a
developmental tool that is hard to point fingers at.

Personally I would like to see Python in a .NET environment. Not some
silly IDE add-in like Visual Python. One comment in this thread was
that Python's dynamic typing makes it difficult to port it to .NET.
But Perl is dynamically typed too. And ActiveState has a feasible .NET
language with Perl. What gives for Python? I don't know much about the
language internals but I believe true integration of Python into VS
will do it a world of good.

Adding onto "what C# can do that Python can't?", I am now developing
an app for the PocketPC with the Compact Framework in C#. The app is
every bit as professional as an experienced programmer might have
developed with eVC. And I was able to do it in a fraction of time of
it might have taken with C++ and MFC and this is my FIRST PocketPC
app. Python cannot do that at this point of time.

Similarly ASP.NET like development experience is hard to get from
Python at this point. Yes! There are several webapp frameworks for
Python and then there is Zope. But ASP.NET is something else and suits
certain kind of web apps quite well (Though Zope is way to go for
CMS). I am sure Python community will catch up eventually to this
paradigm but for now it doesn't.

VS2010 下C#调用与整合python函数

1.下载IronPython2.7( 2.安装IronPython2.7 3.VS2010创建Console程式,参考引用C...


python与C#的互相调用 一、C#调用python 新建一个项目,添加引用:IronPython.dll,Microsoft.Scripting.dll(在IronPython...




C语言:代码编译得到机器码,机器码在计算机上直接运行,每一条指令直接控制cpu工作。         其他语言:代码编译得到字节码,虚拟机执行字节码并转换成机器码后在处理器上运行。        ...


  • 2017年11月15日 23:04
  • 712KB
  • 下载


  • WuLex
  • WuLex
  • 2017年06月20日 16:07
  • 2591


  • 2015年08月18日 13:27
  • 4.03MB
  • 下载


1、自动属性的增强1.1、自动属性初始化 (Initializers for auto-properties)C#4.0下的果断实现不了的。 只要接触过C#的肯定都会喜欢这种方式。真是简洁方便呀...
  • WuLex
  • WuLex
  • 2017年06月20日 20:59
  • 435
您举报文章:Python vs C#