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.