When will C have an object model?

T

Tech07

Kenny said:
OK. What do you think is going to be "the next big thing"?

BTW, the way these things go is that by the time business/industry has
firmly adopted something, that's the clue that it is time for the
academics and other smart people to disparage it and move on to "the
next big thing." I.e., down in the trenches (business and industry)
they seem to like OO just fine.

Academics? Sounds like a lot of time-wasting. I consider myself a practical
researcher, or a "researcher of practicality" (actually, most of my research
is in implementing the more practical thing). Yeah, I find C++
"impractical".
 
B

Beej Jorgensen

Tech07 said:
I've read that, it's still on my desktop, but I don't think there's
anything in this day to glean from it. What did you see that looked
promising?

I only skimmed it, so it was the skim that looked promising, not
any details in particular.

Objective C, despite its ugly syntax, didn't actually fall very far from
the C tree.

-Beej
 
N

Nick Keighley

Well I am developing my own language because I'm hardly enamoured with C++.
But this is a C newsgroup. And if C somehow in the near future featured what
I consider a better object model than C++, I might stop rolling my own. It
wouldn't be the first time I've abandoned a project for something new that
showed up.

as you seem to be only one with an enthusiasm for adding an object
model to
C I'd suggest you carry on rolling
 
W

wolfgang.riedel

sorry for the last one, Google...!
There are, I think two things, C can't do - and that's not because of
the language, but of the runtime:
a) initialize global or static objects dynamically before main in
a defined order (OK, gcc does)
b) destroy objects in a defined order, when going out of scope
(This I miss really in C).

There are however things in C, that are impossible in f.e. C++
like postponing the decision, of which class an object is:
Example: you have a struct with a member class, which is only
populated after enough
information is collected (think: HTTP-header - no forced order, and
you need a specific to decide,
whether it's RosettaNet or PAPI)
and holds all the methods of the object, as well as some invariables.

wolfgang
 
C

Charlton Wilbur

KMcC> In article <[email protected]>,

KMcC> Is it? I want to make it clear that I have no opinion on the
KMcC> subject, nor any stake in the outcome. I am just curious.

It's more that the generation of managers that held it as an article of
faith that object orientation would inherently cause software to be
straightforward to develop, debug, and maintain is starting to retire or
die out. It has had successes -- the Java philosophy and approach mean
that it's possible to throw lots of people at the problem, that hordes
of fairly low-talent and interchangeable code monkeys, organized and
supervised by competent managers and architects, can produce reasonably
reliable and bug-free software. But as far as magic bullets go, large
software projects are just as hard to estimate and manage as they have
ever been.

Object orientation is the right tool to solve some kinds of problem.
It's not the right tool for every kind of problem. The dawning
awareness of this among the chattering classes of software development
may appear as opinion moving against object-orientation, when it is
really just the first sign that the bellwethers are merely looking for
another bandwagon.

Charlton
 
J

jacob navia

Charlton Wilbur a écrit :
KMcC> In article <[email protected]>,


KMcC> Is it? I want to make it clear that I have no opinion on the
KMcC> subject, nor any stake in the outcome. I am just curious.

It's more that the generation of managers that held it as an article of
faith that object orientation would inherently cause software to be
straightforward to develop, debug, and maintain is starting to retire or
die out.

Fads and fashion.

Here in Paris we know about "Vogue". And the place of fashion in
increasing the merchandise turnover. Your old shirt is OK,
it has absolutely no material problems, its only outmoded,
that's all. Must be changed or you will be seen by others
as an outmoded person, not worthy of social communication.

Software fashions are dictated by the "technical press" (the role
of "Vogue") and the opinion leaders promoted by the technical
press.

Languages and programming paradigms are the same.

It has had successes -- the Java philosophy and approach mean
that it's possible to throw lots of people at the problem, that hordes
of fairly low-talent and interchangeable code monkeys, organized and
supervised by competent managers and architects, can produce reasonably
reliable and bug-free software.

"supervised by competent managers and architects" ...

This is the elitists point of view. I think that those
"monkeys" as you call them are far more competent than
what you imagine, and that are actually THEY that wrote the code
that incompetent managers dictated them to write in death marchs
of frenzy and impossible deadlines.
But as far as magic bullets go, large
software projects are just as hard to estimate and manage as they have
ever been.

Why would that change? I never expected that OO leads anywhere
and did not practice any of those languages besides once when
I had to program in C# for a client.
Object orientation is the right tool to solve some kinds of problem.
It's not the right tool for every kind of problem.

There is NO tool for *every* kind of problem.
The dawning
awareness of this among the chattering classes of software development
may appear as opinion moving against object-orientation, when it is
really just the first sign that the bellwethers are merely looking for
another bandwagon.

Well, the new bandwagon is "generic programming". That's the new
"solution for everything"

:)
 
