473,405 Members | 2,294 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,405 software developers and data experts.

C Object System

I just put the draft of my paper on the web:

http://cern.ch/laurent.deniau/html/c...la07-draft.pdf

I would be interested by any feedback from C programmers (with little OO
knowledge) to improve the paper quality, even if I don't know yet if the
paper will be accepted. It is not intended to be a manual nor an
introduction to OOP. Just to mention it (not in the paper), my
programming background is 10+ years of C/C++.

Kind regards,

ld.

ABSTRACT:
The C Object System (COS) is a recent framework entirely written in C
which implements high-level concepts available in CLOS, OBJECTIVE-C and
other object-oriented programming languages: uniform object model
(class, metaclass and property-metaclass), generics, multimethods,
delegation, exceptions, contracts and closures. It relies on the
programmable capabilities of C to extend its syntax and to implement the
aforementioned concepts as first-class objects. COS aims at satisfying
several general principles like simplicity, flexibility, extensibility,
efficiency and portability which are rarely met in a single programming
language. Its design is tuned to provide efficient and portable
implementation of message dispatch and message forwarding which are
the heart of code flexibility and extensibility. With COS features,
software should become as flexible and extensive as with scripting
languages and as efficient and portable as expected with C programming.
Likewise, COS concepts should significantly simplify adaptive,
aspect-oriented and subject-oriented programming as well as distributed
systems.
Apr 18 '07
62 4267
Mark McIntyre <ma**********@spamcop.netwrites:
On Thu, 19 Apr 2007 16:32:32 -0700, in comp.lang.c , Keith Thompson
<ks***@mib.orgwrote:
>>Mark McIntyre <ma**********@spamcop.netwrites:
[...]
>>comp.lang.lcc-win32 and the ilk discuss specific implementations of
the language.

There's no comp.lang.lcc-win32 newsgroup,

Quite possibly you're right. However I don't give two hoots. T'was
merely an example of how to differentiate between comp.lang.c and some
arbitrary implementation's newsgroup.
Fair enough.

In general, the nonexistence of an appropriate newsgroup for some
topic does not excuse the assumption that comp.lang.c is appropriate.
But in this particular case, the existence of comp.compilers.lcc
removes even that excuse.

--
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."
-- Antony Jay and Jonathan Lynn, "Yes Minister"
Apr 21 '07 #51
In article <a6********************************@4ax.com>,
Mark McIntyre <ma**********@spamcop.netwrote:
>>Technically Jacob is correct, since C99 "cancels and replaces" C89.
>No. As far as the publication of the Standard goes, this is correct.
As far as the implementation of standards goes, its not.
Presumably implementations of standards cease to be such when the
things they implement cease to be standards. They become
implementations of former standards.
>Consider: your favorite car maker brings out the new, improved Edsel.
Does that stop your older model being an Edsel? No, its just an older
model.
I don't know much about cars, but I assume car makers do not say that
new models "cancel" old ones.

-- Richard
--
"Consideration shall be given to the need for as many as 32 characters
in some alphabets" - X3.4, 1963.
Apr 21 '07 #52
On 21 Apr 2007 00:14:41 GMT, in comp.lang.c , ri*****@cogsci.ed.ac.uk
(Richard Tobin) wrote:
>In article <a6********************************@4ax.com>,
Mark McIntyre <ma**********@spamcop.netwrote:
>>>Technically Jacob is correct, since C99 "cancels and replaces" C89.
>>No. As far as the publication of the Standard goes, this is correct.
As far as the implementation of standards goes, its not.

