Re: Why not promoting team work?

2017-01-17 Thread solidstate1991 via Digitalmars-d

On Saturday, 14 January 2017 at 02:28:34 UTC, nbro wrote:

Hi!

I've been following D for at least one year. I like it and I 
think it's a very good programming language, even though I do 
not agree with everything it's being done.


One thing that has saddened me is seeing a lot of D's users 
trying to implement their own library or maybe trying to 
implement multiple libraries at the same time. Most of the 
results are very poor because libraries are not


1. completed
2. maintained
3. well-written

I've seen comments like "I'm no more maintaining this library 
because I'm not able to proceed since I do not have the 
skills". This of course doesn't bring any credibility to the 
language, to the community, etc. So we see some people trying 
bring the caravan forward, but I many of these people are not 
qualified enough clearly, since they do not even have the 
vision and the knowledge that starting a project like creating 
a serious GUI or modern IDE is not an easy task, and definitely 
it won't be a person alone that will create one a decent amount 
of years that will compete with the most performant ones.


My idea (which is mostly directed to the big names behind D) is 
that team work should somehow be promoted.


How could you do such a thing?

One possibility could be to announce interesting and useful 
projects in D and somehow ask for people interesting in working 
in such projects. These people should clearly be qualified for 
the job, but this isn't an easy task to verified. The projects 
could eventually or not be backed up by the announcer of the 
project.


These could be a few starting ideas and options.


I have a game engine in the works, but as I plan to use it as my 
master's thesis (if I find a consultant for it) I cannot really 
let others to work on it until I either have to give up using it 
for my thesis or wait until I get my college degree.


However I have other plans to. Some of them include:
 - Creating a more advanced replacement for MIDI, either making 
my plans that are based upon 128bit packets, or get something 
usable out of OSC...

 - ...alongside with a new audio plugin system.
 - I created a GUI system for my engine, but I like it so much 
that I planned to make it usable outside of my engine, and it 
could be used for D based applications or even in operating 
systems like PowerNEX.


On these I could get any person who want to help me right in from 
the start.


Re: Why not promoting team work?

2017-01-17 Thread Satoshi via Digitalmars-d

On Saturday, 14 January 2017 at 03:05:44 UTC, nbro wrote:

On Saturday, 14 January 2017 at 02:57:05 UTC, ketmar wrote:

On Saturday, 14 January 2017 at 02:28:34 UTC, nbro wrote:

How could you do such a thing?


freakin' easy: just pay people to do what you want. either 
that, or people will keep working on the things *they* are 
interested (and not someone else).


Serious users, to whom I'm directing this post, who really 
believe in D's potential, should try to collaborate somehow, 
like ants which are trying to protect their nest and queen. A 
serious programmer knows that there's no point of starting a 
"another" project. There must be a goal and the the product 
must be useful somehow.


I believe in D's potential and that's the reason why I'm not 
developing IDE and GUI AppKit as an open-source project. Sorry, 
but I don't have any motivation to spend 2 years of development 
something that will not bring me anything. Actually, I want to do 
it  for full-time and only way how to do it is be paid by large 
company or make the company by myself.


You cannot expect that people doing theirs full-time jobs will 
have free time to collaborate on open-source projects. Look, how 
long it takes to fix bug in D compiler.


Re: Why not promoting team work?

2017-01-17 Thread aberba via Digitalmars-d

On Saturday, 14 January 2017 at 03:26:40 UTC, ketmar wrote:

On Saturday, 14 January 2017 at 03:05:44 UTC, nbro wrote:

On Saturday, 14 January 2017 at 02:57:05 UTC, ketmar wrote:

[...]


Serious users, to whom I'm directing this post, who really 
believe in D's potential, should try to collaborate somehow, 
like ants which are trying to protect their nest and queen. A 
serious programmer knows that there's no point of starting a 
"another" project. There must be a goal and the the product 
must be useful somehow.


"serious people" aren't working for free, you know, especially 
on "products". but you can keep looking for your "serious 
people", i won't intervene anymore. i'm not "serious 
programmer" after all.


Based on this point and the OP you clearly have no idea how 
software development work in the real world.


