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