Thread overview
friendly hello
Aug 17, 2001
Axel Kittenberger
Aug 17, 2001
Walter
Aug 17, 2001
Axel Kittenberger
Sep 09, 2001
Anthony Steele
August 17, 2001
Hi!

As most of the burst last time (slashdot effect) I also heared by slashdot over your project. Well I'm working since ~7 months on a rather similar project, I even thought a while calling it 'D' also, but (no offence) on a second consideration I considered it after the long existance of C today a little arrogant to claim a single letter for my thoughts. Well let's be happy since otherwise we would be facing a heavy name clash right now :o)

I simply added a 'tone' to the D so it resulted in 'Dtone', well difficult to speak and to tell a friend, but easy to find in a search engine once you know how to spell :o)

But according to shakespear: "What's in a name?" :o)

Okay back to the technical stuff. In principle it are the same ideas,
enhance the existing C language syntax with a modern (java like) structure
but without breaking native compability.
My project is a hobby only and is of course 100% OpenSource. (the compiler
is GPL, the user libraries LGPL, and the examples public domain).
As many new languages I'm using the hybrid approach, generating in the
backend traditional c code. It's easy to do and easy to debug, and in
contrast I'm a rather unexpirienced compiler writer, since this is actually
my first "real" compiler (beside some experiments).

Oh nearly forgot a link :o)
      http://www.dtone.org
-
One thing I noticed you're using 'char', 'short', 'long', etc. I'm
personally a fan for calling things like they are. Why is a 2 byte memory
place called "short"? And how will the future be? How will we call types if
the first 128 bit computers come out? "extreme", "mega"?

Well I'm using int8, int16, int32, uint8, uint16, uint32 and byte
This names actually call things just like they are, and is open extensable.
The difference between byte and uint8 is that one is used for 256 integers
and the other for ascii text.

-
I also used the idea to use
        int32[] some_array;
an array undefined size, however the difference is the Dtone compiler does
not maintain dynamic arrays, it's the programmer responsiblity to take care
it "points" to something valid. If the programmer wants a maintained array
he needs to use a 'Vector' class as usual. The [] syntax is actually a
replacement for the int * foobar;
-
From a programmers point of view I don't like the source code to be
subordinated by the documentation, with the <code> statements, I think of
situations if the tech writer is somebody different than the programmer,
failures of the tech writer could change the code!
-
I had actually absolute no problems implementing multiple inheritance. But
actually just because I did not allow diamond constructs. This simplifies
the compiler writers task a lot. And is at least as powerfull as the
interface structure, which is in my opinion just a workaround to a
restriction java set itself firstplace.
-
How are you planning to use 'const'? Just as in C?
The specs completly miss it.
In example I'm using following syntax for const arrays:
currently:      int32[~] const_array;
in future maybe:      int32[const] const_array;
-
As I'm hearing you're using a properitary backend :o(, this will of
course make most source based cooperations nearly impossible, since even if
you're frontend is GPL the license will have to have an special exception
("expanded") to be allowed to link with your backend.

Well however I wanted to introduce myself kindly, and say hello. I hope we'll both have a fruitful future.

- Axel

August 17, 2001
I wish you luck with Dtone. It looks like a worthy effort. It's fun to see what different ideas people have with languages. I know it's a very long shot for a single person to design a new language and make it a success, but since I have all the other bits necessary to make a reasonably complete system, why not try. I'm tired of saying how I would have done language X differently, it's time to actually try making one. I've gotten a lot of positive responses, encouraging me to move forward with it. -Walter


Axel Kittenberger wrote in message <9limhk$14en$1@digitaldaemon.com>... Hi!

As most of the burst last time (slashdot effect) I also heared by slashdot over your project. Well I'm working since ~7 months on a rather similar project, I even thought a while calling it 'D' also, but (no offence) on a second consideration I considered it after the long existance of C today a little arrogant to claim a single letter for my thoughts. Well let's be happy since otherwise we would be facing a heavy name clash right now :o)