Re: Why not promoting team work?

2017-01-17 Thread strymon via Digitalmars-d
On Tuesday, 17 January 2017 at 12:45:09 UTC, rikki cattermole 
wrote:


Ironically I wrote the only (e)book on CTFE[0].

Its a bit out of date and needs some work, but if you want to 
give me some feedback please email me and I'll get you a coupon 
(free).


[0] https://leanpub.com/ctfe


Thanks, I'd be happy to read your book. I'll send the email now.


Re: Why not promoting team work?

2017-01-17 Thread rikki cattermole via Digitalmars-d

On 18/01/2017 12:38 AM, strymon wrote:

On Saturday, 14 January 2017 at 02:28:34 UTC, nbro wrote:

Hi!

I've been following D for at least one year. I like it and I think
it's a very good programming language, even though I do not agree with
everything it's being done.

One thing that has saddened me is seeing a lot of D's users trying to
implement their own library or maybe trying to implement multiple
libraries at the same time. Most of the results are very poor because
libraries are not

1. completed
2. maintained
3. well-written

I've seen comments like "I'm no more maintaining this library because
I'm not able to proceed since I do not have the skills". This of
course doesn't bring any credibility to the language, to the
community, etc. So we see some people trying bring the caravan
forward, but I many of these people are not qualified enough clearly,
since they do not even have the vision and the knowledge that starting
a project like creating a serious GUI or modern IDE is not an easy
task, and definitely it won't be a person alone that will create one a
decent amount of years that will compete with the most performant ones.

My idea (which is mostly directed to the big names behind D) is that
team work should somehow be promoted.

How could you do such a thing?

One possibility could be to announce interesting and useful projects
in D and somehow ask for people interesting in working in such
projects. These people should clearly be qualified for the job, but
this isn't an easy task to verified. The projects could eventually or
not be backed up by the announcer of the project.

These could be a few starting ideas and options.


