Code Poet, an IDE for D

Jeremie Pelletier jeremiep at gmail.com
Thu Nov 12 11:32:24 PST 2009


Walter Bright wrote:
> Jeremie Pelletier wrote:
>> watching wrote:
>>> most programmer want use the language and a lot libraries that come 
>>> with it. instead of gui, db etc. you guys discuss until all 
>>> prospective users are gone off to use something that lets them do the 
>>> job
>>>
>>> maybe it is time to put a large effort into libraries by all the 
>>> bright people that are arroung d. 
>>
>> The IDE I'm developing is exactly for that purpose, to bring more 
>> people to D and to make writing D code more convenient.
> 
> Exactly, and I'm most pleased to see you and others stepping up to fill 
> in the gaps.

Thanks!

>> The D language doesn't need to come with tons of libraries out of the 
>> box, its a systems language after all; C++ only comes with the STL and 
>> C with the stdlib, you need platform headers and third party libraries 
>> to do something more than a simple console program.
> 
> While that's true that C and C++ became successful with minimal 
> libraries, I think the bar is much higher these days. Looking at the go 
> library, there's a lot in there we could use in the D library.
> 
> http://golang.org/pkg/
> 
> The library is licensed under the 
> http://creativecommons.org/licenses/by/3.0/
> meaning we can adapt it to D.

It's true that the bar for bundled libraries is higher nowadays; I 
wouldn't touch C++ without boost for one.

The go library is rather impressive, I'm used to seeing that much out of 
the box only in interpreted languages. In any ways its only a matter of 
time before phobos catches on.

>> In any ways, I believe its a good thing to use multiple languages to 
>> better understand the differences between them, the end result doesn't 
>> change. I could've used java, C#, python or even mozilla's XUL with 
>> javascript and the IDE would've been the same.
> 
> I disagree, as then the IDE would be dependent on those large 
> ecosystems. One nice thing about native apps is they stand alone.
> 
> One thing I do suggest is writing it in a "D-ish" style so that it will 
> be easier to translate to D at some point.

That's what I'm already doing, the STL and boost make it much easier to 
do. I have string_t, wstring_t and dstring_t types derived from 
std::basic_string to cover D strings, as well as ustring_t which is set 
to the platform's native unicode encoding. I derived std::exception into 
Exception and Error to behave like D's exceptions, used 
boost::lexical_cast to create to<>() templates, I'm using struct and 
class as they would be used in D (POD vs polymorphic object) using only 
single inheritance and a lot of other support code to make a future port 
as easy and straightforward as possible.


Jeremie


More information about the Digitalmars-d-announce mailing list