I simply added a 'tone' to the D so it resulted in 'Dtone', well difficult to speak and to tell a friend, but easy to find in a search engine once you know how to spell :o)

But according to shakespear: "What's in a name?" :o)

Okay back to the technical stuff. In principle it are the same ideas,
enhance the existing C language syntax with a modern (java like) structure
but without breaking native compability.
My project is a hobby only and is of course 100% OpenSource. (the compiler
is GPL, the user libraries LGPL, and the examples public domain).
As many new languages I'm using the hybrid approach, generating in the
backend traditional c code. It's easy to do and easy to debug, and in
contrast I'm a rather unexpirienced compiler writer, since this is actually
my first "real" compiler (beside some experiments).

Oh nearly forgot a link :o)
      http://www.dtone.org
-
One thing I noticed you're using 'char', 'short', 'long', etc. I'm
personally a fan for calling things like they are. Why is a 2 byte memory
place called "short"? And how will the future be? How will we call types if
the first 128 bit computers come out? "extreme", "mega"?

Well I'm using int8, int16, int32, uint8, uint16, uint32 and byte
This names actually call things just like they are, and is open extensable.
The difference between byte and uint8 is that one is used for 256 integers
and the other for ascii text.

-
I also used the idea to use
        int32[] some_array;
an array undefined size, however the difference is the Dtone compiler does
not maintain dynamic arrays, it's the programmer responsiblity to take care
it "points" to something valid. If the programmer wants a maintained array
he needs to use a 'Vector' class as usual. The [] syntax is actually a
replacement for the int * foobar;
-
From a programmers point of view I don't like the source code to be
subordinated by the documentation, with the <code> statements, I think of
situations if the tech writer is somebody different than the programmer,
failures of the tech writer could change the code!
-
I had actually absolute no problems implementing multiple inheritance. But
actually just because I did not allow diamond constructs. This simplifies
the compiler writers task a lot. And is at least as powerfull as the
interface structure, which is in my opinion just a workaround to a
restriction java set itself firstplace.
-
How are you planning to use 'const'? Just as in C?
The specs completly miss it.
In example I'm using following syntax for const arrays:
currently:      int32[~] const_array;
in future maybe:      int32[const] const_array;
-
As I'm hearing you're using a properitary backend :o(, this will of
course make most source based cooperations nearly impossible, since even if
you're frontend is GPL the license will have to have an special exception
("expanded") to be allowed to link with your backend.

Well however I wanted to introduce myself kindly, and say hello. I hope we'll both have a fruitful future.

- Axel



August 17, 2001
> I wish you luck with Dtone. It looks like a worthy effort.

Thanks for the jolly words.

> It's fun to see what different ideas people have with languages.

However it's also fun to see the "zeitgeist" in language designs, how people have surprisingly common ideas.

> I know it's a very long shot for a single person to design a new language and make it a success, but since I have all the other bits necessary to make a reasonably complete system, why not try.

Well I'll have to rely what the GNU worlds offers, bison is an acceptable parser genartor, and gcc could provide a fabalous backend/optimizer, however for now the simpler hybrid approach has to sufficie.

> I'm tired of saying how I would have done language X differently, it's time to actually try making one. I've gotten a lot of positive responses, encouraging me to move forward with it.

Thats very true indeed, similar thoughts got me starting to make a language project. I could either complain for the rest of my life how C/C++/Java/Pascal each suck in their own way, or I could roll up my sleves and start doing something.

September 09, 2001
"Axel Kittenberger" <axel@dtone.org> wrote in message news:9limhk$14en$1@digitaldaemon.com...

> Well I'm using int8, int16, int32, uint8, uint16, uint32 and byte This names actually call things just like they are,

The more I think about this the more sense it makes. More times than I care to think about, I have declared a var, say of type 'integer', whilst muttering 'int is 4 bytes' under my breath.