By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,194 Members | 888 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,194 IT Pros & Developers. It's quick & easy.

Successor to C, not C++?

P: n/a
Is anyone working on a successor to C that
will be object oriented but will not be C++?
I want to avoid the problems that come with
templates (which seem to tempt some people)
and which would be acceptable for use on
embedded platforms. Ideally, it would have
exception handling. I ask this because I think,
and almost everyone I speak with about it
agrees, that C++ has gone down the wrong
path in a number of ways. Notice, I'm not
crossposting this to the C++ NG, because
I really am seeking a thoughtful, knowledgeable
response and not a religious flamewar.

Thanks.
PS: Please don't say objective C.

Dec 20 '05 #1
Share this Question
Share on Google+
17 Replies


P: n/a
<he****@yahoo.com> wrote in message
news:11*********************@o13g2000cwo.googlegro ups.com...
Is anyone working on a successor to C that
will be object oriented but will not be C++?
I want to avoid the problems that come with
templates (which seem to tempt some people)
and which would be acceptable for use on
embedded platforms.
Then you probably want EC++. It's already
widely available on embedded C/C++ compilers.
(Practically all of them use our library,
also available at our web site.)
Ideally, it would have
exception handling.
EC++ was speced without exception handling, but
you can turn it on in our library.
I ask this because I think,
and almost everyone I speak with about it
agrees, that C++ has gone down the wrong
path in a number of ways. Notice, I'm not
crossposting this to the C++ NG, because
I really am seeking a thoughtful, knowledgeable
response and not a religious flamewar.
That's kinda hard to avoid on this topic. FYI,
the C committee did consider such a creature
in the early 1990s. In the end, however, they
backed off from it, mostly due to a lack of
prior art (IMO).
Thanks.
PS: Please don't say objective C.


I won't if you won't.

P.J. Plauger
Dinkumware, Ltd.
http://www.dinkumware.com
Dec 20 '05 #2

P: n/a
In article <11*********************@o13g2000cwo.googlegroups. com>,
<he****@yahoo.com> wrote:
Is anyone working on a successor to C that
will be object oriented but will not be C++?


"Successor" is too strong a word, but yes, someone is working on
an alternative to C. Look at:

http://www.digitalmars.com/d/

--
Rouben Rostamian
Dec 20 '05 #3

P: n/a

It appears that the rationale with D is
"more is better". In the comparison given
between D and other languages, D always
has more features. I am not sure this is a
good idea, for one thing it can lead
to bloat certainly in the compiler but
possibly code too, but secondly it increases
the risk of bugs compiler and code,
especially if the number of people
writing the compiler is small.

Dec 20 '05 #4

P: n/a

<he****@yahoo.com> wrote
Is anyone working on a successor to C that
will be object oriented but will not be C++?
I want to avoid the problems that come with
templates (which seem to tempt some people)
and which would be acceptable for use on
embedded platforms. Ideally, it would have
exception handling. I ask this because I think,
and almost everyone I speak with about it
agrees, that C++ has gone down the wrong
path in a number of ways. Notice, I'm not
crossposting this to the C++ NG, because
I really am seeking a thoughtful, knowledgeable
response and not a religious flamewar.

New languages are constantly being invented, and C is a popular base.

Java seems to have most of the characteristics that you are asking for - it
is basically an attempt to produce a cleaner C++. It also has the advantage
of having achieved wide acceptance.
Dec 20 '05 #5

P: n/a
he****@yahoo.com wrote
(in article
<11*********************@o13g2000cwo.googlegroups. com>):
Is anyone working on a successor to C that
will be object oriented but will not be C++?
There is also a "D" language, which has a set of newsgroups
hosted by Digital Mars, but probably not carried by your normal
news feed. I'm not too familiar with it, and don't know whether
or not it is really OOP or not. I spent about 30 minutes
looking at it once, so the newsgroups over there would be a
better place to find out.
PS: Please don't say objective C.


Oops. That's what I was thinking, although it is a far cry from
a perfect language, it has been used for a lot of GUI apps on
the Mac platform successfully.

How close to C do you want this language to be in syntax? Does
it even need to be close, or just have the features you want?
At any rate, since this isn't about C per se, but a hoped-for
alternative, comp.programming might be a better place.

--
Randy Howard (2reply remove FOOBAR)
"The power of accurate observation is called cynicism by those
who have not got it." - George Bernard Shaw

Dec 20 '05 #6