C

Charlton Wilbur

JN> "supervised by competent managers and architects" ...

JN> This is the elitists point of view. I think that those "monkeys"
JN> as you call them are far more competent than what you imagine,
JN> and that are actually THEY that wrote the code that incompetent
JN> managers dictated them to write in death marchs of frenzy and
JN> impossible deadlines.

Indeed it is the elitist point of view. I am an elitist, in that I
think technical skill and competence should be preferred to technical
ineptitutde and incompetence, and rewarded accordingly.

Further, I recommend that before you attempt to argue with me, you spend
at least a year working in a company with hundreds of programmers
organized in a hierarchy, and then evaluate the skill of the programmers
you are working with.

A good number of them are not only not far *more* competent than I
imagine; they are far *less* competent than I portray, but since their
fellow programmers take up the slack it's not painfully apparent to
their managers, and since programmers of *unknown* skill levels are more
of a problem than programmers of *mediocre* skill levels, the status quo
remains.

Charlton
 
J

jacob navia

Charlton Wilbur a écrit :
JN> "supervised by competent managers and architects" ...

JN> This is the elitists point of view. I think that those "monkeys"
JN> as you call them are far more competent than what you imagine,
JN> and that are actually THEY that wrote the code that incompetent
JN> managers dictated them to write in death marchs of frenzy and
JN> impossible deadlines.

Indeed it is the elitist point of view. I am an elitist, in that I
think technical skill and competence should be preferred to technical
ineptitutde and incompetence, and rewarded accordingly.

True. But that doesn't mean competence is only in the manager side
and icompetence and mediocrity are only in the programmers
side.

I take exception at your language too. "Monkeys" is a term I would
not use for human beings sorry. Specially people that I consider
my team mates.
Further, I recommend that before you attempt to argue with me, you spend
at least a year working in a company with hundreds of programmers
organized in a hierarchy, and then evaluate the skill of the programmers
you are working with.

I have worked in many companies. The biggest team I have known were
10-20. Surely bigger teams have their size problems, but do not
forget that it is management that decides how big teams are.
A good number of them are not only not far *more* competent than I
imagine; they are far *less* competent than I portray, but since their
fellow programmers take up the slack it's not painfully apparent to
their managers, and since programmers of *unknown* skill levels are more
of a problem than programmers of *mediocre* skill levels, the status quo
remains.

Any data to backup what you are saying?

Anyone can start a rant about a group of people.

"People that wear glasses are stupid. Most incompetent programmers
I know were myopic and used thick glasses. Damm it, that can't even
read what is in the screen! "

Etc

It is far better to try to diagnose problems in software construction,
point to failures in team management, describe ways to improve the
situation, etc. It is far more difficult than rants but it is far
more productive for all.
 
J

James Kuyper

Malcolm said:
Actually skill bears only a loose relationship to value. Consider someone
who knows a lot about natural language programming, and can improve slightly
on Microsoft's grammar checker by adding millions of lines of source, but
the program runs too slowly for Microsoft to add it to Word.

If it's big, and slow, and provides only a negligible benefit to
compensate for those drawbacks, then this is not a shining example of
programming skill and competence; rather the contrary.
 
C

Charlton Wilbur

JN> True. But that doesn't mean competence is only in the manager
JN> side and icompetence and mediocrity are only in the programmers
JN> side.

