One more question - an untapped audience.

Adam Wilson flyboynw at gmail.com
Mon Feb 10 20:29:21 PST 2014


On Mon, 10 Feb 2014 19:58:04 -0800, Daniel Murphy  
<yebbliesnospam at gmail.com> wrote:

> "Adam Wilson"  wrote in message  
> news:op.xa21zpux707hn8 at invictus.hra.local...
> Building a new IDE won't solve this problem. Here we need to focus on
>> building better tools for D, turning DMD itself into a library or  
>> Compiler-as-a-Service in the current lingo, since libraries are now  
>> "services". D needs to make great strides in tooling to be relevant, we  
>> need first-class debugging, and they need to support more than the  
>> terminal. We need D as library, we need better IDE integrations.
>
> I don't know if you've been following recent activity on the compiler,  
> but we are finally making progress in this direction.  One of the things  
> on my todo list (after the switch to D is complete) is to start making  
> the lexer/parser usable outside the compiler.
>

To be honest I haven't been following it closely as I've been buried in  
work projects and Aurora. It would be awesome if that came sometime later  
this year. We badly need those capabilities, and I imagine that hacking on  
the compiler itself will get much easier when it's converted to D.

>> We need a  broader standard library. We need more bindings for
>> existing libraries. We need more new libraries (like the Aurora library
>> I am working on).
>
> I'm starting to think phobos should not exist in its current form, and  
> it should just be a set of 'officially blessed' dub packages that meet  
> certain usefulness, API, performance and stability criteria.

I don't know if I can express how strongly I disagree with that sentiment.  
I don't use dub, I don't really want to use dub, and I am virtually  
certain that the whole concept of using dub is a going to make newbie  
acceptance much more difficult. D is supposed to make life easier, not  
harder.

DUB is great if you're an experienced linux dev. But for somebody just  
getting started, especially those coming from other languages with  
standard libraries (aka, all of them) the idea of having to use a package  
manager to do anything is completely backwards. We need to be reducing our  
project setup times, not increasing them by making people download the  
same 10 packages for every project they start. People want to download a  
language and start writing code. Not faff about with getting the right  
package configuration just to write some output to the console.

It is also very helpful to have a standardized set of capabilities that I  
can rely on existing at a minimum in all configurations. This is critical  
in a code-generation context when you are building code for an unknown  
environment where the only certain capabilities you have are the stdlib  
and any libraries you provide. And yes, I have a code generation project  
planned for D later this year that is very important to my company.  
Killing the standard library would effectively cancel that project and end  
my involvement in D, as we can't convert to D without this code-gen  
project. I make this point not to try to hold D hostage to myself, D  
should never be held hostage by the needs of any one entity, but that  
having a stdlib available by default is extremely useful in certain cases  
and by removing it you make those cases exponentially more difficult if  
not impossible to achieve.

If anything Phobos needs to get bigger and increase the coverage standard  
available functionality. We can talk about improvements to reduce module  
dependencies, and improve layout, design, and code quality, but none of  
those are sufficient reasons in my mind to through out the idea of a  
stdlib altogether.

The only way I could accept that is if D integrated DUB directly into it's  
source code and downloaded and installed packages silently in the  
background when one of the imports matches a DUB package import. But I  
don't see that happening anytime soon.

-- 
Adam Wilson
GitHub/IRC: LightBender
Aurora Project Coordinator


More information about the Digitalmars-d mailing list