On Tuesday, 12 January 2016 at 20:38:50 UTC, Laeeth Isharc wrote:
On Tuesday, 12 January 2016 at 19:38:32 UTC, Jason Jeffory wrote:
It seems the whole state of affairs in programming is "Lets do the most minimal work to get X to work in environment Y. To hell with everything else!". The programmers tend to do the most minimal work to code stuff that they can get away with.

Since people aren't being paid to do this, and it's not enjoyable for many to make things universally easy across different environments once someone has solved their own problem, you can hardly object to the behaviour - particularly because different people are good at different things, and the guy who creates a project may not be the same guy needed to make it easy to use. Then it's more a question of treating it as a challenge to be solved. It's quite amazing how much a relatively small number of people has accomplished, and it's something of a hazard of open-source that instead of gratitude people receive far more criticism and complaint. (They say a 2:1 balance of positive:negative comments is needed for a healthy relationship).

So it's an engineering or institutional challenge - how does one achieve this as a community?

This isn't 1984 but coding quality has no increased much since then.

A little hyperbolic? ;) We do seem to have higher quality problems today, but do you recall what code from the 80s was like?

I've virtually had no problems with it. MS did good job of modernizing the toolchain... Most people that code on linux think that it should be "hard" and gui's suck, that programming is suppose to be a hazing ritual. They setup their system to work for them, and it works... anyone with problems must be ignorant and not "pro programmers". It's kinda this elitist attitude. They spend more time solving 1%'er problems than creating tools that *just* work for 99% of the people. When problems occur it is never their fault but the fault of the ignorant cave man trying to become an godly programmer.

Do you think that's actually representative of the attitudes of people here? I haven't seen that. But work won't get done without a plan and without someone to actually do it and one can't force people to do things they don't want to do. A big problem is people don't know what to work on, and maybe some kind of systematic approach to identify problem needs would help.

Just search "openGL dmd"(28k) and about 80% of the results are people having problems with getting openGL working with D. "openGL dmd error" has 1M results, thats nearly 30 times the results.

It would be a good idea to systematize this and produce a web report so one can see in a more structured way where the biggest difficulties are. I have been talking to Adam a bit about ways we could do this using forum history.

I agree with your observation that there is much friction in the way of a new user learning D and that many simply won't persevere long enough. That's nonetheless a better problem to have than having an intrinsically inferior product - one just needs to establish a process, and to have some way of organizing efforts to address these difficulties (which may include funding to a certain extent). I think it's a necessary part of the way D has developed that people have focused on the language and core library first - it's not so long that it has been stable and ready to use and over time better tooling will unfold. (Constructive criticism and ideas may help this process).

D has a long way to go to make it competitive... as long as the tooling sucks and there are problems with stupid issues such as coff vs omf, installation issues, ide issues, etc... it won't get off the ground.

Depends what the competition is ;) Coff vs OMF will disappear in time as people move to 64 bit. Installation questions seem to be improving. IDE support keeps getting better.

For many uses, these things are a one-off price for adopting D.
Whether it's feasible to pay that depends on what you are doing and the people you are working with.

The D "core" seems to be mainly interested in fixing and enhancing very niche issues in D instead of working on making it a viable and usable candidate for the masses.

But it is in the nature of things that disruptive technologies start off as inferior in certain respects and it's only with time that they can be a superior competitor across the board to the dominant technologies. See Clayton Christensen's work "The Innovator's Dilemma". It is what it is, and one can't wave a magic wand to force people to work for free on shiny tools to make it easy. If that's what one wants, then one can do one's small part to encourage this to happen - work on that oneself and contribute it, file bugzilla issues, fund the D foundation (once it is ready). But simply complaining won't change anything.

BTW I hardly think that memory allocation, containers, documentation, and web site (recent areas of focus by leadership) are niche issues.

No, but what's the point if there is not a proper supported tool chain to make most advantage of this stuff. It's like putting the horse before the cart(or, more sensical, having the cart pull the horse).

The "leadership" focuses on what they believe is the best stuff, but they are not in a position to know what the best stuff is precisely because they are the leaders. They must ask the people they are doing this all for. If Walter, for example, want's his baby to grow up to fill an important part of human history(if not, then why all the work?), it seems wise that he make it the easiest to use. Easier = more people use it = more useful to people = bigger = longer = better.

By niche, I mean simply compared to the overall D developmental issues. Web site design may not be totally niche, but solving some rare dmd internal compiler problems are. Also, D can't compete with the web server community so it is also niche in that regard. (until you make D easy to use, whats the point of creating cool stuff for it... no one will use it if they can't get there easily)

Anyways, sorry for the rant... not like things will change. D does fill a niche, and it shows ;/ Just wish I could drive the Ferrari! I know it's awesome! but the Mazda is more affordable(Man hours wise) and gets me to where I want to go without hassle.

Maybe you're right and it's not ready for you for now (although this might change). It's easy to overestimate what's possible in a short period of time and underestimate over a longer period. The web site and documentation are very much better today than when I first looked at D maybe 1.5-2 years back.

I don't disagree with anything you have said. The problem is mainly an "attitude". It's the same attitude that people make about life "I'll die, go to heaven, so whats the point of "fixing" stuff here, now?". But that attitude is what make it bad in the first place. Letting things "ride" because it's the easier thing to do but just perpetuates the problem which grows.

D, obviously, has done some great things. But there seems to be a huge lack of focus on the important things that will make it better.

It's quite simple, the 100 or so people working actively on D's growth can't do much of anything compared to 1M people working on it. Hence, it would seem best to figure out how to get the 1M people working on it quick as possible. As the 100 people toil away at solving these "niche" problems, they are not working on making D "affordable" to everyone. They are not multiplying their effort. They have a 1:1 leverage ration instead of 100:1.

D should be much larger than it is. How long as it been out? There is a dysfunctional issue with D. Look how fast go and rust took off? There are reasons for that. Mainly because they created an easier to use and more functional toolset. Kids that are getting into programming that have issues with X will drop X in blink of an eye and move on to Y. If Y is easy and works and does what they want, then they will stick with Y. At some point they've invested in Y and continue to use it. D has the issue that it is not easy to use beyond basic trivial non-dependent coding. Hence when these kids try to do real world stuff(openGL, audio, GUI's) and run into 1984 problems, they move on to something easier.

D has so much resistance that it has to overcome this if it cares to be a dominant player. Focusing on the wrong stuff is wrong. D does that a lot IMO... or at least neglects the right stuff(easy of use is a huge factor, and partly D has this in a fundamental way, but not in a "everyday real world use" way).

My main issue with D is not so much what it does, but that I feel it is not covering enough ground on certain areas that I feel my investment in it will not return anything. I could spend 10 years becoming a D pro and if D goes fades away, then what would it all have been for? Each person that makes such a choice of using D will have to ask themselves that question. Some obviously are ok with investing in it, *many* are not(the masses). That concerns me, because the D "leadership" doesn't seem to think it matters. What D needs is a marketing genius that can make D in to something viable.


Reply via email to