473,407 Members | 2,315 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,407 software developers and data experts.

Successor to C, not C++?

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
17 2972
<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
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

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

<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
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
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
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
"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
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
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
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
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
Please share the slides when they are available. It sounds very
interesting.

Dec 23 '05 #14
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
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
"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
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 thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

11
by: John Bailo | last post by:
Looks like .NET is old news: http://www.winfx247.com/247reference/default.aspx <quote> Never heard of Avalon? Wow, didn't know those people still existed :) Anyway, these are the WinFX...
4
by: Christian Christmann | last post by:
Hi, I've some old code which I would like to replace by STL. It's a self-written double linked list which consists of instances of another class Element which contains the information as void*...
4
by: Jon | last post by:
There's an interesting interview with Gary Edwards, one of the leaders of the team developing the Open Document Format (used in StarOffice8, OpenOffice2, etc.) See: ...
3
by: =?Utf-8?B?Um9iS2lubmV5MQ==?= | last post by:
Hello, Does anyone know if there is going to be or already is a successor to the DSO Framer? I wonder what ever happened with the ActiveDocumentHost.... We use the DSO Framer in one of our C#...
1
bajajv
by: bajajv | last post by:
Hiii What is the successor of _dos_setfileattr(const char*, unsigned int*)? Didn't find it on google. I am using Borland 2007. Is there any newer version for this function?
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.