Over time, in the cattle-call approach to software development, the most
skilled programmers either leave to pursue other opportunities or become
technical management.

Charlton
 
T

Tech07

Nick said:
as you seem to be only one with an enthusiasm for adding an object
model to
C

Surely you don't believe I'm the only one. From past experience, I know that
if I'm pursuing it, many people are. Not that they'll get it right enough
for me to use it when they get done with it. We'll just have to wait and see
how it all shakes out. C and C++ are on the way out (if they don't
adapt/change at a much faster pace than in the past), that I know.
I'd suggest you carry on rolling

REO Speedwagon?
 
T

Tech07

Beej said:
I only skimmed it, so it was the skim that looked promising, not
any details in particular.

Objective C, despite its ugly syntax, didn't actually fall very far
from the C tree.

I've rejected it a few times over the years but the reasons don't stick with
me. Maybe I need to look at it again and this time write down it's
"failings". (Note to self!).
 
T

Tech07

jacob said:
Charlton Wilbur a écrit :

Fads and fashion.

Here in Paris we know about "Vogue". And the place of fashion in
increasing the merchandise turnover. Your old shirt is OK,
it has absolutely no material problems, its only outmoded,
that's all. Must be changed or you will be seen by others
as an outmoded person, not worthy of social communication.

Software fashions are dictated by the "technical press" (the role
of "Vogue") and the opinion leaders promoted by the technical
press.

You don't believe that and you know it. Did you hack a C compiler to produce
what you did because of "the technical press"?
 
S

Seebs

Surely you don't believe I'm the only one.

Oh, there could be a number... but I don't think any of them will get
anywhere.

If you want C++, you know where to find it.
From past experience, I know that
if I'm pursuing it, many people are. Not that they'll get it right enough
for me to use it when they get done with it. We'll just have to wait and see
how it all shakes out. C and C++ are on the way out (if they don't
adapt/change at a much faster pace than in the past), that I know.

I suspect C will probably survive, in its niche, for a fairly long time.
I couldn't speculate on C++.

However, for the things we're using C for, an object model would be
not merely useless, but incredibly expensive and disasterous, and I don't
think we'd switch to a new version that had an object model. If I want
something like C, but with an object model, I have plenty of choices.

-s
 
T

Tech07

Charlton said:
Over time, in the cattle-call approach to software development, the
most skilled programmers either leave to pursue other opportunities
or become technical management.

It's not a pattern exclusive to the software or even the IT industry. All
industries are like that. I only know about the red/white/blue though.

This reminds me of a downtown project, looong ago, I was sent out to
evaluate for potential proposal. I don't know what the trend in big company
IT is now, but for sure back then you'd find IT in basements and print rooms
and such. This "basement" was indeed below ground: with a 70-or-so-story
building on top of it. But that wasn't the worst thing. Some "smart" manager
who "decorated" the place.. well it was ALL GRAY! It looked and felt like an
underground prison! Nothing but cubicles. And all that GRAY! Surely I had it
better just a few years before that on the 86th floor of a nearby highrise
where I was on edge everyday it was windy because you could feel the
building move, but I hated it! Someone else can have downtown, I like my
feet on solid ground and don't like a billion tons over my head either. The
short answer: The project was bad (early C++ project gone awry, someone
looking to be saved and come out glorious by bringing in a consultant, to
either fix it or take the blame, probably the latter), but I would have gave
it a big "NO!" even if it wasn't if we had to actually be on that site.
Anyway, I digress...
 
T

Tech07

Seebs said:
On 2009-09-16, Tech07 <[email protected]> wrote:
If I want something like C, but with an object model, I have plenty
of choices.

"like C with an object model"? C++ was born of people doing ad-hoc OO with
C. Did all those people move to C++ or even stay there? A lot more is known
today about object models than when C++ was born. Lucky for C, it does not
(yet?) define an object model. Or, giving C an object model may be a like
putting lipstick on a pig.
 
C

Charlton Wilbur

T> "like C with an object model"? C++ was born of people doing
T> ad-hoc OO with C. Did all those people move to C++ or even stay
T> there?

