January 25, 2016
On Mon, Jan 25, 2016 at 9:34 AM, Rikki Cattermole via Digitalmars-d-announce <digitalmars-d-announce@puremagic.com> wrote:

> On 25/01/16 8:16 PM, tsbockman wrote:
>
>> On Monday, 25 January 2016 at 07:03:35 UTC, Russel Winder wrote:
>>
>>> The strategy should be "get rid of anything in Phobos that can be put out as a separate library".
>>>
>>
>> This makes no sense as a standard: since neither DMD nor druntime is allowed to depend upon Phobos, everything in Phobos *could* be put into a separate library.
>>
>
> 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.
>
> In their mind we are not even a 'programming language'.
>
> Phobos does need to be bigger, but not fully inclusive.
> If most people won't use something, don't add it.
>
> 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.
>

I'm going to quote you there: to put it bluntly you are plain wrong.

We do not, and no one does, need a kitchen sink standard library. Look at
python, look at Go, these are two of the fastest growing languages out
there. They are:
- Extremely easy to pick up and use.
- Have excellent documentation and simple naming conventions
- Have fantastic 3rd party open source libraries

How does one find the "right" library for a task?
- The community refers devs to their preferred / popular libs
- There are excellent tutorials / how-tos that show case the library

If we spent less time fussing of what gets into phobos and more time making good libraries for code.dlang.org and let the best ones win out we'd get much better stuff much quicker.


January 25, 2016
On 25/01/16 9:21 PM, Rory McGuire via Digitalmars-d-announce wrote:
>
> On Mon, Jan 25, 2016 at 9:34 AM, Rikki Cattermole via
> Digitalmars-d-announce <digitalmars-d-announce@puremagic.com
> <mailto:digitalmars-d-announce@puremagic.com>> wrote:
>
>     On 25/01/16 8:16 PM, tsbockman wrote:
>
>         On Monday, 25 January 2016 at 07:03:35 UTC, Russel Winder wrote:
>
>             The strategy should be "get rid of anything in Phobos that
>             can be put
>             out as a separate library".
>
>
>         This makes no sense as a standard: since neither DMD nor druntime is
>         allowed to depend upon Phobos, everything in Phobos *could* be
>         put into
>         a separate library.
>
>
>     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.
>
>     In their mind we are not even a 'programming language'.
>
>     Phobos does need to be bigger, but not fully inclusive.
>     If most people won't use something, don't add it.
>
>     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.
>
>
> I'm going to quote you there: to put it bluntly you are plain wrong.
>
> We do not, and no one does, need a kitchen sink standard library. Look
> at python, look at Go, these are two of the fastest growing languages
> out there. They are:
> - Extremely easy to pick up and use.
> - Have excellent documentation and simple naming conventions
> - Have fantastic 3rd party open source libraries

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.

During my degree, the final programming class was Python.
Everyone used WinPython except me. At the time pip didn't even work in it. Yes you heard me correct.

When they had to use other code, they had no way or will to even try what wasn't part of it and so in their eyes what they had downloaded was Python. Because it really does appear to be Python.

Especially with the IDE and QT being part of it...
And right here is the problem. They expected and there it was.
You will see this in every language. From Java to PHP.

The community in general misses the point here time and time again.
It wasn't until recently that Adam saw how bad things were just to add some context.

> How does one find the "right" library for a task?
> - The community refers devs to their preferred / popular libs
> - There are excellent tutorials / how-tos that show case the library
>
> If we spent less time fussing of what gets into phobos and more time
> making good libraries for code.dlang.org <http://code.dlang.org> and let
> the best ones win out we'd get much better stuff much quicker.

And I agree with you. As long as we have the bare bones in Phobos such as windowing and image library we can actually fight over GUI toolkits.
Instead of repeatedly doing the same code over and over poorly.

January 25, 2016
On Mon, Jan 25, 2016 at 10:31 AM, Rikki Cattermole via Digitalmars-d-announce <digitalmars-d-announce@puremagic.com> wrote:

