January 25, 2016
On Mon, Jan 25, 2016 at 2:46 PM, Andrei Alexandrescu via Digitalmars-d-announce <digitalmars-d-announce@puremagic.com> wrote:

> On 01/25/2016 04:17 AM, Rory McGuire via Digitalmars-d-announce wrote:
>
>>
>> Looking at the way we have things now, it would actually be quite simple to make two downloads, one with everything and one with the bare minimum.
>>
>> If we changed phobos to compile like the recent vibe.d version does then we can even pick and choose sections of phobos. I suppose "he who has the vision" can do either type of release with our current tools.
>>
>
> What would be the benefits of this? My knee-jerk reaction is this is a large and disruptive project with no palpable benefits. -- Andrei
>
>
Yep, thats kind of what I was saying in the end. If someone wanted to they could make such a release independently.

I'm trying to hack on the compiler, personally I wish all those with the know how would put their efforts into documenting how the compiler works and what the different parts do, that way we could have more contributors.


January 25, 2016
On Monday, 25 January 2016 at 10:53:29 UTC, Jacob Carlborg wrote:
> On 2016-01-25 07:39, Andrew Edwards wrote:
>
>> I truly doubt that. It would be truly amazing if that were to occur but
>> history has proven otherwise. The sentiment was expressed so many times
>> that Walter was finally moved to sanction DWT as the official GUI for D
>> in 2006. Even a newsgroup was made for it. It's ten years later. DWT
>> anyone?
>
> DWT is still working perfectly fine. Just compiled it recently with the latest beta, 2.070.

Glad to see your spirit is not easily broken. That, however, does not invalidate my statement.  One would think that 10 years after being dubbed the official graphics library for the language, it would be simple to install DMD and DWT side by side on all DMD supported platforms and the two just work well together. Especially since people that advocated it claimed that by making it official, it would legitimize their contributions to help improve make improvements. It is not even usable on what appears to be the platform you develop on/for, MAC OS X, and you are the main maintainer/contributer.
January 25, 2016
On Monday, 25 January 2016 at 13:08:18 UTC, Rory McGuire wrote:
> On Mon, Jan 25, 2016 at 2:46 PM, Andrei Alexandrescu via Digitalmars-d-announce <digitalmars-d-announce@puremagic.com> wrote:
>
>> On 01/25/2016 04:17 AM, Rory McGuire via Digitalmars-d-announce wrote:
>>
>>>
>>> Looking at the way we have things now, it would actually be quite simple to make two downloads, one with everything and one with the bare minimum.
>>>
>>> If we changed phobos to compile like the recent vibe.d version does then we can even pick and choose sections of phobos. I suppose "he who has the vision" can do either type of release with our current tools.
>>>
>>
>> What would be the benefits of this? My knee-jerk reaction is this is a large and disruptive project with no palpable benefits. -- Andrei
>>
>>
> Yep, thats kind of what I was saying in the end. If someone wanted to they could make such a release independently.
>
> I'm trying to hack on the compiler, personally I wish all those with the know how would put their efforts into documenting how the compiler works and what the different parts do, that way we could have more contributors.

+1 On lifetime management and tooling. I would like to see a lot of improvements for DCD also tools for refactoring would also be extremely useful.

As for splitting up everything into small packages, I don't think D is there yet. I am still new but I already found several libraries that I wanted to use that not follow the "official" D Style guide.

I would not want to include N different libraries that use N different coding styles. Look at Rust for example, you will find that pretty much every library uses the "official" style guide.

I think that is because it is mostly "enforced" by the compiler as a warning.

I really don't care how I write my code, but I care deeply about consistency.

Another point is that I couldn't find any metaprogramming library for D yet. Yes there is std.meta but it is extremely lacking, this is quite obvious if you look into the std.

For example in "zip"

return mixin (q{ElementType(%(.moveAt(ranges[%s], n)%|, %))}.format(iota(0, R.length)));

This could be easily expressed as a general metafunction. Also std.meta mostly focusses on compile time stuff but I don't think there is anything for a "Tuple".

Some inspiration could be found here https://github.com/boostorg/hana


January 25, 2016
On Monday, 25 January 2016 at 08:31:13 UTC, Rikki Cattermole wrote:
>
> Nope just no.
> I am only talking about newbies here.
> They will pick distributions of Python that are all encompassing.
>
> http://winpython.github.io/#overview
> When it comes to newbies who come into programming seeing from all of their previous experience that things like GUI toolkit just comes with the language they just don't care if it was provided "extra" by a distribution or by the language itself. Only that they did exactly 0 beyond importing and using it.
>

