without an e

a bigger pond [04/30/2006 06:07:50]

I'm thinking seriously about ditching python in favor of C# as my main programming language.

That's a hard thing to say, because it means walking away from the codebase I've been tinkering with for the past six years. But maybe that's a good thing. The code I have could have been rails, but when I look at rails today, I'm not impressed. What's the point of building a tutorial site for yet another python framework, just to compete with all the other python frameworks, when you still have to do the job of convincing people to use python?

One problem is that python tools suck. Sure, there are IDE's out there that do code completion, and there's a refactoring browser, and even several GUI builders, but these all look like toys compared to visual studio express, which Microsoft now gives away for free.

C# the language isn't quite as abstract as python. There are no list comprehensions or metaclasses, but it feels like a step up from java. C# has:

Python's expressiveness blew VBScript out of the water six years ago, but C# is a real, viable language. I could see myself using it on a daily basis.

Of course, you can also chunk up to a higher level language if you need to, since so many other languages work with .NET - there's IronPython, which is sanctioned by Microsoft but appears to be rather out of date, and Boo, which is like python, not to mention LSharp and DotLisp and even stranger beasts like nemerle and mercury and lexico.

The other main advantage is the huge number of developers. Thanks to Microsoft's reach, .NET is a much bigger pond than python. I can hire .NET developers anywhere, or if i want, I can get a job as a .NET developer. (The Java pond is bigger still, but Java always felt clunky to me.)

As an example, there's an app I've been wanting to do for a long time involving interactive diagrams. In python, I'd have to build this from scratch (probably starting with wxOGL) but a quick google searches turned up several .NET libraries, including the beautiful and open source netron.

And then finally there's mono, the open source .NET implementation, so I can run and this stuff on my linux network or on my mac. Maybe even offer hosting through mod_mono. Who knows?

I guess most of all what I'm saying is it's time to stop being a hermit. There's no point spending years trying to make everything perfect while the rest of the world passes me by. I don't regret the work I've done, but it would sure be nice to forget about all that infrastructure and actually write some applications again.

IronPython outdated? Sounds like you're confusing Jim's old site with the platform. Microsoft's official site is here: http://www.gotdotnet.com/workspaces/workspace.aspx?id=ad7acff7-ab1e-4bcb-99c0-57ac5a3a9742
by anon [04/30/2006 17:03:23]
Huh. Someone should tell google. Thanks for the link!
by michal [04/30/2006 20:56:00]
I think always higher level language(Python) is better than lower level language (C..,Java..) (except operating systems ).This is evolution!
by dan [05/05/2006 07:20:41]
Post a comment:
name: (shows up on site)
url: (shows up on site)
mail: (for michal only)
no html allowed yet. sorry: