On 8 Mai, 18:08, Scott Moore <sam...@[EMAIL PROTECTED]
> wrote:
> thomas.mer...@[EMAIL PROTECTED]
wrote:
> > IMHO the number of implementations does not play a role
> > for ****tability. C has many implementations and the
> > ****tability problems which exist in Pascal are simply
> > not present. The problem is that many of the early
> > proponents of Pascal (and if you look at this discussion
> > also current proponents) simply do not care about
> > ****tability. This has to do with the areas where C and
> > Pascal came from. BTW. There is some classic article
> > about Pascal and C from Brian W. Kernighan:
> >http://www.lysator.liu.se/c/bwk-on-pascal.html
>
> Pascal has a standard, the ISO 7185 standard. Today there
> are basically two working dialects of Pascal, Borland's
> Delphi, and ISO 7185. Virtually all compilers available
> today obey one or the other, and the compiler GPC implements
> both.
So there are two Pascal langages instead of one...
> I cannot comment on the ****tability of programs between
> the Borland series implementations (others here can). The
> ****tability between conforming ISO 7185 implementations is
> outstanding.
We already talked about the missing else/otherwise clause
of the 'case' statement in the standard. I know about the
solution with an 'if' statement around the 'case' but
this is not a pretty solution. For some time I used
programs with 'if' statements around the 'case' and
else/otherwise clauses under comment so I could comment
and uncomment to adjust to the Pascal compiler used.
I had similar code variants for file handling, string
management and other things. At the end I got tired of
doing this adjustments and I switched to C.
> There is always going to "a ****tability issue" with folks
> who don't read the standards. Microsoft C products, a very
> popular implementation of C, have their own special
> constructs in C that are outside the standard. If you use
> them, you are not ****table, and Microsoft certainly uses
> them in their code.
If you use Microsoft extensions/libraries you always
use ****tability. That is exactly the reason these
extensions/libraries are desined for.
> Finally, if you are interested in getting a series of
> standard libraries for your language, thats certainly a good
> goal.
What areas should be covered by standard libraries?
> But again, who has done that? What language? C?
> The standard for C specifies the standard I/O library,
> things like printf(), scanf(), etc.
IIRC the functions guaranteed to be present in the C
library are more numerous than the ones defined in
standard Pascal. The area covered by the standard C library
is IMHO also a little bit bigger.
> Outside of that,
> (for example sleep), there are many libraries for C, none
> of them particularly standard.
Many functions from POSIX can be found also at non UNIX
operating systems.
Greetings Thomas Mertes
Seed7 Homepage: http://seed7.sourceforge.net
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, ****table, runs under linux/unix/windows.


|