www.digitalmars.com         C & C++   DMDScript  

D - friendly hello

reply Axel Kittenberger <axel dtone.org> writes:
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
Aug 17 2001
next sibling parent reply "Walter" <walter digitalmars.com> writes:
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
Aug 17 2001
parent Axel Kittenberger <axel dtone.org> writes:
 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.
Aug 17 2001
prev sibling parent "Anthony Steele" <asteele nospam.iafrica.com> writes:
"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.
Sep 09 2001