P: n/a
Randy Howard <ra*********@FOOverizonBAR.net> writes:
he****@yahoo.com wrote
(in article
<11*********************@o13g2000cwo.googlegroups. com>):
Is anyone working on a successor to C that
will be object oriented but will not be C++?
There is also a "D" language, which has a set of newsgroups
hosted by Digital Mars, but probably not carried by your normal
news feed. I'm not too familiar with it, and don't know whether
or not it is really OOP or not. I spent about 30 minutes
looking at it once, so the newsgroups over there would be a
better place to find out.


There have been several languages called "D" (it's an obvious name for
something intended to be a successor to C, which is an obvious thing
to want to create). The one from Digital Mars is probably the best
known at this point.

[snip]
How close to C do you want this language to be in syntax? Does
it even need to be close, or just have the features you want?
At any rate, since this isn't about C per se, but a hoped-for
alternative, comp.programming might be a better place.


Or comp.lang.misc.

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Dec 20 '05 #7

P: n/a
he****@yahoo.com wrote:

Is anyone working on a successor to C that will be object
oriented but will not be C++? I want to avoid the problems that
come with templates (which seem to tempt some people) and which
would be acceptable for use on embedded platforms. Ideally, it
would have exception handling. I ask this because I think, and
almost everyone I speak with about it agrees, that C++ has gone
down the wrong path in a number of ways. Notice, I'm not
crossposting this to the C++ NG, because I really am seeking a
thoughtful, knowledgeable response and not a religious flamewar.


There are and have been several, including Modula and Ada. Ada is
probably the most successful.

--
Some useful references about C:
<http://www.ungerhu.com/jxh/clc.welcome.txt>
<http://www.eskimo.com/~scs/C-faq/top.html>
<http://benpfaff.org/writings/clc/off-topic.html>
<http://anubis.dkuug.dk/jtc1/sc22/wg14/www/docs/n869/> (C99)
<http://www.dinkumware.com/refxc.html> (C-library}
<http://gcc.gnu.org/onlinedocs/> (GNU docs)

Dec 20 '05 #8

P: n/a
"Chuck F. " <cb********@yahoo.com> wrote:
he****@yahoo.com wrote:

Is anyone working on a successor to C that will be object
oriented but will not be C++?


There are and have been several, including Modula and Ada. Ada is
probably the most successful.


Those are successors to Pascal, not to C, though.

Richard
Dec 21 '05 #9

P: n/a
Richard Bos wrote:
"Chuck F. " <cb********@yahoo.com> wrote:
he****@yahoo.com wrote:

Is anyone working on a successor to C that will be object
oriented but will not be C++?


There are and have been several, including Modula and Ada.
Ada is probably the most successful.


Those are successors to Pascal, not to C, though.


They are all procedural languages, and actually bear a closer
resemblance to C than does C++, if you except the use of weird
syntax. Ada has managed to graft on object oriented extensions in
a clean manner.

--
Some useful references about C:
<http://www.ungerhu.com/jxh/clc.welcome.txt>
<http://www.eskimo.com/~scs/C-faq/top.html>
<http://benpfaff.org/writings/clc/off-topic.html>
<http://anubis.dkuug.dk/jtc1/sc22/wg14/www/docs/n869/> (C99)
<http://www.dinkumware.com/refxc.html> (C-library}
<http://gcc.gnu.org/onlinedocs/> (GNU docs)

Dec 21 '05 #10

P: n/a
he****@yahoo.com wrote:
Is anyone working on a successor to C that
will be object oriented but will not be C++?
I want to avoid the problems that come with
templates (which seem to tempt some people)
and which would be acceptable for use on
embedded platforms. Ideally, it would have
exception handling. I ask this because I think,
and almost everyone I speak with about it
agrees, that C++ has gone down the wrong
path in a number of ways. Notice, I'm not
crossposting this to the C++ NG, because
I really am seeking a thoughtful, knowledgeable
response and not a religious flamewar.

Thanks.
PS: Please don't say objective C.


Over the past two year, I have been developping OOC which I plan to make
public at the beginning of 2006 (January or February). OOC is pure C89
code (C99 is a must) including some macros and lib and provides the
following features:

- Objects, Classes, Metaclasses and Protocols (everything is object)
- Inheritance and polymorphism (including covariant types)
- Strong code insulation (including ADT for class instances)
- Dynamic late-binding (methods, reassignable)
- Dynamic binding (protocols + methods)
- Type delegation (multiple inheritance, dynamic inheritance)
- Generic classes (genericity)
- Exceptions (non local errors)
- Simplified memory management (exception protection, efficiency)
- Closure and Composition (high order functions)
- Reflection (automatic metadata generation, requires ffi for non-obj)
- UnitTests (use reflection)
- Class dynamic loading (requires posix dynamic library)
- Threads (requires posix thread)