Presumably implementations of standards cease to be such when the
things they implement cease to be standards. They become
implementations of former standards.
IMHO this is a gratuitously fine line out here in the Real World, and
one being drawn for ulterior reasons. In the hypothetical world of ISO
and other standards orgs, no doubt you're correct.
>I don't know much about cars, but I assume car makers do not say that
new models "cancel" old ones.
You don't know much about cars, as you say... :-)
--
Mark McIntyre

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it."
--Brian Kernighan
Apr 21 '07 #53
It seems the proper place to discuss this topic is
comp.lang.misc
[But it seems you didn't post there.]
This is where new programming languages and systems are usually
presented and discussed.

Even though COS is written in C it is not really about the C language.

I think it is perfectly valid to announce here to get "views" but you
should have suggested to visit comp.lang.misc for an in depth
discussion.

my humble opinion


Apr 21 '07 #54
On Apr 21, 10:41 am, Mark McIntyre <markmcint...@spamcop.netwrote:
(Richard Tobin) wrote:
Technically Jacob is correct, since C99 "cancels and replaces" C89.

Consider: your favorite car maker brings out the new, improved Edsel.
Does that stop your older model being an Edsel? No, its just an older
model.
Irrelevant example. C99 cancels C89. New Edsels don't cancel old
Edsels.

Apr 22 '07 #55
ri*****@cogsci.ed.ac.uk (Richard Tobin) wrote:
In article <a6********************************@4ax.com>,
Mark McIntyre <ma**********@spamcop.netwrote:
>Technically Jacob is correct, since C99 "cancels and replaces" C89.
No. As far as the publication of the Standard goes, this is correct.
As far as the implementation of standards goes, its not.

Presumably implementations of standards cease to be such when the
things they implement cease to be standards. They become
implementations of former standards.
Consider: your favorite car maker brings out the new, improved Edsel.
Does that stop your older model being an Edsel? No, its just an older
model.

I don't know much about cars, but I assume car makers do not say that
new models "cancel" old ones.
Ah. And there's the rub. To the mechanics, they do not. To the
salesweasels, they do.

Richard
Apr 23 '07 #56
Marco wrote:
It seems the proper place to discuss this topic is
comp.lang.misc
[But it seems you didn't post there.]
This is where new programming languages and systems are usually
presented and discussed.
My post what targeting comments from C programmers, not COS as a new
language. The reason is that I plan to use it for development with C
programmers in a near future and I wanted to know if it looks simple
enough to be handled by C programmers in a couple of days (say after
having read a more in-depth manual).
Even though COS is written in C it is not really about the C language.

I think it is perfectly valid to announce here to get "views"
That was the idea.
but you
should have suggested to visit comp.lang.misc for an in depth
discussion.
I didn't know about this group but usually groups *.misc get either
little valuable information, either little bandwidth. Still, I will do a
post to see what happens ;-) Thanks for the suggestion.

As an example, I also posted to comp.object, but because 'C' appears in
the title, I think nobody read the post or the paper. Which is a bit
amusing, because COS proposes an object model (CLOS object model) which
answers to discussions like "Why OOP failed?" and variant. Since this
kind (very long religious) discussion appear every two weeks on this
group, so I thought that people would be interested by the paper and
feedback valuable opinions, but it seems that they prefer to repeat
discussions about known problems than to see how to solve them.

In the same way, it is not because I asked to C programmers their
opinion that I am not interested by feedback on the object model or any
other aspects of the paper. A lot of C programmers have a good
(sometimes deep) knowledge of other OO languages.

a+, ld.
Apr 23 '07 #57
On 22 Apr 2007 14:50:11 -0700, in comp.lang.c , Old Wolf
<ol*****@inspire.net.nzwrote:
>On Apr 21, 10:41 am, Mark McIntyre <markmcint...@spamcop.netwrote:
>(Richard Tobin) wrote:
>Technically Jacob is correct, since C99 "cancels and replaces" C89.

Consider: your favorite car maker brings out the new, improved Edsel.
Does that stop your older model being an Edsel? No, its just an older
model.

Irrelevant example. C99 cancels C89.
This argument is tautological and therefore not an actual argument...

"A cat is a mammal" "why?" "because its a sort of mammal"
>New Edsels don't cancel old Edsels.
Try telling that to the marketing dept.
--
Mark McIntyre

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it."
--Brian Kernighan
Apr 23 '07 #58
Richard Bos said:
ri*****@cogsci.ed.ac.uk (Richard Tobin) wrote:
<snip>
>>
I don't know much about cars, but I assume car makers do not say that
new models "cancel" old ones.

Ah. And there's the rub. To the mechanics, they do not. To the
salesweasels, they do.
Quite so. And comp.lang.c is a technical newsgroup, not a sales channel.
From a practical perspective, ISO/IEC 9899:1990, no matter how obsolete
it is supposed to be, is not merely extant but dominant.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at the above domain, - www.
Apr 23 '07 #59
In article <Jt******************************@bt.com>,
Richard Heathfield <rj*@see.sig.invalidwrote:
>Quite so. And comp.lang.c is a technical newsgroup, not a sales channel.
From a practical perspective, ISO/IEC 9899:1990, no matter how obsolete
it is supposed to be, is not merely extant but dominant.
Though I of course agree that C90 is still the dominant standard, I
can't help feeling that your argument is inconsistent with your usual
position. If this group is dedicated to the discussion of standard
C, and the current C standard itself declares that C90 is obsolete
and "cancelled", surely the group should comply.

Since I am not making a serious point here, don't feel obliged to
expend effort rebutting me.

-- Richard

--
"Consideration shall be given to the need for as many as 32 characters
in some alphabets" - X3.4, 1963.
Apr 23 '07 #60
Richard Tobin said:
In article <Jt******************************@bt.com>,
Richard Heathfield <rj*@see.sig.invalidwrote:
>>From a practical perspective, ISO/IEC 9899:1990, no matter
how obsolete it is supposed to be, is not merely extant but dominant.

Though I of course agree that C90 is still the dominant standard, I
can't help feeling that your argument is inconsistent with your usual
position.
I disagree. Naturally. :-)
If this group is dedicated to the discussion of standard
C, and the current C standard itself declares that C90 is obsolete
and "cancelled", surely the group should comply.
My understanding of comp.lang.c's topicality convention is that it is
"once topical, always topical" - which is why K&R C remains topical
here, and why C90 will still be topical even when C99 does become the
de facto standard (long after we are gone, I would guess). I have never
sought to change clc's topicality rules. I merely observe them (pretty
much). I know some people like to paint me as "topic cop", but actually
I'm relatively relaxed about topicality compared to some here.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at the above domain, - www.
Apr 23 '07 #61
Mark McIntyre wrote:
<ol*****@inspire.net.nzwrote:
.... snip ...
>
>New Edsels don't cancel old Edsels.

