Subject: Re: HELP: Need reasons to use Linux / UNIX (Please Read) From: Rex Ballard Date: Wed, 3 Jul 1996 21:15:01 -0400
How the Web Was Won
Subject: Re: HELP: Need reasons to use Linux / UNIX (Please Read) From: Rex Ballard Date: Wed, 3 Jul 1996 21:15:01 -0400
In-Reply-To: <4ra9vv$kjd@goanna.cs.rmit.edu.au>
Message-ID: 
References: <833058917.18622.0@melech.demon.co.uk> <4qfpos$fek@news.netvoyage.net> <4qmq3s$58@news2.inlink.com> <4qnacn$hdq@blackice.winternet.com> <4qoofv$1kca@mule1.mindspring.com> <4qq9iu$2t8@blackice.winternet.com>  <4r3hjo$m2k@goanna.cs.rmit.EDU.AU> <4r46qq$3saq@mule1.mindspring.com> <4r8m0m$qt@goanna.cs.rmit.edu.au> <4r9oe0$1h0k@mule2.mindspring.com> <4ra9vv$kjd@goanna.cs.rmit.edu.au>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII


On 2 Jul 1996, A Shelton wrote:

> dleblanc@mindspring.com (David LeBlanc) writes:
> >ashelton@yallara.cs.rmit.EDU.AU (A Shelton) wrote:
> 
> >>You remember we had a microsoft salesman a while back? Standard 
> >>environment was Visual C++ with MFC on NT...How much of that is
> >>portable?

In case you haven't read, MFC is available for Several UNIX platforms,
including HP and SUN.  No Linux port (YET).  Microsoft isn't stupid, they
are hedging their bets.  The announcements and advertising is almost
exclusively in unix oriented publications such as Dr Dobb's Journal.

> >Quite a bit, actually.  There are transmogrifiers for MFC->X, but the
> >GUI is where you'll run into the most difficulties.  The base "engine"
> >code is much more portable.  If I wanted to assume the NT user had an
> >X server, I could just write it all for X - X clients do run under NT.
> >Nearly all of the X distribution compiles and runs under NT.

Is there a port of X-Free for NT?  One of the problems with GPL software
on NT is that you have to link Microsoft Libraries with GNU libraries.
The licenses are mutually exclusive.  It is technologically trivial, but
it is legally impossible.

> Yep... you can use the Portable solution ( X ) which is what unix
> uses.

It is much easier to make NT look like a Unix station than it is to make a
Unix station look like an NT box.  When you have 32 bit emulations calling
dynamically loaded DLLs and VXDs which go out and hammer hardware and do
their own resource allocation, it becomes tricky to deal with backward
compatibility.

Of course, if the legacy applications such as Word, Excel, PowerPoint, and
CC-Mail were supplanted with Netscape Gold, WordPerfect, Fig, Andrew,
and/or Caldera, this would result in less demand for the Microsoft
versions.

In addition, it would be necessary to transition people from 3.1/95/NT to
Linux/Unix by porting transitional applications such as Browsers, servers,
and tools to MS-Windows.

> >>I realise Ansi-C is almost 100% portable, but that's true for all
> >>OS's so it doesn't seem a very worthwhile argument.

While the language is portable, there are dependencies like libraries, asm
directives, and "Pragmas" that are common on Microsoft code that would
shred man "Standard ANSI C Compilers".  If you want portability, target
the GCC compiler and use your "proprietary but fancy" compiler to port the
GCC compiler.  Use the GCC compiler to build the GNU libraries.  You would
also need to port X11/R6 libraries under GCC.

Of course, once you've done that, you can just go ahead and port the
entire Linux application suite.  But then you would have to choose between
Linux and Linux/NT (Linux on an NT kernel).

A more interesting proposition would be to MFC for gcc.  Then you could
run NT/Linux (NT on a Linux kernel).

> >Not just ANSI C - Winsock supports a large subset of what can be done
> >with BSD sockets.

Actually, the FTP Associates developer's kit provides source code
compatibility with BSD.  Winsock doesn't deal with errno global values
well (Neither does any other NT VXD or DLL call - too many Win apps
exploit global sharing as a form of interprocess communication).

> >  But then what do I know?  I just finished porting
> >70,000 lines of UNIX networking code to NT.  Only about 500 functions
> >or so.  Of those, maybe 10-20 are actually NT specific.  There are
> >nearly as many #ifdef's to support AIX and HPUX as there are for NT.
> >I'm not counting the little stuff which is #define'd out like
> >closesocket == close.

