D
David Kastrup
Richard Heathfield said:James Kanze said:
So MS Windows is not commercial software? Interesting.
Last time I looked, UNIX was not particularly uncommercial either.
Richard Heathfield said:James Kanze said:
So MS Windows is not commercial software? Interesting.
* James Kanze:
I'm not sure that statement is valid.
It would be very surprising, to say the least, if no or just a
very few commercial applications were written in C.
James Kanze said:
So MS Windows is not commercial software? Interesting.
Sherman said:Gtk+ is indeed written in C, but it's object-oriented
That was the case for "my" financial application. It had decimal-basedThere are certainly a few. Way back when, however, the X/Open
group proposed standardizing a form of Cobol (under Unix!)
because C was felt to be unusable for business applications.
At least certain types of business applications require some
sort of decimal type. If the language doesn't have it built in
(as Cobol and PL-1 did), and it doesn't have operator
overloading, expressions quickly become unreadable. For those
applications, at least, if the language doesn't have a built-in
decimal type, and it doesn't have operator overloading, then
it's really unusable for those applications (although you'll
doubtlessly find some masocists doing it).
Wolfgang Draxinger said:And?!
Coding something in C doesn't mean you must abandon using OOP
methods. It just means, that things are going to be a bit more
verbose (i.e. you've to maintain everything yourself).
Coding something in C doesn't mean you must abandon using OOP
methods. It just means, that things are going to be a bit more
verbose (i.e. you've to maintain everything yourself).
Sorry, but I fail to see how OOP applies to C.
I heard someone give me an example once, which was not OOP.
So I am curious to know what sort of OOP we are talking about here.
Willem said:In other words: There cannot be any commercial applicaiton written in C,
because in your view it is not well suited to one or two application
types you can think of.
David said:Well, message passing, the fundamental defining characteristic
of OOP (I mean, this is what made Smalltalk revolutionary with
regard to programming techniques and gave it its name) requires
you to switch sustained execution contexts, basically switching
to a different stack, eveery object having its own control
flow. Synchronous multithreading or whatever you want to call
it. That's what OO is actually about. The in-memory and
synchronous in-process equivalent to separate applications with
separate control flow talking to one another via pipes.
Wolfgang Draxinger said:The language I'm currently developing uses C as an intermediate.
And in this language message passing is one of the core
machanisms. And yes, of course message passing is possible, you
just may not implement it in form of simple function calling.
The runtime of my language implements a message dispatcher, that
delivers messages to each object on the reciever list. An object
can decide if it accepts the message and processes it, or if it
passes it on, or accepts and re-yields the message. For example
it is possible to send a message in a way, that it will be
passed up in the hierachy of object instances.
Sorry, but I fail to see how OOP applies to C.
I heard someone give me an example once, which was not OOP.
So I am curious to know what sort of OOP we are talking about here.
If I want to do OOP, I can use C++, Java, Eiffel, Python... certainly
not C.
Doing OOP in C is IMHO silly.
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.