jacob said:
Hi
I have put together a document explaining most extensions of lcc-win32,
why they were done, why they could be useful, and a documentation of the
string/container library that uses those extensions.
This document is not finished but I would appreciate your feedback.
jacob
Url:
ftp://ftp.cs.virginia.edu/pub/lcc-win32/proposal.pdf
I haven't read the entire document but here are some comments on what I
did review:
1.1 "Motivation":
"All development of C as an independent language has ceased and C has
been relegated to the past."
This is the kind of statement that most people here will consider
nonsense and is likely to keep many people from taking seriously
anything you say after that point. You even contradict yourself in the
very next sentence:
"The need for a simple and efficient language persists however, and C
is the language of
choice for many systems running today and many new ones."
So C has been relegated to the past but is still the language of choice
for many current and new systems?
"The objective of this proposal is to correct certain missing features
of C like its string library and the lack of a container library with a
few improvements that have been part of many computer languages since a
long time without introducing any new complexity or performance loss."
I don't think you can claim that the ideas in your proposal don't add
complexity or can be implemented without incurring a performance loss.
You present a couple of good points in the document, ones that may be
worth considering on their own as solutions to recognized issues in the
language. As a whole though, you seem to be proposing a number of
(what many would consider) radical changes which would really result in
an entirely new language.
I don't understand the mentality of trying to change the language to
more closely resemble other higher-level languages as opposed to using
something else that is out there or proposing a seperate language
altogether. If I need garbage collection, containers, operator
overloading, etc. I am going to use Java or Ruby or some other language
that better suits my needs. If C was retrofitted with all the extras
that you are proposing it wouldn't make it more attrative to me for
such tasks and would make the langauge less attractive for the things I
currently use it for. The net result would, I believe, push people
away from the language. There hasn't been much demand for many of the
features you discuss and given the reception of the C99 Standard, which
included many features that were in greater demand than your
suggestions, I don't think you are likely to get a warmer reception
from the C community.
My suggestion is to either focus on one or two ideas that address
issues that really matter to the C community (buffer overflow
prevention and string abstractions seem to be hot right now) and are
implemented in ways that are likely to be well-received or just propose
the creation of a new language (like D did).
Robert Gamble