In other words, you are saying that you can do what VRTX, MVS, VMS, and
HP/UX did.  You can put a personality library (private, proprietary,
locked in a Microsoft Vault somewhere or part of the standard OS
distribution and available for any C compiler).  Oh, I forgot, NT doesn't
come bundled with any development tools.  That's one of the nicest
features of Linux.  There are *almost* too many.

> Isn't it true to say that Winsock is a port of the Unix socket
> scheme? In which case microsoft is doing the write thing (using
> portable tech)

Winsock is one of the many IPC infrastructures supported.  I also have
pipes, unix domain sockets, unix domain datagrams, message queues,
semephores and kernel managed shared memory (cleans up after itself when
the last process dies).  In fact unix cleans up after itself (something NT
can't do - breaks Windows Legacy applications that depend on preallocated
TSR/DLL managed memory between instantiations).  Unix has a few memory
leaks, called Zombies.  They're nasty but easy to identify and fix.

> although I seem to remember all the winsock people
> saying that MS added additional calls which means only MS stack
> works properly.

Which version of Winsock are we talking about?

> >>>Posix on NT is also growing, making running what was previously
> >>>considered to be "UNIX" code much easier.  
> 
> >>I'm glad... Mr `Todd' of MICROSOFT clearly indicated something along
> >>the lines of "Serious development should be steered towards MFC"
> >>which seems to put you in differing positions.

Developing in MFC makes your system dependent exclusively on Microsoft.
This means that they can come back after you've been on the market for a
year and take 20%, up front, of your gross revenue, which they will use to
clone your application, buy you out for pennies on the dollar, or to fund
your competitor.  Next time you go to one of those "First Names Only"
training programs in Seattle, look carefully to your right and to your
left.  Both are probably competitors.  Mr Gates will choose to let one of
you live (your companies anyway).

Developing for Linux/Unix/Posix on the NT kernel leaves you free to
support a wide variety of operating systems and hardware.  If your
application is a popular as Netscape or Java, Mr Gates might even have to
pay you to continue to support NT in a few years.  At least he would have
to think carefully about bundling a competitor product.

Notice that NT 4.0 will be coming bundled with IIS 4.0?
Notice that Netscape Commerce Server and Publisher Server is ONLY
supported under UNIX?

> >There are a lot of people at Microsoft, and they have a lot of
> >different opinions.   

The only opinion that seems to count is "I want world domination of the
international information infrastructure" (I want to rule the world) Mr.
Gates.  When I turn my will and my life over to God, I don't call him
Bill.

> >Just because I develop for NT doesn't mean I'm
> >some sort of zombie who just follows along with everything MS says and
> >does, and certainly not what one MS employee posting to USENET says.

How long have you been working at Microsoft?  How long are you planning on
staying?

> >If you disagree with what Todd says, take it up with him - not with
> >me.

There are so many people speaking for Microsoft these days.  And so many
speaking against Microsoft these days.

> Didn't say you were...But Todd was a salaried employee which
> hopefully gives him some insight into the corporate culture, which
> is the only interesting part in what he said.

My inclination is to treat anything spoken by any Microsoft employee,
especially Bill Gates, as misinformation.  When Gates says he's not in the
"X" business and doesn't plan to be, you should plan for the announcement
that he is about to capture that business and drive his competitors out.
At the very minimum, he will get 20% of the action -- Up Front!

> If he is representative then his statements indicate second class
> maintenance of the POSIX sub-system, which would bite you if you
> came to depend on it.

Windows NT, out of the box barely squeaks through Posix 1.0 compliance.
It doesn't even support 2.0, and Posix 3 compliance is entirely dependent
on third party products.  The price for the "free" part of the operating
system can run well over $1000 ($500 retail for NFS, $500 for X11/R6, $200
for IPC, $400 for "shells and posix commands/apps".  Even the shareware
versions are unreasonable.

For $2000 I can have Posix compatible NT.  For $15, I can get a Linux CD.

> --
>        Linux Saga, Volume 2.0, Penguins of Destiny.
> Andrew Shelton 			   s9406182@yallara.cs.rmit.edu.au
>   GCS(2.1)-d+H+sw+v-C++UL+>L+++E-N++WV--R++tv-b+D++e+fr*y?

	Rex Ballard - Director of Electronic Distribution
	Standard & Poor's/McGraw-Hill
	Opinions expressed do not necessarily reflect
	the Management of the McGraw-Hill Companies.
	http://cnj.digex.net/~rballard





From rballard@cnj.digex.net Wed Jul  3 21:41:46 1996
Status: O
X-Status: 
Newsgroups: comp.os.linux.advocacy,comp.os.ms-windows.nt.advocacy,comp.unix.advocacy