> "       What kind of stupid answer is that? Every toddler can
> answer a 'why'
> question with 'Why not?'. Please address the question.
> Choosing the OS the app has to run on is KEY for your
> project. It's not something you can swap out and replace with
> something else.
> Not even with java in some situations. So the question if
> Linux is an option isn't something simple. Picking Linux has
> serious consequences for your application and the development
> of that application.
> So if you think you can defend your choice for Linux to your
> boss with "Why not?", I hope for you your project doesn't do
> anything fancy."
>
> Frans there is a huge coverage area for writing platform
> agnostic code with C# and mono.

        Sure, but there are a lot of issues. For starters, on Linux we don't 
have IIS, nor COM+, nor MSMQ. Oh and no winforms,
although there's something similar in the works.

> "Choosing the OS the app has to run on is KEY for your project."
>
> I think this is the biggest load of garbage I have heard in
> quite some time.
> Thats similar to saying ...
>
>  "Choosing the browser that your web application will support
> is KEY to your project"
> or
> "Choosing the database that your application will support is
> KEY to your project"
>
> You of all people should understand the value of an
> abstraction in the database context. Why is it that you
> heavily promote writing database agnostic code (which has its
> drawbacks) but you have such a problem with os agnostic code?

        Because it's reality that the OS isn't swappable in a LOT of cases 
simply because the application relies on .NET parts which
are rooted back to the OS. Winforms, IIS, COM+/enterprise services.

        Writing DB agnostic code is already hard and there you only have to 
deal with dialects in SQL, which are relatively minor
when you compare it to the differences in how Linux and Windows work for 
example. .NET and Mono don't abstract away all of that, not
by far.

> I have had mono scenarios where porting an app (over 100k
> lines of code) took less than 40 hours, of course this is
> because the areas of code that were *not* portable all just
> so happenned to be plugins as we knew at the outset that
> other platforms may be required in the future.

        Yeah well, I can assure you, my 100K lines of code which form the 
runtime of my o/r mapper won't compile on mono and it will
take a lot of effort to get it running. Perhaps not the .NET 1.x version (that 
one does compile with some work), but the .NET 2.0
version definitely will be difficult.

        Any serious winforms app, any app which uses enterprise services, any 
app which uses system.transactions, any app which uses
com interop, any app which relies on windows authentication in IIS, have fun 
running that on linux!

> This certainly beats the other two options
> a) tell the customer that you don't really want their money
> if they refuse to use windows
> b) rewrite the entire application

        IF youre lucky that it's portable, you should do it. Though there are 
apparently people in this thread who think that it's a
given that you can port an app to mono/linux, and it won't take a lot of 
effort. I call that nonsense. But hey, it's not my time and
money if a project goes down in flames because it can't run on mono due to lack 
of support for something that is in .NET and build
on a feature in windows.

        The same thing you see with people who run into the wall when they try 
to port their app to the CF.NET framework. Some
things are simply _NOT POSSIBLE_ on a given platform. you have to realize these 
things up front before you make the decision for a
platform. If you don't, and think it will be allright, you run a huge risk. 
That was my sole point.

        But whatever. Apparently I'm now seen as a mono basher, while all I 
want to say is that if you pick a different OS, it's not
a GIVEN that your code will run, no matter what amount of work you throw at it. 
I wish the people who think it is a given and a
piece of cake no matter what project, a lot of fun when they have to port a 
non-portable piece of code to linux/mono.

                FB



===================================
This list is hosted by DevelopMentorĀ®  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com

Reply via email to