> On 25/01/16 9:21 PM, Rory McGuire via Digitalmars-d-announce wrote:
>
>>
>> On Mon, Jan 25, 2016 at 9:34 AM, Rikki Cattermole via Digitalmars-d-announce <digitalmars-d-announce@puremagic.com <mailto:digitalmars-d-announce@puremagic.com>> wrote:
>>
>>     On 25/01/16 8:16 PM, tsbockman wrote:
>>
>>         On Monday, 25 January 2016 at 07:03:35 UTC, Russel Winder wrote:
>>
>>             The strategy should be "get rid of anything in Phobos that
>>             can be put
>>             out as a separate library".
>>
>>
>>         This makes no sense as a standard: since neither DMD nor druntime
>> is
>>         allowed to depend upon Phobos, everything in Phobos *could* be
>>         put into
>>         a separate library.
>>
>>
>>     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.
>>
>>     In their mind we are not even a 'programming language'.
>>
>>     Phobos does need to be bigger, but not fully inclusive.
>>     If most people won't use something, don't add it.
>>
>>     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.
>>
>>
>> I'm going to quote you there: to put it bluntly you are plain wrong.
>>
>> We do not, and no one does, need a kitchen sink standard library. Look
>> at python, look at Go, these are two of the fastest growing languages
>> out there. They are:
>> - Extremely easy to pick up and use.
>> - Have excellent documentation and simple naming conventions
>> - Have fantastic 3rd party open source libraries
>>
>
> 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.
>
> During my degree, the final programming class was Python.
> Everyone used WinPython except me. At the time pip didn't even work in it.
> Yes you heard me correct.
>
> When they had to use other code, they had no way or will to even try what wasn't part of it and so in their eyes what they had downloaded was Python. Because it really does appear to be Python.
>
> Especially with the IDE and QT being part of it...
> And right here is the problem. They expected and there it was.
> You will see this in every language. From Java to PHP.
>
> The community in general misses the point here time and time again. It wasn't until recently that Adam saw how bad things were just to add some context.
>
> How does one find the "right" library for a task?
>> - The community refers devs to their preferred / popular libs
>> - There are excellent tutorials / how-tos that show case the library
>>
>> If we spent less time fussing of what gets into phobos and more time making good libraries for code.dlang.org <http://code.dlang.org> and let the best ones win out we'd get much better stuff much quicker.
>>
>
> And I agree with you. As long as we have the bare bones in Phobos such as windowing and image library we can actually fight over GUI toolkits. Instead of repeatedly doing the same code over and over poorly.
>
>

Ouch yes, seen that before. I just would prefer the base library to be
exactly that a base. In fact if dub came with dmd, or if you downloaded dub
and it could install dmd/gdc/ldc I would be much happier, phobos could be
just another library on code.dlang.org. That why the one app to rule them
all could just be dub and newbies and veterans alike could be happy that
their needed libraries were just there. Something like:
- download dub
- double click installer
- present with options to install, defaults to dmd and phobos must be
installed (if not found)
  - other option to create blank project
  - opens project with a basic ide that uses dcd etc and allows compile and
run with a simple example that outputs to a console and opens a window with
the D logo.

(Just thinking out loud) :D


PS: Can you make sure its easy to do transparent shaped windows in your bare bones windowing implementation?


January 25, 2016
On 2016-01-25 07:03:35 +0000, Russel Winder via Digitalmars-d-announce said:

> Phobos the library needs to go to be replaced by a library search and
> use system. Oh we already have one, Dub.
> 
> The strategy should be "get rid of anything in Phobos that can be put
> out as a separate library".

I see it exactly the other way: I want phobos to provide 90% of everything I need out-of-the-box. The linker will only bring in stuff I use and the rest is left out. So, what's the problem?

I just don't want to walk around until I find out, which parts (external libs) fit together just to cover the common 90%. That's wasting time.

Make it as simple as possible to get things done. Install, code, compile, deliver. That's it. One EXE, done.

-- 
Robert M. Münch
http://www.saphirion.com
smarter | better | faster