I'm sympathetic to this. I still just download Anaconda and not bother with much else.
January 25, 2016
On Monday, 25 January 2016 at 06:39:54 UTC, Andrew Edwards wrote:
> On Monday, 25 January 2016 at 03:21:51 UTC, Puming wrote:
>> On Monday, 25 January 2016 at 02:37:40 UTC, Andrei Alexandrescu wrote:
>>> Hot off the press! http://wiki.dlang.org/Vision/2016H1 -- Andrei
>
> [snip]
>
>> For tooling, I suggest a look at GUI/IDEs, now that dlangui/dlangide seems a good candidate(native D, crossplatform). A good official supported GUI library will attract many people.
>
> I truly doubt that. It would be truly amazing if that were to occur but history has proven otherwise. The sentiment was expressed so many times that Walter was finally moved to sanction DWT as the official GUI for D in 2006. Even a newsgroup was made for it. It's ten years later. DWT anyone?
>
> Aurora was a recent attempt that was shelved for the sole author's personal reasons. Result?
>
> Sadly, dlangui/dlangide is no different. It has one developer. If that individual gets discouraged, like so many others have so far, what becomes of it?
>
> Until members of the community starts combining efforts and working together to improve the situation, it will not improve. You have Adam working on working on simpledisplay, Mike working on Derelict, Felix working on three-d, Vladimir working on ae-graphics, Martin on freeimage, Vadim on dlangui/dlangide and who knows what else is out there in the wood works
> ...
> I'm convinced that without such a deliberate effort, this situation will not change for years to come. Even if a particular library is dubbed "The One." Like I've said earlier, that was already done ten years ago.


Well, I think the question is: IDE is a main thing today? If you take the languages that emerged along the years, some of them are backed most on web toolkit/Internet.

Please don't get me wrong and I'm not saying this is NOT important. But today I think perhaps this kind of thing is turning into a niche.

I think vibe.d or whatever web toolkit should get more attention.

JohnCK.
January 25, 2016
On Mon, 2016-01-25 at 07:44 -0500, Andrei Alexandrescu via Digitalmars- d-announce wrote:

> Could you please back up that assertion a little bit? From all I
> see,
> standard libraries of most languages grow very fast with each
> release.
> What are your facts? -- Andrei

Go has a very small core, if you want anything else you write a library and publish it. There is a massive and vibrant activity writing many versions of stuff most of which wither by lack of use. Some, usually one or two, in each domain thrive and become the de facto standard. Everything depends on Git, Mercurial, Bazaar, and go get.

Rust threw out large tracts of what was in the original library, including all concurrency and parallelism things, in favour of separate crates. There is a massive and vibrant activity writing many versions of stuff most of which wither by lack of use. Some, usually one or two, in each domain thrive and become the de facto standard. Everything depends on crates.io and Cargo.

Python used to be batteries included, then they moved to having a core to which only Python committers have access.  There is a massive and vibrant activity writing many versions of stuff most of which wither by lack of use. Some, usually one or two, in each domain thrive and become the de facto standard. Everything depends on PyPI, pip, and virtualenv. Or Anaconda.

There are many facts out there favouring distributed over centralized for everything except the language itself and the runtime system, you just have to look. Calling for an explicit, detailed catalogue is not a way forward in this debate.

Consider Java Platform, the system where lots gets deprecated and nothing is removed. Ever. The library is big, and grows, but with JDK9 it will, finally be split up into modules, most of which will be ignored since they are from the mid-1990s. There is a massive and vibrant activity writing many versions of stuff most of which wither by lack of use. Some, usually one or two, in each domain thrive and become the de facto standard. Everything depends on Gradle or Maven, and Bintray and Maven Central.

Distributed means duplicated effort, yes. It means many projects die. Some will gain a following that leads to traction. Centralized systems lead to stagnation and lack of contribution from all but the inner circle, which often means a lack of energy and new idea (but sometimes not).

The energy in the Go, Rust, Python, and indeed JVM-based communities creating new libraries throwing them away, contributing a bit to the core library, but generally leaving it to the core team, is actually something missing from D except for the energy around vibe.d. Just looking at the threads about DMD, druntime, Phobos, it is almost all about angst rather than genuine progress.

