digitalmars.D - Why not promoting team work?
- nbro (31/31) Jan 13 2017 Hi!
- rikki cattermole (17/17) Jan 13 2017 The only way to get qualified to do these tasks like GUI toolkits is by
- nbro (3/24) Jan 13 2017 You didn't get my point at all.
- rikki cattermole (10/35) Jan 13 2017 Sadly I did and ketmar pretty much said what I was saying.
- ketmar (4/5) Jan 13 2017 freakin' easy: just pay people to do what you want. either that,
- nbro (7/12) Jan 13 2017 Serious users, to whom I'm directing this post, who really
- Chris Wright (11/11) Jan 13 2017 I tend to see projects in one of three states:
- nbro (23/23) Jan 14 2017 Nobody has understood yet the goal of this post.
- rikki cattermole (17/37) Jan 14 2017 We do understand what you're saying.
- Jerry (4/5) Jan 16 2017 To me it sounds like we need better ways of programmers to
- Chris (27/58) Jan 17 2017 To begin with, an overview of interesting / promising projects
- strymon (72/103) Jan 17 2017 Coincidentally I have been stalking the D community for about a
- rikki cattermole (5/91) Jan 17 2017 Ironically I wrote the only (e)book on CTFE[0].
- strymon (3/8) Jan 17 2017 Thanks, I'd be happy to read your book. I'll send the email now.
- solidstate1991 (16/47) Jan 17 2017 I have a game engine in the works, but as I plan to use it as my
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.
Jan 13 2017
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
Jan 13 2017
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.cfYou didn't get my point at all.
Jan 13 2017
On 14/01/2017 3:59 PM, nbro wrote:On Saturday, 14 January 2017 at 02:41:00 UTC, rikki cattermole wrote: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).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.cfYou didn't get my point at all.
Jan 13 2017
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).
Jan 13 2017
On Saturday, 14 January 2017 at 02:57:05 UTC, ketmar wrote:On Saturday, 14 January 2017 at 02:28:34 UTC, nbro 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.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).
Jan 13 2017
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 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.On Saturday, 14 January 2017 at 02:28:34 UTC, nbro 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.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).
Jan 13 2017
On Saturday, 14 January 2017 at 03:26:40 UTC, ketmar wrote:On Saturday, 14 January 2017 at 03:05:44 UTC, nbro wrote:Based on this point and the OP you clearly have no idea how software development work in the real world.On Saturday, 14 January 2017 at 02:57:05 UTC, ketmar wrote:"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.[...]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.
Jan 17 2017
On Saturday, 14 January 2017 at 03:05:44 UTC, nbro wrote:On Saturday, 14 January 2017 at 02:57:05 UTC, ketmar wrote: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.On Saturday, 14 January 2017 at 02:28:34 UTC, nbro 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.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).
Jan 17 2017
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.
Jan 13 2017
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.
Jan 14 2017
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&W 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!
Jan 14 2017
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?
Jan 16 2017
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.
Jan 17 2017
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 knowledge to become useful (or at least dangerous). I think that having more programmers around will (hopefully) result in an increased chance of collaboration. More positively, since I have been nosing around the community for about a year, I think it is still a very good place to be. Interesting things happen all the time especially in the forums and I love seeing the continued developments of the language, libraries and compilers. I mean, how many language communities support THREE compilers at the same time!? (It's not necessarily a bad thing) D is the kind of language that when you read about it and code in it makes you want to be a better programmer, it excites you and makes you want to learn more and do more. The combination of the power of the language, it's performance is a strong enticement that will keep me around.
Jan 17 2017
On 18/01/2017 12:38 AM, strymon wrote:On Saturday, 14 January 2017 at 02:28:34 UTC, nbro 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/ctfeHi! 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. ...
Jan 17 2017
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/ctfeThanks, I'd be happy to read your book. I'll send the email now.
Jan 17 2017
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.
Jan 17 2017