Dailydave mailing list archives
Re: Languages that are not mandarin
From: Matt Hargett <matt () use net>
Date: Fri, 1 Sep 2006 12:01:22 -0700
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. _______________________________________________ Dailydave mailing list Dailydave () lists immunitysec com http://lists.immunitysec.com/mailman/listinfo/dailydave
Current thread:
- Languages that are not mandarin Dave Aitel (Aug 31)
- Re: Languages that are not mandarin Matt Hargett (Sep 02)