The whole "graphics library" thing is an interesting case in point. Lots of individual projects, very little consensus, no contribution in the main playing fields of Windows, OSX, Wx, and Qt. I've got GtkD for all my needs, so I don't actually care much, but as we see others care about a cross platform GUI system, but it just isn't happening. There is point at which small one person projects have to be pushed together by management and made to work. Either than or one gets funded because some organization does that. cf. PyQt, JavaFX, Qt.

Even if you do not rate this as facts it all is. The moral of the story is, for me, very simple:

Dub needs to be front and centre, it represents D, not DMD, LDC, GDC, druntime, Phobos. The core of a D distribution is Dub. In this D is like Rust, Ceylon, Python, and JVM. And unlike Go. Go is too libertarian in my view. Rust, Ceylon, Python, JVM have the right view for me: centralized repository and management of distributed projects. What Rust and Ceylon are missing that PyPI has is an highly opinionated metric that helps you decide what is good and what is dross.

Of course Dub needs a better story around executables rather than library packages. Go (go install) and Rust (Cargo build) do this so much better. But then Go has a project structure model, and Rust uses TOML.

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder



January 25, 2016
V Mon, 25 Jan 2016 16:25:02 +0000
JohnCK via Digitalmars-d-announce
<digitalmars-d-announce@puremagic.com> napsáno:

> On Monday, 25 January 2016 at 06:39:54 UTC, Andrew Edwards wrote:
> ...
> Well, I think the question is: IDE is a main thing today? If you
> take the languages that emerged along the years, some of them are
> backed most on web toolkit/Internet.
> 
> Please don't get me wrong and I'm not saying this is NOT important. But today I think perhaps this kind of thing is turning into a niche.
> 
> I think vibe.d or whatever web toolkit should get more attention.
> 
> JohnCK.

I guess you mean GUI not IDE?

January 25, 2016
On Mon, 2016-01-25 at 20:34 +1300, Rikki Cattermole via Digitalmars-d- announce wrote:
> 
[…]
> I had a long post replying to Russel and to put it bluntly, its just
> wrong.
> We are most definitely losing people simply because they expect
> certain
> code in the standard library. Like windowing and image.
> Things like sockets are lower on their priority list.

It sounds like we will just have to disagree. Either than or agree that you are wrong. ;-)

Most languages benefit from libraries that wrap and abstract OS APIs, everything else can be handled by libraries (many of them) as long as there is a single central resource that enables people to find and trivially use. This message comes from Rust, Ceylon, other JDK languages, and Python. Go is weird. The counter example is C++. D just needs to get it's Dub act together properly.

> In their mind we are not even a 'programming language'.

Actually I think the core problem is that there is fashion and hype around D. By simple observation Go and Rust got huge impetus via hype. This led to a huge amount of activity most of which died a death, but left a huge acceleration of real traction. Whilst usage figures are dwarfed by Java, C, C++, and Python, Go and Rust have huge distributed activity bases. By sheer volume of activity some good stuff appears. Especially the stuff that gets funded, because some company is taking a punt.

Consider the one obvious case of Cloudflare. Originally a PHP company, Go was introduced by guerilla processes, and now Go is central to their operation. Such they they fund meetings and conferences. There are many other companies using Go who put money into meetings, conferences, general marketing, etc. because they want the best programmers. I suspect the same will happen with Rust in a couple of years. It is already the case with Python.

This is the core of the issue with D for me: there isn't enough corporate activity and will to put money into the D milieu.

> Phobos does need to be bigger, but not fully inclusive.
> If most people won't use something, don't add it.

Wouldn't it be better to be explicit about what has to be in Phobos and what can be separate? Let me start a list:

Data structures that are not in the language. Phobos more or less has most of the core ones. The job here is to define an architecture, which is has in ranges.

OS APIs. The point here is to abstract away from Windows, OSX, Linux, UNIX,… I am not sure Linux DVB API should be in here, it is more threads, input/output, networking, memory management. Phobos host most stuff here already doesn't it?

Signals and slots systems so as to be able to write asynchronous systems.

Concurrency and Parallelism libraries.

Not a lot else.

> Sure there is arguments against this, but there is a certain amount
> we
> must standardize and agree upon as a community. Phobos most certainly
> is
> the place to do this. Otherwise we will be going round in circles for
> a
> much longer period then we should and not growing much.

