[Dailydave] Languages that are not mandarin
Matt Hargett
matt at use.net
Fri Sep 1 14:01:22 EST 2006
On Thursday 31 August 06 14:42, Dave Aitel wrote:
> Computer languages, imho, being more abstract, are much much harder.
> For example, I've spent a long time trying to understand closures in
> Ruby. I don't know why, but since everyone says they're the bomb, then
> I figured it might be worth some time to see what I'm missing.
>
> I still don't understand them. I think they're something that you
> really only need for someone more complex than I ever do. I have the
> exact same problem with decorators, which are a Python feature for
> making your code look really ugly, as far as I can tell.
Closers and decorators are very handy tools for simplifying interfaces and
thereby avoiding duplication and inappropriate intimacy. I skipped the Python
craze, so I don't know how people implement them in Python, but they look
okay to me in Ruby and C#. C# 2.0 also has lexical closures and
semi-continuations, btw. I haven't seen a need for them yet, but maybe Luis
and the other programmers will in the next bugreport iteration.
> The other language research I've been meaning to play with is the
> CLR's support for Python. I've always felt that the CLR wouldn't be
> able to support Python nicely, and from what I can read on the
> IronPython lists/documentation (current downloads are a 404)
> http://www.codeplex.com/WorkItem/View.aspx?ProjectName=IronPython&WorkItemI
>d=2702 I'm probably wrong.
.NET 2.0 has some specific changes in the structure to deal with dynamic
languages, with IronPython's speed being a benchmark.
> If you can write Python in Java (jpython) then you can write it in C#,
> but the tricky thing is going backwards and letting Python classes use
> C# classes cleanly. I'm not sure this is going to really happen
> without lots of wrappers. GTK# versus pyGTK will be very interesting.
It's a matter of if you want the library consumable from *all* .NET languages
and therefore be CLS-compliant, or if you just want to interoperate with C#.
Choosing the later might screw you out of interoperating with 100%, say, boo.
Then again, 100% interoperability might not be important depending on what
your exposed API actually does.
I haven't used GTK#, but mono's WinForms implementation is coming along quite
nicely. I can use Reflector and nunit-gui, which is about all I need :)
MonoDevelop was still unusable the last time I checked. I really wish their
dick-fight with SharpDevelop would end and they would just work from the same
underlying codebase.
More information about the Dailydave
mailing list