Try telling that to the marketing dept.
New Edsels are old Edsels, and probably worthwhile.

--
<http://www.cs.auckland.ac.nz/~pgut001/pubs/vista_cost.txt>
<http://www.securityfocus.com/columnists/423>
<http://www.aaxnet.com/editor/edit043.html>
cbfalconer at maineline.net

--
Posted via a free Usenet account from http://www.teranews.com

Apr 24 '07 #62
CBFalconer <cb********@yahoo.comwrote:
Mark McIntyre wrote:
<ol*****@inspire.net.nzwrote:
New Edsels don't cancel old Edsels.
Try telling that to the marketing dept.

New Edsels are old Edsels, and probably worthwhile.
Either you mean "valuable", or you haven't seen an Edsel.

Richard
Apr 24 '07 #63

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

15
by: Ville Vainio | last post by:
Pythonic Nirvana - towards a true Object Oriented Environment ============================================================= IPython (by Francois Pinard) recently (next release - changes are...
1
by: Bijay Kumar | last post by:
Hi Guys, I was going through the source code of Object.cs in rotor. What I found is Equals() implemented as follows: public extern virtual bool Equals(Object obj); What I don't...
0
by: monkey king | last post by:
I have a given dll file(PDFCreator.dll) - probably generated by VC++. I want to use its method(PDFCreator()) in dotNet environment. It works well in WindiowsApplication, but bad in WebApplication...
11
by: DrUg13 | last post by:
In java, this seems so easy. You need a new object Object test = new Object() gives me exactly what I want. could someone please help me understand the different ways to do the same thing in...
0
by: muralidharan | last post by:
WebForm1.aspx Code: <%@ Register TagPrefix="ComponentArt" Namespace="ComponentArt.Web.UI" Assembly="ComponentArt.Web.UI" %> <ComponentArt:TreeView id="TreeView1" Height="520"...
0
by: Bijay Kumar | last post by:
Hi Guys, I was going through the source code of Object class (Object.cs in rotor). What I found is Equals() implemented as follows: public extern virtual bool Equals(Object obj); What...
3
by: Poewood | last post by:
Okay here are four classes for a pocket pc program: Input, fpositional, ComboBoxArray and TextBoxArray. The "input" class is the form. I use the fpositional class to handle most of the functions...
4
by: Kevin Phifer | last post by:
Ok, before anyone freaks out, I have a solution I need to create that gathers content from maybe different places. Each one can return a <form> in the html, so its the classic can't have more than...
5
by: Matthew | last post by:
I have a nice little Sub that saves data in a class "mySettings" to an XML file. I call it like so: Dim mySettings As mySettings = New mySettings mySettings.value1 = "someText" mySettings.value2...
8
by: ST | last post by:
Hello everyone, Can anyone help me with this error above when I debug my web app project in vstudio.net?? I can't figure it out! It was working fine for months, and now all of a sudden it's not!!...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
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...
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
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
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
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
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

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.