What needs to be standardized? Data structure architecture. Already in Phobos. Cross platform Input/Output. Already in Phobos.

Why isn't Dub the way forward on this? Why a centralized massive library that is hard to change and evolve, why not a far more lightweight management of contributions via a centralized mechanism, i.e. Dub.

In so many ways vibe.d shows what can be right about D, and graphics all that is wrong.

Of course in the end D just does not have the corporate backing that Go, Rust, Python, Java, etc. are getting. Until that happens plus ça change, plus c'est la même chose.

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder



January 25, 2016
On Monday, 25 January 2016 at 16:34:15 UTC, Daniel Kozak wrote:
> I guess you mean GUI not IDE?

Yes GUI... my fault, thanks!

JohnCK.
January 26, 2016
On 26/01/16 5:49 AM, Russel Winder via Digitalmars-d-announce wrote:
> On Mon, 2016-01-25 at 20:34 +1300, Rikki Cattermole via Digitalmars-d-
> announce wrote:
>>
> […]
>> I had a long post replying to Russel and to put it bluntly, its just
>> wrong.
>> We are most definitely losing people simply because they expect
>> certain
>> code in the standard library. Like windowing and image.
>> Things like sockets are lower on their priority list.
>
> It sounds like we will just have to disagree. Either than or agree that
> you are wrong. ;-)
>
> Most languages benefit from libraries that wrap and abstract OS APIs,
> everything else can be handled by libraries (many of them) as long as
> there is a single central resource that enables people to find and
> trivially use. This message comes from Rust, Ceylon, other JDK
> languages, and Python. Go is weird. The counter example is C++. D just
> needs to get it's Dub act together properly.
>
>> In their mind we are not even a 'programming language'.
>
> Actually I think the core problem is that there is fashion and hype
> around D. By simple observation Go and Rust got huge impetus via hype.
> This led to a huge amount of activity most of which died a death, but
> left a huge acceleration of real traction. Whilst usage figures are
> dwarfed by Java, C, C++, and Python, Go and Rust have huge distributed
> activity bases. By sheer volume of activity some good stuff appears.
> Especially the stuff that gets funded, because some company is taking a
> punt.
>
> Consider the one obvious case of Cloudflare. Originally a PHP company,
> Go was introduced by guerilla processes, and now Go is central to their
> operation. Such they they fund meetings and conferences. There are many
> other companies using Go who put money into meetings, conferences,
> general marketing, etc. because they want the best programmers. I
> suspect the same will happen with Rust in a couple of years. It is
> already the case with Python.
>
> This is the core of the issue with D for me: there isn't enough
> corporate activity and will to put money into the D milieu.
>
>> Phobos does need to be bigger, but not fully inclusive.
>> If most people won't use something, don't add it.
>
> Wouldn't it be better to be explicit about what has to be in Phobos and
> what can be separate? Let me start a list:
>
> Data structures that are not in the language. Phobos more or less has
> most of the core ones. The job here is to define an architecture, which
> is has in ranges.
>
> OS APIs. The point here is to abstract away from Windows, OSX, Linux,
> UNIX,… I am not sure Linux DVB API should be in here, it is more
> threads, input/output, networking, memory management. Phobos host most
> stuff here already doesn't it?

So windowing, image library and audio handling.
They are core to any modern OS.

It wasn't until very recently that Windows Server ripped out all of the GUI aspects of its sdk for core edition.

> Signals and slots systems so as to be able to write asynchronous
> systems.
>
> Concurrency and Parallelism libraries.
>
> Not a lot else.
>
>> Sure there is arguments against this, but there is a certain amount
>> we
>> must standardize and agree upon as a community. Phobos most certainly
>> is
>> the place to do this. Otherwise we will be going round in circles for
>> a
>> much longer period then we should and not growing much.
>
> What needs to be standardized? Data structure architecture. Already in
> Phobos. Cross platform Input/Output. Already in Phobos.
>
> Why isn't Dub the way forward on this? Why a centralized massive
> library that is hard to change and evolve, why not a far more
> lightweight management of contributions via a centralized mechanism,
> i.e. Dub.
>
> In so many ways vibe.d shows what can be right about D, and graphics
> all that is wrong.
>
> Of course in the end D just does not have the corporate backing that
> Go, Rust, Python, Java, etc. are getting. Until that happens plus ça
> change, plus c'est la même chose.
>