Honey, Steve wrote:
I’ve been evaluating Mono/C# for a few weeks now and am generally impressed by what I see.



My group works currently in the C/Linux world where we develop near real-time scientific application software.

I’m looking at C#/Mono because:

a) Another group at our company uses C# / Windows and they rave about
 it.

b) I’d like to bring get my group using something more modern then C.

c) It would be nice if the two groups use the same development language to encourage code reuse.

I have two questions.

The first is what are there any things I need to worry about that would be difficult to do in the Mono/C# world that are fairly easy and standard in the C world? Note we have a distributed environment
 where most of the programs are fairly small.  The programs typically
perform a specific function (e.g. ingest the data, or run an algorithm on it) and then pass it on to the next program. Data is passed in a number of ways, but mainly through file sharing and pipes. We often use shell scripts to control the flow of data and the programs to do the actual work. In addition, we have fair number of existing C functions that I wish not to duplicate (at least not initially) but I believe I can incorporate them using SWIG.

.Net and therefore Mono is a complete platform/framework whereas
it sounds like you use the more traditional C/Unix environment of C as the language, and Unix as the platform. There's no reason you can't use the same development methodology with Mono (small apps, shell ties them together), but I think you'll be disappointed with the performance.

IMHO Mono will work much better if you work toward adopting it not just as a language, but as a framework. Use remoting instead of sockets and pipes. Write larger applications, so you don't have to tie them together with shell scripts. And definitely encourage good OO programming techniques so that your entire organization can reuse code and build a common internal framework.

This is just my $0.02. I'm not saying Mono won't work as a drop-in replacement for small C apps. I'm just saying thats not where its strengths lie.

Secondly, I’m slightly concerned that at some point down the road (say 3 – 5 years) Mono, for whatever reason, will no longer be supported. From what I’ve seen so far, Mono is a solid project with a strong following of core programmers supporting it and I see no reason why it might fade away. But I don’t have a good feel for how
 many people are using it and if that number is growing from year to
year or if it has started to stagnate, i.e. has Mono hit critical mass?

This seems to be a pretty common fear, but I think you can be at ease
about the longevity of Mono.  First of all subscribing to the mono-devel
list will give you a good idea of how quickly mono is progressing.  Also
Mono has a major corporate backer, Novell.  While Novell has seen better
days, they're not going away anytime soon, and they've completely
committed to Linux and Mono as their platform.

For the most part, the free and open source software world has accepted
Mono after some trepidation.  Popular databases distribute Mono specific
interfaces, and many popular Java projects have been ported (such as
(N)Hibernate or iText#).  RedHat's Fedora distribution even includes
Mono now, even though RedHat remains very committed to Java in the
enterprise (vs. Mono/.Net).

Also, the ECMA specifications themselves seem to be constantly
improving. There were lots of exciting language and framework improves in .Net 2.0, and lots of interesting work being done for 3.0.

The main area I see Mono acceptance as being slow is ISVs, and thats
because they're probably using Microsoft .Net, C++, or Java as their
development environment.  I think as Linux continues to gain market
share and the support of ISVs, you'll see more ISVs choosing .Net & Mono
as their cross platform development framework.  However, thats largely
speculation, and there's a pretty good argument for Java
staying/becoming dominant in the cross platform space.

--
Michael Schurter
Synthesys Computer Solutions
http://www.synthesyssolutions.com/
[EMAIL PROTECTED]

_______________________________________________
Mono-list maillist  -  Mono-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to