Objective-D?

Tom Edelson edelsont at well.com
Fri Dec 1 16:07:13 PST 2006


I think this is a terrific idea.  But then I would think that, since I had pretty
much the same idea independently, and found your post by searching to see if
anyone else had had it before.

Disclaimer: I am not an expert, nor even a competent programmer, in either
Objective-C or D.  My favorite languages -- the ones I choose to consider part of
my primary toolkit, today -- are Java, Scheme, and Perl.

But that list feels incomplete, since none of the three is [designed to be]
compiled directly to native code.  So D or [even more so] Objective-C are prime
candidates to be added to my list; or even better, something that combines them,
or at least has [what I think of as] the best features of both.

Actually, I'd be happy to do without the "C++ style" objects in D, and have the
only objects in my imaginary language be "Objective-C style" instead.  What I
really would like best would be Objective-C, except that the underlying language
-- in the same sense in which C is the underlying language for Objective-C --
would be like D *without* its object system.

Or at any rate, like C but safer: it would have garbage collection, [automatic and
mandatory] array bounds checking ... and in one respect, I'd go beyond D in
emphasizing safety.  I would eliminate true C-style pointers, and replace them
with something like Perl's references.  In other words, with a data type which
points to something else, but doesn't let you do arithmetic on it.  Or to state it
in terms of what I really care about: if you declare a variable as a reference to
a certain type, then the compiler should ensure that you can only give it values
which actually do point to a data item of that type.

A number of other features of D, that aren't part of the object system, are
attractive, too: eliminating the C preprocessor, exception handling in
try-catch-finally style, built-in string data type, name spaces, support for
programming by contract, and the like.  But not as important, in my eyes, as the
safety features I mentioned first.

The main problem with this version of [a concept for] "Objective-D" is that people
would say that the correct name for it would be "Objective-D--" -- and that sounds
terrible, from a "marketing" (recruiting initial interest) point of view.

But otherwise, that's a [very broad] description of the programming language I'd
like for Christmas.  I put it that way because I haven't yet convinced myself that
I should throw myself into organizing a project to implement it.  But perhaps I
could be persuaded ....

So.  A little different from [what I would envision as] "Objective-D" in the most
natural sense, but I would call it similar in spirit.

As with your original post, comments are encouraged.



More information about the Digitalmars-d mailing list