www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - My thoughts on D

reply "Larry" <deco33 hotmail.fr> writes:
Hello,

Maybe nobody cares, maybe not.

I use D for a month now.

It is great, the community is great.
Really easy to handle it enables to get the productivity it 
promises.

Almost.

I used to run c++. I don't even want to look at my codes now.

Instead, I run python along with D.

D is very powerful.

But it suffers in the details.

1) The library is getting wider. Good. But as of now, it is still 
TOO MUCH in the c++ style, in which you have to go to github to 
grab some non official libraries.
Sometimes it works, sometimes it won't (of course it will compile 
but not easy to use or error prone -> not a good standard for a 
language)

2) In comparison, when you use Python, everything is under your 
hand. No real need to go on github or so on to keep working. 
Everything feels "safe".
We miss a "gathering point". A bit like pip or the deprecated 
easy-install.

3) Some pages are not documented properly. And, as i am not 
someone pointing out the problems and hiding when time comes to 
propose solutions/solve them, I cannot even figure out the way 
some standard libraries are expected to work.
(e.g:json; the json.org might be helpful but, common, we should 
have it directly here, not traversing the web (exagerated) to 
find a clue).

4) Even the merge with 4.9 is no help on these points. Gathering 
people, yes, showing them a path to follow to be able to stick 
together, double yes.
But the latter seems, ATM, a big no.
I know many of you are really smart, so just take this 
mataphorism : Napoleon, even if one of the greatest commander, 
would have got far if no backed by generals and a great army 
knowing where it is going.
Let's make a courtesy to D : please do not let it be jailed in 
Elbe island. It only asks to fly.

It is definitely not a bad criticism, please do not take it for 
such platitude.
I would like to see D far beyond what it is currently.

You made a GREAT job. Now, let the community help. We need 
batteries included (python-like). Then everyone will like it: 
compiled-ultra speed + great useful and centralized libraries.

English is not my native speaking, please be kind with it :)

Thanks,

Larry
Aug 19 2013
next sibling parent "Larry" <deco33 hotmail.fr> writes:
 3) Some pages are not documented properly. And, as i am not 
 someone pointing out the problems and hiding when time comes to 
 propose solutions/solve them, I cannot even figure out the way 
 some standard libraries are expected to work.
 (e.g:json; the json.org might be helpful but, common, we should 
 have it directly here, not traversing the web (exagerated) to 
 find a clue).
A point missed here : I was talking about helping to document. -> I cannot even figure out the way some standard libraries are expected to work in order to document them consistently
Aug 19 2013
prev sibling next sibling parent reply "evilrat" <evilrat666 gmail.com> writes:
On Monday, 19 August 2013 at 10:10:58 UTC, Larry wrote:
 1) The library is getting wider. Good. But as of now, it is 
 still TOO MUCH in the c++ style, in which you have to go to 
 github to grab some non official libraries.
 Sometimes it works, sometimes it won't (of course it will 
 compile but not easy to use or error prone -> not a good 
 standard for a language)
what library? phobos is standard library and distributed with compiler, so no need to checkout from githud often(in fact it could give u more troubles due to active dmd development), but if you talk about deimos than i must note this is just collection of C bindings(only), not standard library.
Aug 19 2013
parent "Larry" <deco33 hotmail.fr> writes:
On Monday, 19 August 2013 at 10:29:53 UTC, evilrat wrote:
 On Monday, 19 August 2013 at 10:10:58 UTC, Larry wrote:
 1) The library is getting wider. Good. But as of now, it is 
 still TOO MUCH in the c++ style, in which you have to go to 
 github to grab some non official libraries.
 Sometimes it works, sometimes it won't (of course it will 
 compile but not easy to use or error prone -> not a good 
 standard for a language)
what library? phobos is standard library and distributed with compiler, so no need to checkout from githud often(in fact it could give u more troubles due to active dmd development), but if you talk about deimos than i must note this is just collection of C bindings(only), not standard library.
I was indeed refering to phobos, yes :)
Aug 19 2013
prev sibling next sibling parent "John Colvin" <john.loughran.colvin gmail.com> writes:
On Monday, 19 August 2013 at 10:10:58 UTC, Larry wrote:
 Hello,

 Maybe nobody cares, maybe not.

 I use D for a month now.

 It is great, the community is great.
 Really easy to handle it enables to get the productivity it 
 promises.

 Almost.

 I used to run c++. I don't even want to look at my codes now.

 Instead, I run python along with D.

 D is very powerful.

 But it suffers in the details.

 1) The library is getting wider. Good. But as of now, it is 
 still TOO MUCH in the c++ style, in which you have to go to 
 github to grab some non official libraries.
 Sometimes it works, sometimes it won't (of course it will 
 compile but not easy to use or error prone -> not a good 
 standard for a language)

 2) In comparison, when you use Python, everything is under your 
 hand. No real need to go on github or so on to keep working. 
 Everything feels "safe".
 We miss a "gathering point". A bit like pip or the deprecated 
 easy-install.
