There were discussions in russian forums and in linux groups. The
problem is different approaches to handling terminal input/output,
encodings, different mount schemes, shortcuts, systems calls and file
attributes. The amount of work to provide a common denominator could
be so huge that it will be easier to rewrite the program from scratch.
> There are obviously many approaches :
>
> Option 1.
> Refactor C++ codebase to be cross-platform
The biggest problem is not in cross-platform C++ code, but in
cross-platform WinAPI, which makes about 80% of functionality.
> Option 2.
> Refactor to another cross-platform runtime.
> e.g. .NET (MS / Mono)
.NET / Mono sounds good. I've heard that in combination with gtk+ it
could even deliver information both to GUI and console. Still the
problem is the same - there is no code to patch or refactor, only to
write from scratch.
> 3. Leverage existing .NET platform features, such as RegEx,
> configuration, scripting (ironpython, boo, ...)
How far .NET RegEx from Perl ones. The latter are more common and not
too hard to link to existing C++ code. Scripting in .NET is already
available, at least at plugin level - see
http://code.google.com/p/farnet/ Some people work on native binding
for a Python, but this doesn't move too fast lately.
> I've successfully converted the Frodo C64 emulator from C++ to C#, so
> I was thinking of starting this as a side project / experiment.
>
> What is the level of interest in this?
I think everyone is aimed on releasing the unicode version of Far
first and there are no plans to convert codebase to C#. Far is
designed as system utility that should work even on clean Windows 2000
installation with no .NET installed
In case you still want to bring it to .NET I'd first reviewed the code
to estimate amount of work needed. If the goal can be divided into
visible tasks, it makes it easier to calculate and also increases
chances to find support among other developers. It is Open Source BSD
project, so anything is possible.
Happy Holidays!
--
--anatoly t.