[Mono-list] Moving from Mono/C# from C/Linux world
Ive 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. Im looking at C#/Mono because: a) Another group at our company uses C# / Windows and they rave about it. b) Id 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. Secondly, Im slightly concerned that at some point down the road (say 3 5 years) Mono, for whatever reason, will no longer be supported. From what Ive 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 dont 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? Any feedback to either question would be most appreciated. Steve ___ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list
Re: [Mono-list] Moving from Mono/C# from C/Linux world
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
RE: [Mono-list] Moving from Mono/C# from C/Linux world
ISV adoption is going to take a while in my opinion. .NET guys are mostly windows guys, and at the moment VS.NET 2005 is considered superior to mono on MS platforms. Most *nix people that would use .NET are already Java guys, and most of them probably see little reason to switch from Java. Personally I would love to be able to use mono on *nix and therefore escape windows-land, however until mono matures some I don't think there's a good reason to use it over .NET2.0 in a production environment. That said, if I ever have a client that needs both MS and *nix support I wouldn't have any problem using mono/.net1.1 -Matt McDonald -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Michael Schurter Sent: Tuesday, March 07, 2006 10:07 AM To: mono-list@lists.ximian.com Subject: Re: [Mono-list] Moving from Mono/C# from C/Linux world 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
Re: [Mono-list] Moving from Mono/C# from C/Linux world
Everyone has their opinions .. I use mono in a production environment, for a med sized pizza franchise in Canada, and hopefully soon rolling out a system using mono for one of the largest pizza companies in the world. I find mono rock solid. Regardless of how solid .Net 2.0 is your still running it on a OS i.e. windows 2003 server, etc, that is a alpha/beta version of an OS at best .. so whats better a VS.Net 2005 considered superior to mono as you say (but i dont agree) on a alpha/beta OS, or Mono on a bullit proof OS i.e. Linux end result is mono on linux is going to smoke MS .Net on a MS OS each and every time. -tl On Tue, 7 Mar 2006 14:53:42 -0700 [EMAIL PROTECTED] wrote: ISV adoption is going to take a while in my opinion. .NET guys are mostly windows guys, and at the moment VS.NET 2005 is considered superior to mono on MS platforms. Most *nix people that would use .NET are already Java guys, and most of them probably see little reason to switch from Java. Personally I would love to be able to use mono on *nix and therefore escape windows-land, however until mono matures some I don't think there's a good reason to use it over .NET2.0 in a production environment. That said, if I ever have a client that needs both MS and *nix support I wouldn't have any problem using mono/.net1.1 -Matt McDonald -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Michael Schurter Sent: Tuesday, March 07, 2006 10:07 AM To: mono-list@lists.ximian.com Subject: Re: [Mono-list] Moving from Mono/C# from C/Linux world 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
RE: [Mono-list] Moving from Mono/C# from C/Linux world
While I also prefer a *nix environment (FreeBSD), I think it's a bit myopic to say that Server 2003 isn't production ready. To me the test of an OS is always how well will it do what I want it to do, and there are times when a .NET 2.0 solution on a MS platform will produce acceptable results the fastest. SQL2005 Reporting Services and CLR integration are good examples of technologies that really are superior on a MS platform. The best platform for your needs is the one you know how to use the best. Any good sysadmin will tell you that. The reason that I'm a fan of mono is because I do think that MS and *nix both have their places. Mono makes it easy to leverage the benefits of these platforms. As I said before, I'm looking forward to watching mono mature. I very much so want to use it in a production environment because I think that there are many advantages to using *nix for many tasks. Currently I would have little problem using the 1.1 features of mono for production. However, I am somewhat addicted to things like generics, which as I understand it are not quite where they need to be yet. There are times when Mono/Linux will smoke VS.NET/MS, and there are times when the reverse it true. I try to come up with a solution that makes sense to my client. These days the most expensive things in computing are people, and as such I try to come up with the solution that minimizes the amount of cost that has to be sunk into development time, employee training, etc. Good development practice involves more than just computers. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of ted leslie Sent: Tuesday, March 07, 2006 3:31 PM To: mono-list@lists.ximian.com Subject: Re: [Mono-list] Moving from Mono/C# from C/Linux world Everyone has their opinions .. I use mono in a production environment, for a med sized pizza franchise in Canada, and hopefully soon rolling out a system using mono for one of the largest pizza companies in the world. I find mono rock solid. Regardless of how solid .Net 2.0 is your still running it on a OS i.e. windows 2003 server, etc, that is a alpha/beta version of an OS at best .. so whats better a VS.Net 2005 considered superior to mono as you say (but i dont agree) on a alpha/beta OS, or Mono on a bullit proof OS i.e. Linux end result is mono on linux is going to smoke MS .Net on a MS OS each and every time. -tl On Tue, 7 Mar 2006 14:53:42 -0700 [EMAIL PROTECTED] wrote: ISV adoption is going to take a while in my opinion. .NET guys are mostly windows guys, and at the moment VS.NET 2005 is considered superior to mono on MS platforms. Most *nix people that would use .NET are already Java guys, and most of them probably see little reason to switch from Java. Personally I would love to be able to use mono on *nix and therefore escape windows-land, however until mono matures some I don't think there's a good reason to use it over .NET2.0 in a production environment. That said, if I ever have a client that needs both MS and *nix support I wouldn't have any problem using mono/.net1.1 -Matt McDonald -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Michael Schurter Sent: Tuesday, March 07, 2006 10:07 AM To: mono-list@lists.ximian.com Subject: Re: [Mono-list] Moving from Mono/C# from C/Linux world 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