Coincidentally I have been stalking the D community for about a year
too. I think I think I get what @nbro is trying to say - at least as far
as the D libraries are concerned. I am not a computer scientist, my
background is statistics and I have tried ALOT of programming languages
and I think D is head and shoulders above them all (at least the ones
I've tried).

As far as the core D language and standard libraries are concerned I
think they are pretty well looked after probably since their priority is
very high. The debates in the forum are also (or mostly) a good thing I
think - as long as they remain constructive.

Funnily enough I think Dub is fine (at least for my meagre
requirements), but the available libraries are quite woeful - and I
don't like saying this since I like D so much, it's also depressing
since I think that D is probably the best programming language in the
world. However, I think that D attracts highly driven and talented
people who also tend to be a little egomaniacal and territorial. There
are probably some commercial considerations too. If you turn up asking
about how to build a "doodad" and someone else is making money in D with
that "doodad" or feels that the topic of that "doodad" is their personal
territory, they may not want to join with you to work on it or want to
help you with it. Help is given up to a point for some basics or if you
discover a bug somewhere, but I see that things get territorial very
quickly.

On the other hand there are also projects that are so ambitious that
they alienate people. For instance, there are very few programmer that
understand how to build data structures, computer algorithms, scientific
algorithms, have an awareness of how to code for cpus and understand the
ieee context of creating algorithms. Then on top of that understand the
specific library configuration and the best way to contribute to it. I'm
not saying that people shouldn't have cool projects, but perhaps some
projects are trying to do too many things at once or need a better way
of organising themselves or need better documentation for contributors?

The support for learning advanced D programming is also quite poor, so
unless you come from a pretty good C++ background or have deep computer
science knowledge, you will struggle. The material on compile time
coding is woeful. The best source I have found is Philippe Sigaud's
tutorial but it isn't exactly an industrial strength text on the
subject. I think that Ali's Programming in D book is great, but after
reading this, "beginners" need more if they are going to productive with
D especially because of the dearth of quality libraries. The only other
source of good practice advanced D coding is the Github standard library
itself.

Its probably a good idea to have a suggested reading list for new
programmers that extend outside D at least until there are more suitable
D resources. For instance:

1. A book on algorithms and data structures.
2. A book on compilers, language design.
3. ...


Ironically I wrote the only (e)book on CTFE[0].

Its a bit out of date and needs some work, but if you want to give me 
some feedback please email me and I'll get you a coupon (free).


[0] https://leanpub.com/ctfe



Re: Why not promoting team work?

2017-01-17 Thread strymon via Digitalmars-d

On Saturday, 14 January 2017 at 02:28:34 UTC, nbro wrote:

Hi!

I've been following D for at least one year. I like it and I 
think it's a very good programming language, even though I do 
not agree with everything it's being done.


One thing that has saddened me is seeing a lot of D's users 
trying to implement their own library or maybe trying to 
implement multiple libraries at the same time. Most of the 
results are very poor because libraries are not


1. completed
2. maintained
3. well-written

I've seen comments like "I'm no more maintaining this library 
because I'm not able to proceed since I do not have the 
skills". This of course doesn't bring any credibility to the 
language, to the community, etc. So we see some people trying 
bring the caravan forward, but I many of these people are not 
qualified enough clearly, since they do not even have the 
vision and the knowledge that starting a project like creating 
a serious GUI or modern IDE is not an easy task, and definitely 
it won't be a person alone that will create one a decent amount 
of years that will compete with the most performant ones.


My idea (which is mostly directed to the big names behind D) is 
that team work should somehow be promoted.


How could you do such a thing?

One possibility could be to announce interesting and useful 
projects in D and somehow ask for people interesting in working 
in such projects. These people should clearly be qualified for 
the job, but this isn't an easy task to verified. The projects 
could eventually or not be backed up by the announcer of the 
project.


These could be a few starting ideas and options.


Coincidentally I have been stalking the D community for about a 
year too. I think I think I get what @nbro is trying to say - at 
least as far as the D libraries are concerned. I am not a 
computer scientist, my background is statistics and I have tried 
ALOT of programming languages and I think D is head and shoulders 
above them all (at least the ones I've tried).


As far as the core D language and standard libraries are 
concerned I think they are pretty well looked after probably 
since their priority is very high. The debates in the forum are 
also (or mostly) a good thing I think - as long as they remain 
constructive.


Funnily enough I think Dub is fine (at least for my meagre 
requirements), but the available libraries are quite woeful - and 
I don't like saying this since I like D so much, it's also 
depressing since I think that D is probably the best programming 
language in the world. However, I think that D attracts highly 
driven and talented people who also tend to be a little 
egomaniacal and territorial. There are probably some commercial 
considerations too. If you turn up asking about how to build a 
"doodad" and someone else is making money in D with that "doodad" 
or feels that the topic of that "doodad" is their personal 
territory, they may not want to join with you to work on it or 
want to help you with it. Help is given up to a point for some 
basics or if you discover a bug somewhere, but I see that things 
get territorial very quickly.


On the other hand there are also projects that are so ambitious 
that they alienate people. For instance, there are very few 
programmer that understand how to build data structures, computer 
algorithms, scientific algorithms, have an awareness of how to 
code for cpus and understand the ieee context of creating 
algorithms. Then on top of that understand the specific library 
configuration and the best way to contribute to it. I'm not 
saying that people shouldn't have cool projects, but perhaps some 
projects are trying to do too many things at once or need a 
better way of organising themselves or need better documentation 
for contributors?


The support for learning advanced D programming is also quite 
poor, so unless you come from a pretty good C++ background or 
have deep computer science knowledge, you will struggle. The 
material on compile time coding is woeful. The best source I have 
found is Philippe Sigaud's tutorial but it isn't exactly an 
industrial strength text on the subject. I think that Ali's 
Programming in D book is great, but after reading this, 
"beginners" need more if they are going to productive with D 
especially because of the dearth of quality libraries. The only 
other source of good practice advanced D coding is the Github 
standard library itself.


Its probably a good idea to have a suggested reading list for new 
programmers that extend outside D at least until there are more 
suitable D resources. For instance:


1. A book on algorithms and data structures.
2. A book on compilers, language design.
3. ...

Those that are very keen on building their own libraries can have 
an easier time of it. D needs more programmers taking it 
seriously and if there aren't enough immediate resources the 
community needs to be able to point people to where they can 
learn what they need to gain the 

Re: Why not promoting team work?

2017-01-17 Thread Chris via Digitalmars-d

On Saturday, 14 January 2017 at 02:28:34 UTC, nbro wrote:

Hi!

I've been following D for at least one year. I like it and I 
think it's a very good programming language, even though I do 
not agree with everything it's being done.


One thing that has saddened me is seeing a lot of D's users 
trying to implement their own library or maybe trying to 
implement multiple libraries at the same time. Most of the 
results are very poor because libraries are not


1. completed
2. maintained
3. well-written

I've seen comments like "I'm no more maintaining this library 
because I'm not able to proceed since I do not have the 
skills". This of course doesn't bring any credibility to the 
language, to the community, etc. So we see some people trying 
bring the caravan forward, but I many of these people are not 
qualified enough clearly, since they do not even have the 
vision and the knowledge that starting a project like creating 
a serious GUI or modern IDE is not an easy task, and definitely 
it won't be a person alone that will create one a decent amount 
of years that will compete with the most performant ones.


My idea (which is mostly directed to the big names behind D) is 
that team work should somehow be promoted.


How could you do such a thing?

One possibility could be to announce interesting and useful 
projects in D and somehow ask for people interesting in working 
in such projects. These people should clearly be qualified for 
the job, but this isn't an easy task to verified. The projects 
could eventually or not be backed up by the announcer of the 
project.


These could be a few starting ideas and options.


To begin with, an overview of interesting / promising projects 
would help to see what's there, what's good about them (to avoid 
re-inventing the wheel), what's bad about them (to invent a 
better wheel), etc.


The thing is that most of the effort goes into Phobos, language 
features and optimizations. It is hard to keep up with demands in 
these sectors and competition is fierce (Go, Rust etc.). Things 
like GUI libraries are not so important in comparison, as it is 
not hard at all to bind to the millions of C libraries that are 
out there.


I think priorities have changed (yet again). For a language to 
have its own GUI toolkit was important up until say ~2010. Today 
it's common to use bindings to one of the more mature GUI 
toolkits, if you need to (mind you, a lot of programs don't have 
a GUI). Today, language developers have to focus on things like 
concurrency, memory management and useful language features. So 
the core developers will always be busy with that kind of stuff, 
and to get members of the community to work on a big project 
(GUI/IDE) for years is not very realistic. Interests change, 
lives change (kids, buying a house, new job, burn out). In fact, 
with technology being an ever moving target, it might not even be 
wise to put all your money on one big project (especially with 
stuff like IDE/GUI), because you run the risk that a better and / 
or easier options becomes available. Imagine HTML+JS could be 
compiled to native GUI applications on all platforms - with 
native look and feel and graphics - and D bindings were trivial.




Re: Why not promoting team work?

2017-01-16 Thread Jerry via Digitalmars-d

On Saturday, 14 January 2017 at 02:28:34 UTC, nbro wrote:

These could be a few starting ideas and options.


To me it sounds like we need better ways of programmers to 
connect with eachother and discuss. Maybe a library subforum or 
something?


Re: Why not promoting team work?

2017-01-14 Thread rikki cattermole via Digitalmars-d

On 15/01/2017 12:38 AM, nbro wrote:

Nobody has understood yet the goal of this post.

I'm not saying that everybody should work in a team or shouldn't try to
create what one needs, if there isn't a better alternative.

I'm suggesting that for a few interesting, useful and possibly valuable
projects, before they start (but eventually also after they have
started) there could be something some promotion by the leaders of the D
programming language to attract people to work on them.

Take for instance the case of IDEs. Different people have tried to
create their own, or create bindings, but they ended up not being that
good, uncompleted, maintained very sporadically. If there was something
like I'm suggesting, I'm not saying it would solve all the problems, but
it could help in creating at least small collaborations between D's
users to work on the most valuable projects, without first thinking with
their own head. This is first about sensitization of the masses.

So, as I've described, this is about putting together people working on
projects where they are all interested, not to obligate someone to help.
This is all about improving organization in order to improve the quality
rather than the quantity.

Last, I'm not saying that money (or some sort reward) couldn't be
involved in a few cases.


We do understand what you're saying.
And I do agree about your proposal here.

The problem is getting everybody together to actually discuss problems 
and work on a solution.
For the past year me and Vladimir Panteleev have wanted to discuss image 
libraries and what is needed for one in Phobos. The problem is time. The 
solution we came up with I think was to do it at DConf, but there is no 
guarantee that either of us (well mostly me) will be there. More 
importantly other people who do have significant or more experience such 
as Manu Evans to be included as well.


Really, to get stuff like this done, we need money. We've tried going 
the team routes before but it just doesn't work. Nobody wants to work 
this way unless its actually official.


Sadly both A are quite busy, so I doubt they'll head something like 
this up. But maybe with this post we can get some funding sorted and 
have somebody handling this side of things!


Re: Why not promoting team work?

2017-01-14 Thread nbro via Digitalmars-d

Nobody has understood yet the goal of this post.

I'm not saying that everybody should work in a team or shouldn't 
try to create what one needs, if there isn't a better alternative.


I'm suggesting that for a few interesting, useful and possibly 
valuable projects, before they start (but eventually also after 
they have started) there could be something some promotion by the 
leaders of the D programming language to attract people to work 
on them.


Take for instance the case of IDEs. Different people have tried 
to create their own, or create bindings, but they ended up not 
being that good, uncompleted, maintained very sporadically. If 
there was something like I'm suggesting, I'm not saying it would 
solve all the problems, but it could help in creating at least 
small collaborations between D's users to work on the most 
valuable projects, without first thinking with their own head. 
This is first about sensitization of the masses.


So, as I've described, this is about putting together people 
working on projects where they are all interested, not to 
obligate someone to help. This is all about improving 
organization in order to improve the quality rather than the 
quantity.


Last, I'm not saying that money (or some sort reward) couldn't be 
involved in a few cases.




Re: Why not promoting team work?

2017-01-13 Thread Chris Wright via Digitalmars-d
I tend to see projects in one of three states:

1. It doesn't exist.
2. It exists, but the last update was six months ago and it's broken.
3. It exists, does what I want, and I can use it with at most small 
workarounds.

If it doesn't exist, I have to make it myself.

If it's broken and apparently unmaintained, I have no one to collaborate 
with. I might fork the project or implement my own.

If it already does what I want, I don't need to collaborate. I can (and 
sometimes do) work with upstream maintainers to add small features that I 
would like or to fix bugs.


