[comp.lang.pascal] Microsoft Pascal : Why does it still exist ?

sawant@nunki.usc.edu (Abhay Sawant) (02/01/89)

In the domain of Pascal implementations, Turbo Pascal is really head
and shoulders ahead of the competition (evidenced by the sheer lack of
competition ?).  How and why does Microsoft keep churning out newer
versions (each of them ponderous and painful) of Microsoft Pascal ?

Is there any large group of people who would actually prefer MSP ?

	-ajay
-------------------------------------------------------------------------------
You're never too old to have a happy childhood.

ajay shah (213)745-2923 or sawant@nunki.usc.edu
_______________________________________________________________________________

slezakm@jacobs.CS.ORST.EDU (Mark Slezak) (02/02/89)

I read (last week?) in Info-World Microsoft is has announced Quick Pascal.
The artical said Mircosoft used Borland's own MircoCalc to show off Q-Pascal's
speed and just compatible it is. 

What next? Quick-FORTRAN? Quick-Cobol?

Mark.
{tektronix,hp-pcd}!orstcs!jacobs.CS.ORST.EDU!slezakm

dwd@sfsup.UUCP (D.W.Dougherty) (02/02/89)

While I am a big fan of Borland's compilation tools, especially Turbo
Pascal, I really like some of the things that Microsoft did with their
Pascal compiler.  Borland has make lots of useful extensions to the
language, but they have overlooked what I believe are the two most 
obvious extensions:

	1) allowing functions to return user defined types
	2) functions and procedures as parameters to other
		functions or procedures

Of course, MS has done some pretty nasty things with their compiler;
i.e., let's map identifiers to all upper-case (*WHY*)??

drc@claris.com (Dennis Cohen) (02/03/89)

> Of course, MS has done some pretty nasty things with their compiler;
> i.e., let's map identifiers to all upper-case (*WHY*)??

Maybe it's because Pascal is not case-sensitive and other languages such as
C and Modula-2 are as are the linkers which support them.  Because of this
there needs to be some _consistent_ method of referencing procedures written
in other languages and thus support multi-language development.  Mapping
all Pascal procedure/function names to upper-case (or lower-case) seems an
altogether reasonable thing to do so that the linker may properly resolve
references to a procedure written in Pascal from a program written in C.
This "convention" is not uncommon.  The same thing is done by the MPW
product on the Macintosh.

Dennis Cohen
Claris Corp.
------------
Disclaimer:  Any opinions expressed above are _MINE_!

ags@s.cc.purdue.edu (Dave Seaman) (02/03/89)

In article <4741@sfsup.UUCP> dwd@/guestc/dwdUUCP (xt1121-D.W.Dougherty) writes:
>Borland has make lots of useful extensions to the
>language, but they have overlooked what I believe are the two most 
>obvious extensions:

>	1) allowing functions to return user defined types

That is indeed an extension that is worth having.

>	2) functions and procedures as parameters to other
>		functions or procedures

That is not an extension; it is a part of standard Pascal.  Any compiler
that doesn't have it is not Pascal.  (Yes, that means TP is not Pascal.)

-- 
Dave Seaman	  					
ags@j.cc.purdue.edu

abcscnuk@csuna.UUCP (Naoto Kimura) (02/04/89)

In article <4741@sfsup.UUCP> dwd@/guestc/dwdUUCP (xt1121-D.W.Dougherty) writes:
]... (text deleted)...
]Pascal compiler.  Borland has make lots of useful extensions to the
]language, but they have overlooked what I believe are the two most 
]obvious extensions:
]
]	1) allowing functions to return user defined types

If you happen to mean ennumerated types (which are ordinal types), I
think that they are part of standard, not an extension.  If I recall,
I was able to return enumerated types in TP.

If you're talking about returning record types, which is non-standard,
they'll have to change how the return value is passed back.  At present,
Borland's TP uses AX register to pass back value.  You'd need to use
either the stack segment or some other segment to return the value.

]	2) functions and procedures as parameters to other
]		functions or procedures

Actually, procedural and functional parameters are part of standard.
Borland has implemented something similar with "procedural types"
in version 5.

]Of course, MS has done some pretty nasty things with their compiler;
]i.e., let's map identifiers to all upper-case (*WHY*)??

Actually, Standard Pascal is case-insensitive.  Borland's Turbo Pascal
will also ignore case.  You should never rely on case to differentiate
between identifiers.  Nor should you rely on identifiers to be unique if
they differ somewhere beyond the 8th character (this will vary with the
implementation).

One complaint that I have of TP is that it doesn't have get() or put(),
nor does it implement page(), nor does it allow accessing file buffer,
as in standard (I can probably do this by using the TextRec type, but
that'll make my programs non-portable).

                //-n-\\				Naoto Kimura
        _____---=======---_____			(csun!csuna!abcscnuk)
    ====____\   /.. ..\   /____====
  //         ---\__O__/---         \\	Enterprise... Surrender or we'll
  \_\                             /_/	send back your *&^$% tribbles !!