From phillip@phillipholmes.com Sat Jun  3 11:24:40 2006
Return-Path: <cyrus@polystimulus.com>
Received: from murder ([unix socket]) by polystimulus.com (Cyrus
	v2.2.13-Debian-2.2.13-3) with LMTPA; Sat, 03 Jun 2006 11:24:40 -0500
X-Sieve: CMU Sieve 2.2
Received: by zbowling.com (Postfix, from userid 65534) id 411C5F40EB; Sat, 
	3 Jun 2006 11:24:40 -0500 (CDT)
X-Spam-Checker-Version: SpamAssassin 3.1.1 (2006-03-10) on polystimulus.com
X-Spam-Level: ****
X-Spam-Status: No, score=4.2 required=5.0 tests=AWL,NO_FORMS,
	RCVD_IN_NJABL_DUL,RCVD_IN_SORBS_DUL autolearn=no version=3.1.1
Received: from core (pool-68-238-149-14.dllstx.fios.verizon.net
	[68.238.149.14]) by zbowling.com (Postfix) with ESMTP id 64D45F40C5 for
	<zac@zacbowling.com>; Sat,  3 Jun 2006 11:24:37 -0500 (CDT)
Reply-To: <phillip@phillipholmes.com>
From: "Phillip Holmes" <phillip@phillipholmes.com>
To: "'Zac Bowling'" <zac@zacbowling.com>
Subject: FW: [ADVANCED-DOTNET] How ready is Mono? (was: Cool open source)
Date: Sat, 3 Jun 2006 11:25:03 -0500
Message-ID: <004501c6872a$4469fa10$0200a8c0@core>
MIME-Version: 1.0
Content-Type: text/plain; charset="windows-1250"
X-Mailer: Microsoft Office Outlook 11
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869
Thread-Index: AcaG2sJzLWRRUXaER0eQv7VeCMYQIQAAOWtQABOk31A=
X-Evolution-Source: imap://zbowling@mail.zbowling.com/
Content-Transfer-Encoding: 8bit

 

-----Original Message-----
From: Discussion of advanced .NET topics.
[mailto:ADVANCED-DOTNET@DISCUSS.DEVELOP.COM] On Behalf Of Frans Bouma
Sent: Saturday, June 03, 2006 2:18 AM
To: ADVANCED-DOTNET@DISCUSS.DEVELOP.COM
Subject: Re: [ADVANCED-DOTNET] How ready is Mono? (was: Cool open source)

> "       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



--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.8.1/354 - Release Date: 6/1/2006


-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.8.1/354 - Release Date: 6/1/2006
 

-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.8.1/355 - Release Date: 6/2/2006
 