January 25, 2016
On 25/01/16 9:57 PM, Rory McGuire via Digitalmars-d-announce wrote:
>
> On Mon, Jan 25, 2016 at 10:31 AM, Rikki Cattermole via
> Digitalmars-d-announce <digitalmars-d-announce@puremagic.com
> <mailto:digitalmars-d-announce@puremagic.com>> wrote:
>
>     On 25/01/16 9:21 PM, Rory McGuire via Digitalmars-d-announce wrote:
>
>
>         On Mon, Jan 25, 2016 at 9:34 AM, Rikki Cattermole via
>         Digitalmars-d-announce <digitalmars-d-announce@puremagic.com
>         <mailto:digitalmars-d-announce@puremagic.com>
>         <mailto:digitalmars-d-announce@puremagic.com
>         <mailto:digitalmars-d-announce@puremagic.com>>> wrote:
>
>              On 25/01/16 8:16 PM, tsbockman wrote:
>
>                  On Monday, 25 January 2016 at 07:03:35 UTC, Russel
>         Winder wrote:
>
>                      The strategy should be "get rid of anything in
>         Phobos that
>                      can be put
>                      out as a separate library".
>
>
>                  This makes no sense as a standard: since neither DMD
>         nor druntime is
>                  allowed to depend upon Phobos, everything in Phobos
>         *could* be
>                  put into
>                  a separate library.
>
>
>              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.
>
>              In their mind we are not even a 'programming language'.
>
>              Phobos does need to be bigger, but not fully inclusive.
>              If most people won't use something, don't add it.
>
>              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.
>
>
>         I'm going to quote you there: to put it bluntly you are plain wrong.
>
>         We do not, and no one does, need a kitchen sink standard
>         library. Look
>         at python, look at Go, these are two of the fastest growing
>         languages
>         out there. They are:
>         - Extremely easy to pick up and use.
>         - Have excellent documentation and simple naming conventions
>         - Have fantastic 3rd party open source libraries
>
>
>     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.
>
>     During my degree, the final programming class was Python.
>     Everyone used WinPython except me. At the time pip didn't even work
>     in it. Yes you heard me correct.
>
>     When they had to use other code, they had no way or will to even try
>     what wasn't part of it and so in their eyes what they had downloaded
>     was Python. Because it really does appear to be Python.
>
>     Especially with the IDE and QT being part of it...
>     And right here is the problem. They expected and there it was.
>     You will see this in every language. From Java to PHP.
>
>     The community in general misses the point here time and time again.
>     It wasn't until recently that Adam saw how bad things were just to
>     add some context.
>
>         How does one find the "right" library for a task?
>         - The community refers devs to their preferred / popular libs
>         - There are excellent tutorials / how-tos that show case the library
>
>         If we spent less time fussing of what gets into phobos and more time
>         making good libraries for code.dlang.org <http://code.dlang.org>
>         <http://code.dlang.org> and let
>         the best ones win out we'd get much better stuff much quicker.
>
>
>     And I agree with you. As long as we have the bare bones in Phobos
>     such as windowing and image library we can actually fight over GUI
>     toolkits.
>     Instead of repeatedly doing the same code over and over poorly.
>
>
>
> Ouch yes, seen that before. I just would prefer the base library to be
> exactly that a base. In fact if dub came with dmd, or if you downloaded
> dub and it could install dmd/gdc/ldc I would be much happier, phobos
> could be just another library on code.dlang.org <http://code.dlang.org>.
> That why the one app to rule them all could just be dub and newbies and
> veterans alike could be happy that their needed libraries were just
> there. Something like:
> - download dub
> - double click installer
> - present with options to install, defaults to dmd and phobos must be
> installed (if not found)
>    - other option to create blank project
>    - opens project with a basic ide that uses dcd etc and allows compile
> and run with a simple example that outputs to a console and opens a
> window with the D logo.
>
> (Just thinking out loud) :D

Can't argue with that as long as there is a good list of set recommend libs for doing stuff like windowing on dlang.org. But that comes back to the same problem of standardization.
Really at the minimum we need Phobos broken up into dub sub packages. Preferably I'd like we to go all the way into separate repositories and let people own their own code. But I can understand why not.

> PS: Can you make sure its easy to do transparent shaped windows in your
> bare bones windowing implementation?

Transparent shaped windows? Nope.
That is a very hard and difficult thing to do especially cross platform.

But if people really really want it, I can add a window mode for no border + transparent I suppose.
Although based upon what I'm seeing I would be surprised if at least for Windows it can't be just one free function when using VRAM context to make it happen.
January 25, 2016
On Mon, Jan 25, 2016 at 11:05 AM, Rikki Cattermole via Digitalmars-d-announce <digitalmars-d-announce@puremagic.com> wrote: [snip]
>
> Really at the minimum we need Phobos broken up into dub sub packages. Preferably I'd like we to go all the way into separate repositories and let people own their own code. But I can understand why not.

 [snip]

ha, I had typed a similar response:

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.


January 25, 2016
I've had a bit more of a looksie into splash screens and I think I would prefer if it was completely separate actually.
Its not too hard, but its has semi incompatible features as to a window.
January 25, 2016
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.

-- 
/Jacob Carlborg
January 25, 2016
On 01/25/2016 02:03 AM, Russel Winder via Digitalmars-d-announce wrote:
> If the Python, Rust, Go, etc. stories tell us anything, it is that the
> days of "batteries included" distributions is long, long dead. DVCS
> changes the game.

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

January 25, 2016
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