[comp.sys.mac.programmer] multi-platform revision control

rae@gpu.utcs.toronto.edu (Reid Ellis) (09/25/90)

When developing code to be compiled on different platforms such as
the Macintosh and MS-DOS machines, it is desirable and even
necessary to standardize the revision control system to make it as
accessible as possible by programmers in different environments.

Under MPW we have "projector".  Under most Unix systems we have
"RCS" and "SCCS".  I have a few questions for people who have had
to choose amongst the possible options:

	1.	If you chose "projector", how do PC users access
		the software repository [the "repo"]?

	2.	If you chose RCS or SCCS on a centralized UNIX or
		MS-DOS machine, how do the Macintosh users access
		it?  Did you have to write an MPW tool to "rsh" to
		the machine?

From what I can gather, if there is a "projector" tool under A/UX,
most of the problem is solved.  PC users can readily "rsh projector"
from their PCs and Mac users can continue as always using MPW's
"checkin" and "checkout" tools.

Please mail comments to me and I will post a summary.  Thanks!

					Reid

PS: I heard that Microsoft has in-house software to handle this.
    (a) is it true?  (b) are they planning on selling it?
--
Reid Ellis  264 Broadway Avenue, Toronto ON, M4P 1V9               Canada
rae@gpu.utcs.toronto.edu || rae%alias@csri.toronto.edu || +1 416 487 1383

kent@circus.camex.com (Kent Borg) (09/27/90)

In article <rae.654207242@fred> Reid Ellis <rae@gpu.utcs.toronto.edu> writes:
>PS: I heard that Microsoft has in-house software to handle [source code
>    control between platforms] (a) is it true?  (b) are they planning on
>    selling it?

I don't think they have what you are looking for, I don't think they
are selling what they do have.

Have you ever wondered why Microsoft applications look like they were
not written by Macintosh users?  They weren't.  Apparently Word (and
the other products out of Washington state at least) are written under
MS-DOS.  Microsoft has their own cross-development environment that
they designed when the alternative was to use the Lisa as a
cross-development environment.  Since then, the rest of us have moved
to the various native environments, but Microsoft has been perfecting
their MS-DOS version; since 1984, the rest of us have been moving to
Macs to program for Macs, but Microsoft has been using PCs.

>Reid Ellis  264 Broadway Avenue, Toronto ON, M4P 1V9               Canada
>rae@gpu.utcs.toronto.edu || rae%alias@csri.toronto.edu || +1 416 487 1383

--
Kent Borg                            internet: kent@camex.com   AOL: kent borg
                                            H:(617) 776-6899  W:(617) 426-3577
"The prospect of their mass excites astrophysicists, who are always on the
 lookout for ways to make the universe heavier"   -- The Economist, 9-22-90

francis@arthur.uchicago.edu (Francis Stracke) (10/01/90)

In article <1540@camex.COM> kent@camex.com (Kent Borg) writes:
>Have you ever wondered why Microsoft applications look like they were
>not written by Macintosh users?  They weren't.  Apparently Word (and
>the other products out of Washington state at least) are written under
>MS-DOS.  Microsoft has their own cross-development environment that

Not only are they cross-developing; they're not even compiling into
native code (as of Word 3, anyway).  Word 3 has lots of PCOD resources,
with stuff in them that looks like strings that belongs in code, from
which I infer (am I right?) that they're using UCSD P-System.

| Francis Stracke		| My opinions are my own.  I don't steal them.|
| Department of Mathematics	|=============================================|
| University of Chicago		| A mathematician is a professional	      |
| francis@zaphod.uchicago.edu	|   schizophrenic.--Me.		       	      |

palmer@nntp-server.caltech.edu (David Palmer) (10/01/90)

francis@arthur.uchicago.edu (Francis Stracke) writes:

>In article <1540@camex.COM> kent@camex.com (Kent Borg) writes:
>>Have you ever wondered why Microsoft applications look like they were
>>not written by Macintosh users?  They weren't.  Apparently Word (and
>>the other products out of Washington state at least) are written under
>>MS-DOS.  Microsoft has their own cross-development environment that

>Not only are they cross-developing; they're not even compiling into
>native code (as of Word 3, anyway).  Word 3 has lots of PCOD resources,
>with stuff in them that looks like strings that belongs in code, from
>which I infer (am I right?) that they're using UCSD P-System.

Back in 1984, when I was working on Word 1.0 for the Mac, we did our
cross development on 68000-based Xenix boxes.  (The cycle was
debug-compile-download-run).  The compiler (C of course) was developed in-house,
as far as I know it was not based on the UCSD P-System, except in spirit.
It ordinarily produced M-Code (same idea as P-Code, M stands for
Microsoft) which was interpreted, but by enclosing a block, or section
of code, in double-curly braces ('{{' and '}}') you could toggle
between M-code and native-code compilation.  The interpreter was
written in hand-optimized assembler.

This system had a lot of advantages, you could optimize with fine
granularity either for speed or for space.  Native-code segments
were several times faster than M-Code, which was several times more
compact.  For Macs with 128k of RAM (the fat Mac was still in the rumor
stage) and a single 400 kbyte drive (which also had to carry the System and
Finder), we usually optimized for space, since if code is too large,
any time savings will be eaten up by swapping it in and out of RAM.

For things like displaying text, we compiled to Native code (I
was responsible for optimizations to that section, and Word
displayed text almost twice as fast as the MacWrite of the time.)
For user interface stuff, M-Code was used.  (If it takes 5 ms to
set a check-box, instead of 1 ms, it really doesn't matter
because the user won't see the box get set until the next screen
retrace, 15 ms later.)

So reports that Microsoft developed Mac software on IBM PCs are
pure calumny.  The user interface (at least for Word 1.0) was 
developed by expatriates from Xerox PARC, who had ealier
designed the first WYSIWYG editor, BRAVO.