Many did; others developed Objective-C and Java -- which is, in essence,
C++ with garbage collection, a standard library, and no
backwards-compatibility requirement.

Several people -- you are not the only one -- want to add an object
model to C and call it C. This is foolhardy, because two of the
underlying goals of C are to keep it close to the machine and to not
impose extraneous costs on the user. Any *mandatory* object model is
going to violate those two principles, and any *optional* object model
may as well be a separate language or library.

T> A lot more is known today about object models than when C++ was
T> born. Lucky for C, it does not (yet?) define an object model. Or,
T> giving C an object model may be a like putting lipstick on a pig.

Exactly. If you like C syntax and semantics, but think it needs an
object model, graft one on -- just don't call the result language C.
Bjarne Stroustrup and Brad Cox were wise enough to do that, even when a
lot less was known about object models.

(And I'd submit that the existence of Smalltalk-80 demonstrates that a
great deal more was known about object models even when C++ was born
than made it into C++.)

Charlton
 
U

user923005

"like C with an object model"? C++ was born of people doing ad-hoc OO with
C. Did all those people move to C++ or even stay there? A lot more is known
today about object models than when C++ was born. Lucky for C, it does not
(yet?) define an object model. Or, giving C an object model may be a like
putting lipstick on a pig.

C was designed as a procedural language.
It's great for writing procedural code.

If OO is wanted, then it is better to start with something designed
for it from the start.
The alternative (C transmongrified into OO) is C++, which is actually
pretty good for OO stuff. Or Objective C. I doubt if a new effort
will do better than those.

Otherwise, we are trying to make a freight train fly. You might be
able to get it to work, but it's better suited for hauling heavy loads
along some tracks.

Most OO languages turn into gigantic piles of floating slop over
time. Look at Java. I think I can safely say that no single person
on earth knows the Java language if we consider the language as a
whole (including JDBC, SWT, AWT, Ant, the whole org.* pile, struts,
spring, etc...)
I have 13785 File(s) comprising 6,881,397,055 bytes in *one* of my
jars folders.

Now, I like big, massive C++. I don't want to give up templates or
BOOST or any of the nifty features. But I would hate it if C
transmongrified into another OO language and left it's old, simple
procedure model behind.

I am pretty sure I would stop programing in C {at least the new
flavor}, just because I don't want to learn another big, unweildy
language. (Don't get me wrong -- big and unweildy can be nice -- but
we have Java and C++ and .NET, etc. already).

The thing I like most about C is I know it through and through. And
the standard is small enough that one person can become proficient in
the language in a relatively short period of time.
It takes a long time to learn an OO language, and even then they tend
to move faster than I can keep up.
 
T

Tech07

Charlton said:
plenty of >> choices.


Many did; others developed Objective-C

Oh, I thought that preceded C++.
and Java -- which is, in
essence, C++ with garbage collection, a standard library, and no
backwards-compatibility requirement.

No. You're waaay wrong there. But it's another thread somewhere else. It
harkens me back to a time when I was enslaved by someones asking me: "so,
you're a C+ expert, how long before you convert over to java?". LOL! (circa
1994).
Several people -- you are not the only one -- want to add an object
model to C and call it C.

So you think I want to add an object model to C?
This is foolhardy, because two of the
underlying goals of C are to keep it close to the machine and to not
impose extraneous costs on the user. Any *mandatory* object model is
going to violate those two principles, and any *optional* object model
may as well be a separate language or library.

And.....? C'mon.. you can say it... it would be like putting lipstick on a
pig?
Exactly. If you like C syntax and semantics, but think it needs an
object model, graft one on -- just don't call the result language C.
Bjarne Stroustrup and Brad Cox were wise enough to do that, even when
a lot less was known about object models.

"OMG!". That would be a fine and dandy statement by someone who was in
charge of this "C" thing, or the standard. This is GREAT info for me. I
wanted to know where "this C thing" stands/is. You suggest that C is a
tombstone. And I do to, but in different ways. What's the difference? (Note
to self: you know).
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,904
Latest member
HealthyVisionsCBDPrice

Latest Threads

Top