This is not a "new langage", neither another preprocessor. It is just
some C tricks that make possible to do OOP nearly as in Java.

a+, ld.
Dec 21 '05 #11

P: n/a
I whole heartedly agree. I had a co-worker who was interested in D
because he saw that chart showing the features that D has in comparison
to C++. It looks really silly, that chart, like little more than a
marketing gimmick. Some of the things that they listed as C++ not
having is clever lying. C++ does have some of those things, they are
just available through the standard libraries instead of native
features which really makes you stop to wonder how bogged down D must
be with features that you'll probably not need for any given
application. Sure would be nice if they included that little tidbit,
or maybe just a row for speed as well where they explain how much
slower D is than C++.

Dec 22 '05 #12

P: n/a
Laurent Deniau wrote:
he****@yahoo.com wrote:
Is anyone working on a successor to C that
will be object oriented but will not be C++?
I want to avoid the problems that come with
templates (which seem to tempt some people)
and which would be acceptable for use on
embedded platforms. Ideally, it would have
exception handling. I ask this because I think,
and almost everyone I speak with about it
agrees, that C++ has gone down the wrong
path in a number of ways. Notice, I'm not
crossposting this to the C++ NG, because
I really am seeking a thoughtful, knowledgeable
response and not a religious flamewar.

Thanks.
PS: Please don't say objective C.

Over the past two year, I have been developping OOC which I plan to make
public at the beginning of 2006 (January or February). OOC is pure C89
code (C99 is a must) including some macros and lib and provides the
following features:

- Objects, Classes, Metaclasses and Protocols (everything is object)
- Inheritance and polymorphism (including covariant types)
- Strong code insulation (including ADT for class instances)
- Dynamic late-binding (methods, reassignable)
- Dynamic binding (protocols + methods)
- Type delegation (multiple inheritance, dynamic inheritance)
- Generic classes (genericity)
- Exceptions (non local errors)
- Simplified memory management (exception protection, efficiency)
- Closure and Composition (high order functions)
- Reflection (automatic metadata generation, requires ffi for non-obj)
- UnitTests (use reflection)
- Class dynamic loading (requires posix dynamic library)
- Threads (requires posix thread)

This is not a "new langage", neither another preprocessor. It is just
some C tricks that make possible to do OOP nearly as in Java.


You might want to know that OOC is also the name of an Oberon-2 compiler
(http://sourceforge.net/projects/ooc). By the way, Oberon-2 is a
language that supports object oriented programming and it resembles C in
terms of size (smaller than C) and efficiency.
August

--
I am the "ILOVEGNU" signature virus. Just copy me to your
signature. This email was infected under the terms of the GNU
General Public License.
Dec 23 '05 #13

P: n/a
Please share the slides when they are available. It sounds very
interesting.

Dec 23 '05 #14

P: n/a
ma************@gmail.com wrote:

Please share the slides when they are available. It sounds very
interesting.


What slides? What is interesting? Without context your message is
completely meaningless. See below.

--
"If you want to post a followup via groups.google.com, don't use
the broken "Reply" link at the bottom of the article. Click on
"show options" at the top of the article, then click on the
"Reply" at the bottom of the article headers." - Keith Thompson
More details at: <http://cfaj.freeshell.org/google/>
Dec 23 '05 #15

P: n/a
he****@yahoo.com a écrit :
Is anyone working on a successor to C that
will be object oriented but will not be C++?
Digital Mars D-language ?

<...> PS: Please don't say objective C.


Why not ?

--
A+

Emmanuel Delahaye
Dec 23 '05 #16

P: n/a
"This is not a "new langage", neither another preprocessor. It is just
some C tricks that make possible to do OOP nearly as in Java."

There have been quite a few "OOC" implementations using macros over
the years. I hope you spent some time looking at those.
If you need some references let me know.

Keep us posted.

Dec 26 '05 #17

P: n/a
Marco wrote:
"This is not a "new langage", neither another preprocessor. It is just
some C tricks that make possible to do OOP nearly as in Java."

There have been quite a few "OOC" implementations using macros over
the years. I hope you spent some time looking at those.
Yes, I have read about 20 papers and 2 books on this topic from the 90's
to now. The only serious proposals were the other OOC:

http://www.planetpdf.com/codecuts/pdfs/ooc.pdf

and my early not complete and too heavy approach (where you will find
some of the references):

http://www.cern.ch/ldeniau/html/oopc/oopc.html

The others publications were more oriented to syntactic OO features than
OO concepts.
If you need some references let me know.


If you can send me your list of reference, I will check if I did not
miss one ;-)

a+, ld.

Dec 27 '05 #18

This discussion thread is closed

Replies have been disabled for this discussion.