Re: Why not promoting team work?

2017-01-13 Thread rikki cattermole via Digitalmars-d

On 14/01/2017 3:59 PM, nbro wrote:

On Saturday, 14 January 2017 at 02:41:00 UTC, rikki cattermole wrote:

The only way to get qualified to do these tasks like GUI toolkits is
by doing. Keep this in mind.

As somebody who does indeed do implement multiple libraries at one
time you're looking at it the wrong way. I switch between projects
over periods that last for years not days or weeks. The point there of
course is to prevent burn out and to enjoy what I'm working on at all
times.

I may have plenty of libraries under the Devisualization name space as
well as e.g. Cmsed that I no longer maintain. But it wasn't because of
lack of skills in the subject area, it was simply the wrong direction
for an implementation and I could not determine this ahead of time.
Eventually I will come back to them and implement them properly such
as what I'm now doing with SPEW[0].

What this says about the community is that we give things a go. No
matter how hard it is. We try, sometimes we fail and that is ok.

If there is a specific project you like, give a shout out! Seriously,
it helps to tell us where our efforts are most appreciated.

[0] http://spew.cf


You didn't get my point at all.


Sadly I did and ketmar pretty much said what I was saying.
We work on what we want to because we can. Unless money is involved the 
only thing left is ones interest in a subject to drive you. Quite often 
that means figuring things out on your own and ignoring the rest.