-- 
		David Palmer
		palmer@gap.cco.caltech.edu
		...rutgers!cit-vax!gap.cco.caltech.edu!palmer
	I have the power to cloud men's minds -- or at least my own.

philip@pescadero.Stanford.EDU (Philip Machanick) (10/02/90)

In article <1990Sep30.231919.7872@nntp-server.caltech.edu>, palmer@nntp-server.caltech.edu (David Palmer) writes:
|> Back in 1984, when I was working on Word 1.0 for the Mac, we did our
|> cross development on 68000-based Xenix boxes.  (The cycle was
|> debug-compile-download-run).  The compiler (C of course) was developed in-house,
|> as far as I know it was not based on the UCSD P-System, except in spirit.
|> It ordinarily produced M-Code (same idea as P-Code, M stands for
|> Microsoft) which was interpreted, but by enclosing a block, or section
|> of code, in double-curly braces ('{{' and '}}') you could toggle
|> between M-code and native-code compilation.  The interpreter was
|> written in hand-optimized assembler.
[stuff about choosing where to optimize for time/space]
|> So reports that Microsoft developed Mac software on IBM PCs are
|> pure calumny.  The user interface (at least for Word 1.0) was 
|> developed by expatriates from Xerox PARC, who had ealier
|> designed the first WYSIWYG editor, BRAVO.
|> 
Interesting stuff. In defence of Microsoft, one has to remember the state of
software (and development systems) on the Mac when Word 1 was launched. Did
they develop this compiler specially for the Mac?
-- 
Philip Machanick
philip@pescadero.stanford.edu

davidmck@microsoft.UUCP (David MCKINNIS) (10/05/90)

Ok, time to set the record straight on our development
practices here at Microsoft.  I can really only speak
for the Mac Word group but most of what I'll say is
true across the line.

In article <1990Sep30.231919.7872@nntp-server.caltech.edu>, palmer@nntp-server.caltech.edu (David Palmer) writes:
|> Back in 1984, when I was working on Word 1.0 for the Mac, we did our
|> cross development on 68000-based Xenix boxes.  (The cycle was
|> debug-compile-download-run).  The compiler (C of course) was developed in-house,
|> as far as I know it was not based on the UCSD P-System, except in spirit.
|> It ordinarily produced M-Code (same idea as P-Code, M stands for
|> Microsoft) which was interpreted, but by enclosing a block, or section
|> of code, in double-curly braces ('{{' and '}}') you could toggle
|> between M-code and native-code compilation.  The interpreter was
|> written in hand-optimized assembler.
[stuff about choosing where to optimize for time/space]
|> So reports that Microsoft developed Mac software on IBM PCs are
|> pure calumny.  The user interface (at least for Word 1.0) was 
|> developed by expatriates from Xerox PARC, who had ealier
|> designed the first WYSIWYG editor, BRAVO.
|> 

Well, of course David's right for Word 1.0.  It is true, however,
that a lot of our development is now PC based.  There are, at 
least, several reasons for that:

a) Historical - Hey, do you want to port all the lines of code
from Mac Word over to another development platform?  Face it, we
had the tools developed for the PC at a time when developing on
the Mac was a joke.  By the time the Mac caught up we had too
much invested in those tools.  
I would actually still argue that the tools we use on the PC
are better than anything I know about on the Mac.  I use Think C
for programming at home and their editor makes me cringe.  MPW
seems to be much better for "real" work but I haven't used it
much.

b) Space vs. speed - as David said, our P-Code (yes, it's now called
that though there is no basis in USCD P-Code) system gives us a 
great size improvement for a modest speed hit.  Certain parts of 
the program don't need to be fast, they run under PCODE.  The 
crucial parts are all hand-coded (you can't see them because under our 
linker they are in the PCODE segments too).  Take a look at 
Mac Word 4.0 vs FullWrite.  We are considerably smaller and 
run in smaller memory, most of this win is due to PCODE.
 PCODE also allowed us to win some competitions in the past (Excel vs. Jazz,
(MacWord 1.0 vs MacWrite) by letting us pack more functionality into a
particular Mac memory configuration than our competitors were able to do.

c) Code sharing (that ugly word) - yes, I know some mac folks won't
admit it, but everyone else can.  Laying out a page on the PC takes
the same logic as laying out a page on the mac.  Why write those routines
twice?

d) Portability - because we cross compile, we can use the same
compiler, linker, debugger (since the debugger runs on
MS-DOS and communicates with the target machine) and performance tools. We 
don't have to worry much about the idiosyncrasies, random differences, 
and instabilities of development tools available on the target system. We've
done development projects on Apple IIs, Commodore 64s, Atari's running GEM,
and boxes that have long passed to computer heaven. 

The fact that our tools run on a stable platform has been beneficial
for our System 7.0 development work.  While some developers
are having problems with getting their old tools to run under System 7.0,
we have no such problem since all our tools are running under DOS.

francis@arthur.uchicago.edu (Francis Stracke) writes:
>In article <1540@camex.COM> kent@camex.com (Kent Borg) writes:
>>Have you ever wondered why Microsoft applications look like they were
>>not written by Macintosh users?  They weren't.  Apparently Word (and
>>the other products out of Washington state at least) are written under
>>MS-DOS.

This claim I can refute.  While we may compile code on PCs (and most
of us believe there are good uses for PCs besides being doorstops :-))
most of us are Mac users at work and at home.

Hope this helps to set the record straight.

David McKinnis
Software Design Engineer
Microsoft Corp.
uw-beaver!microsoft!davidmck

The opinions expressed above are works of fiction.  Any relationship
to real opinions, whether living or dead, is purely coincidental.