Vision for the first semester of 2016

Rikki Cattermole via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Mon Jan 25 01:05:20 PST 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 at puremagic.com
> <mailto:digitalmars-d-announce at 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 at puremagic.com
>         <mailto:digitalmars-d-announce at puremagic.com>
>         <mailto:digitalmars-d-announce at puremagic.com
>         <mailto:digitalmars-d-announce at 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.


More information about the Digitalmars-d-announce mailing list