Doesn't mean I don't want to work with others, I do. I have in the past 
contributed to Vibe.d, adrdox and I'm sure a lot of others. But unless 
there is a project that actually fits my needs I don't contribute 
towards it. This is why I have SPEW yet libasync and vibed:eventcore 
exists. They simply do not fulfill my needs in their goals (API mostly).


Re: Why not promoting team work?

2017-01-13 Thread ketmar via Digitalmars-d

On Saturday, 14 January 2017 at 03:05:44 UTC, nbro wrote:

On Saturday, 14 January 2017 at 02:57:05 UTC, ketmar wrote:

On Saturday, 14 January 2017 at 02:28:34 UTC, nbro wrote:

How could you do such a thing?


freakin' easy: just pay people to do what you want. either 
that, or people will keep working on the things *they* are 
interested (and not someone else).


Serious users, to whom I'm directing this post, who really 
believe in D's potential, should try to collaborate somehow, 
like ants which are trying to protect their nest and queen. A 
serious programmer knows that there's no point of starting a 
"another" project. There must be a goal and the the product 
must be useful somehow.


"serious people" aren't working for free, you know, especially on 
"products". but you can keep looking for your "serious people", i 
won't intervene anymore. i'm not "serious programmer" after all.


Re: Why not promoting team work?

