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

Reply via email to