dub is a D package manager. Depending on your OS, you might have to download *it* from github, but after that you'll have a wide range of tools at your fingertips. http://code.dlang.org/
 3) Some pages are not documented properly. And, as i am not 
 someone pointing out the problems and hiding when time comes to 
 propose solutions/solve them, I cannot even figure out the way 
 some standard libraries are expected to work.
 (e.g:json; the json.org might be helpful but, common, we should 
 have it directly here, not traversing the web (exagerated) to 
 find a clue).

 4) Even the merge with 4.9 is no help on these points. 
 Gathering people, yes, showing them a path to follow to be able 
 to stick together, double yes.
 But the latter seems, ATM, a big no.
 I know many of you are really smart, so just take this 
 mataphorism : Napoleon, even if one of the greatest commander, 
 would have got far if no backed by generals and a great army 
 knowing where it is going.
 Let's make a courtesy to D : please do not let it be jailed in 
 Elbe island. It only asks to fly.

 It is definitely not a bad criticism, please do not take it for 
 such platitude.
 I would like to see D far beyond what it is currently.

 You made a GREAT job. Now, let the community help. We need 
 batteries included (python-like). Then everyone will like it: 
 compiled-ultra speed + great useful and centralized libraries.

 English is not my native speaking, please be kind with it :)

 Thanks,

 Larry
Aug 19 2013
prev sibling next sibling parent reply "Larry" <deco33 hotmail.fr> writes:
I took the example of std.json.
Where are the examples to write, read a json file ?

http://dlang.org/phobos/std_json.html is absolutely helpless.

It is that : details.

When it will be fixed, D will really shine.
Aug 19 2013
parent reply "Jason King" <jhking airmail.net> writes:
 http://dlang.org/phobos/std_json.html is absolutely helpless.

 It is that : details.
Larry has a point here. I suppose the DDoc is better than nothing, but it doesn't give me a clue how to actually use the package. But enough complaining, to improve the documentation would I 1) clone Phobos in github 2) improve the docs on my branch 3) request a (merge|pull|whatever the git verb is to apply my changes) Assuming that path is correct, to whom would I send the request If that path isn't correct how would I go about improving the docs for a part of Phobos? I'm willing to read code and put together examples as long as they are of some general utility. If I'm just doing it by myself for myself it's not worth my time.
Aug 19 2013
next sibling parent "Dicebot" <public dicebot.lv> writes:
On Monday, 19 August 2013 at 12:03:14 UTC, Jason King wrote:
 But enough complaining, to improve the documentation would I
 1) clone Phobos in github
 2) improve the docs on my branch
 3) request a (merge|pull|whatever the git verb is to apply my 
 changes)
 Assuming that path is correct, to whom would I send the request 

You should just use a normal GitHub pull request vs https://github.com/D-Programming-Language/dlang.org master.
Aug 19 2013
prev sibling parent "qznc" <qznc web.de> writes:
On Monday, 19 August 2013 at 12:03:14 UTC, Jason King wrote:
 http://dlang.org/phobos/std_json.html is absolutely helpless.

 It is that : details.
Larry has a point here. I suppose the DDoc is better than nothing, but it doesn't give me a clue how to actually use the package. But enough complaining, to improve the documentation would I 1) clone Phobos in github 2) improve the docs on my branch 3) request a (merge|pull|whatever the git verb is to apply my changes) Assuming that path is correct, to whom would I send the request If that path isn't correct how would I go about improving the docs for a part of Phobos? I'm willing to read code and put together examples as long as they are of some general utility. If I'm just doing it by myself for myself it's not worth my time.
The wiki has the definite answers. http://wiki.dlang.org/Pull_Requests
Aug 19 2013
prev sibling next sibling parent "Jason den Dulk" <public2 jasondendulk.com> writes:
 1) The library is getting wider. Good. But as of now, it is 
 still TOO MUCH in the c++ style, in which you have to go to 
 github to grab some non official libraries.
 Sometimes it works, sometimes it won't (of course it will 
 compile but not easy to use or error prone -> not a good 
 standard for a language)
You could have two schools of thought about this. Either have a library that includes as much as possible, everything that could be conceivably used. (Called "batteries included") Or a smaller library that focusus on the more common stuff that can be reasonably expected to used in most programs. (Called "some assembly required") The advantage of the former is that you don't have to hunt as much for lesser used code. The advantage of the latter is that it is easier to maintain and the library maintainers can focus on providing those components well, and have better assurances that what's in the library is of good quality. I don't know what Walter's long term plans are for Phobos, but I personally favour the latter. Also remember that D is still fairly young. It's code base is growing, and I image the library will grow too. Give it time.
 2) In comparison, when you use Python, everything is under your 
 hand. No real need to go on github or so on to keep working. 
 Everything feels "safe".
 We miss a "gathering point". A bit like pip or the deprecated 
 easy-install.
I presume you mean a code repository where libraries are kept and can be downloaded and installed via a special program. One exists for D. Its called "dub".
Aug 19 2013
prev sibling parent "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Mon, Aug 19, 2013 at 12:10:57PM +0200, Larry wrote:
[...]
 3) Some pages are not documented properly. And, as i am not someone
 pointing out the problems and hiding when time comes to propose
 solutions/solve them, I cannot even figure out the way some standard
 libraries are expected to work.

 (e.g:json; the json.org might be helpful but, common, we should have
 it directly here, not traversing the web (exagerated) to find a clue).
[...] I agree that the documentation needs work. We're trying to work on that with the [dox] threads. :) Please speak up if you find other specific examples where the docs are not helpful. Or better yet, file bugs on it on the bugtracker (http://d.puremagic.com/issues) so that they don't get forgotten and lost in the forum archives. T -- Three out of two people have difficulties with fractions. -- Dirk Eddelbuettel
Aug 20 2013