fetchmail-friends
[Top] [All Lists]

Re: [fetchmail]fetchmail fork?

2004-05-25 11:04:41
Brian Candler <B(_dot_)Candler(_at_)pobox(_dot_)com> writes:

Perhaps this would be a good candidate for Mono/C#?  
I've not coded yet in C#, but I've been looking for a project to play 
with it.

C# rings "Microsoft" in my ears... but I too would be interested in seeing
alternatives for compiled languages. ObjectiveC ?

I've never seen C-sharp or Objective C in action.

David Relson has some Objective C experience, we might just ask him if
that would do such a project any good.

With interpreted languages (any will be fine if it allows plugins with
either C++ or C linkage), Python is the tightest integrated into GNU
tools, offers OOP (and not the @ISA special-casing crap you'd need in
Perl, been there, done that, and nearly puked, wasted six weeks...), and
Ruby is also said to be pure OOP. There may be more I don't know ATM,
and I don't know which would lend itself to the task. Lutz Donnerhacke
who has a certain reputation for computer security touts Ada95. There's
also Erlang, CLisp, OCaML, Haskell and some hundred other languages.

Some things we should keep in mind:

- maintainability
  Some eager coders are lurking this list :-) who are just waiting to
  fling (ahem) the next language on their list.
  Given that we might not want to encourage a fetchmail-iii rewrite when
  we've dropped from the net, focused on other things, we should use a
  language that is either easy to learn or in wide-spread use.

- portability
  if it only works on two platforms, the project is dead.

- extensibility and reuse
  C linkage interfacing should be a given so we can interface, for
  instance, libesmtp (just because it's the first thing that comes to mind)

And there's certainly more.

C++ is rather portable and has high-quality development tools and is
understood and written by many. Similar for Java although that may just
drown your 486 home server. (Ever used "smpatch" on Solaris? I have, on
an UltraSparc IIi/400 with 1/2 G of memory. It's _SLOW_.). C#? Dunno,
never looked.

Script languages are rather portable, and porting them is not our effort. :)

-- 
Matthias Andree

Encrypted mail welcome: my GnuPG key ID is 0x052E7D95