2017-01-13 Thread nbro via Digitalmars-d

On Saturday, 14 January 2017 at 02:57:05 UTC, ketmar wrote:

On Saturday, 14 January 2017 at 02:28:34 UTC, nbro wrote:

How could you do such a thing?


freakin' easy: just pay people to do what you want. either 
that, or people will keep working on the things *they* are 
interested (and not someone else).


Serious users, to whom I'm directing this post, who really 
believe in D's potential, should try to collaborate somehow, like 
ants which are trying to protect their nest and queen. A serious 
programmer knows that there's no point of starting a "another" 
project. There must be a goal and the the product must be useful 
somehow.





Re: Why not promoting team work?

2017-01-13 Thread nbro via Digitalmars-d
On Saturday, 14 January 2017 at 02:41:00 UTC, rikki cattermole 
wrote:
The only way to get qualified to do these tasks like GUI 
toolkits is by doing. Keep this in mind.


As somebody who does indeed do implement multiple libraries at 
one time you're looking at it the wrong way. I switch between 
projects over periods that last for years not days or weeks. 
The point there of course is to prevent burn out and to enjoy 
what I'm working on at all times.


I may have plenty of libraries under the Devisualization name 
space as well as e.g. Cmsed that I no longer maintain. But it 
wasn't because of lack of skills in the subject area, it was 
simply the wrong direction for an implementation and I could 
not determine this ahead of time.
Eventually I will come back to them and implement them properly 
such as what I'm now doing with SPEW[0].


What this says about the community is that we give things a go. 
No matter how hard it is. We try, sometimes we fail and that is 
ok.


If there is a specific project you like, give a shout out! 
Seriously, it helps to tell us where our efforts are most 
appreciated.


[0] http://spew.cf


You didn't get my point at all.


Re: Why not promoting team work?

2017-01-13 Thread ketmar via Digitalmars-d

On Saturday, 14 January 2017 at 02:28:34 UTC, nbro wrote:

How could you do such a thing?


freakin' easy: just pay people to do what you want. either that, 
or people will keep working on the things *they* are interested 
(and not someone else).


Re: Why not promoting team work?

2017-01-13 Thread rikki cattermole via Digitalmars-d
The only way to get qualified to do these tasks like GUI toolkits is by 
doing. Keep this in mind.


As somebody who does indeed do implement multiple libraries at one time 
you're looking at it the wrong way. I switch between projects over 
periods that last for years not days or weeks. The point there of course 
is to prevent burn out and to enjoy what I'm working on at all times.


I may have plenty of libraries under the Devisualization name space as 
well as e.g. Cmsed that I no longer maintain. But it wasn't because of 
lack of skills in the subject area, it was simply the wrong direction 
for an implementation and I could not determine this ahead of time.
Eventually I will come back to them and implement them properly such as 
what I'm now doing with SPEW[0].


What this says about the community is that we give things a go. No 
matter how hard it is. We try, sometimes we fail and that is ok.


If there is a specific project you like, give a shout out! Seriously, it 
helps to tell us where our efforts are most appreciated.


[0] http://spew.cf