Benjiro
| Going on the back of the Nim topic that has gone off-topic.
Code Example:
> #!/usr/bin/env dub
> /+ dub.sdl:
> dependency "vibe-d" version="~>0.8.0"
> +/
> void main()
> {
> import vibe.d;
> listenHTTP(":8080", (req, res) {
> res.writeBody("Hello, World: " ~ req.path);
> });
> runApplication();
> }
No mention this needs to be run with dub, instead of dmd. Confusing as the other examples are dmd based.
User friendliness: 3/5
Outputs:
module dd;
> ../.dub/packages/vibe-d-0.8.5/vibe-d/data/vibe/data/json.d(79,8): Deprecation: alias std.json.JSON_TYPE is deprecated - Use JSONType
> ../.dub/packages/vibe-d-0.8.5/vibe-d/data/vibe/data/json.d(79,8): Deprecation: alias std.json.JSON_TYPE is deprecated - Use JSONType
> ../.dub/packages/vibe-d-0.8.5/vibe-d/data/vibe/data/json.d(215,9): Deprecation: enum member std.json.JSONType.NULL is deprecated - Use .null_
> ../.dub/packages/vibe-d-0.8.5/vibe-d/data/vibe/data/json.d(216,9): Deprecation: enum member std.json.JSONType.OBJECT is deprecated - Use .object
> ../.dub/packages/vibe-d-0.8.5/vibe-d/data/vibe/data/json.d(223,9): Deprecation: enum member std.json.JSONType.ARRAY is deprecated - Use .array
> ../.dub/packages/vibe-d-0.8.5/vibe-d/data/vibe/data/json.d(226,9): Deprecation: enum member std.json.JSONType.STRING is deprecated - Use .string
> ../.dub/packages/vibe-d-0.8.5/vibe-d/data/vibe/data/json.d(227,9): Deprecation: enum member std.json.JSONType.INTEGER is deprecated - Use .integer
> ../.dub/packages/vibe-d-0.8.5/vibe-d/data/vibe/data/json.d(228,9): Deprecation: enum member std.json.JSONType.UINTEGER is deprecated - Use .uinteger
> ../.dub/packages/vibe-d-0.8.5/vibe-d/data/vibe/data/json.d(229,9): Deprecation: enum member std.json.JSONType.FLOAT is deprecated - Use .float_
> ../.dub/packages/vibe-d-0.8.5/vibe-d/data/vibe/data/json.d(230,9): Deprecation: enum member std.json.JSONType.TRUE is deprecated - Use .true_
> ../.dub/packages/vibe-d-0.8.5/vibe-d/data/vibe/data/json.d(231,9): Deprecation: enum member std.json.JSONType.FALSE is deprecated - Use .false_
> ../.dub/packages/diet-ng-1.6.0/diet-ng/source/diet/parser.d(787,6): Deprecation: function std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
> ../.dub/packages/diet-ng-1.6.0/diet-ng/source/diet/parser.d(788,29): Deprecation: function std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
> /usr/include/dmd/phobos/std/range/primitives.d(174,38): Deprecation: function std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
> /usr/include/dmd/phobos/std/range/primitives.d(176,27): Deprecation: function std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
> /usr/include/dmd/phobos/std/range/primitives.d(1264,26): Deprecation: function std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
> /usr/include/dmd/phobos/std/range/primitives.d(1021,27): Deprecation: function std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
> /usr/include/dmd/phobos/std/range/primitives.d(1553,38): Deprecation: function std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
> /usr/include/dmd/phobos/std/range/primitives.d(2185,15): Deprecation: function std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
> /usr/include/dmd/phobos/std/algorithm/iteration.d(598,9): Deprecation: function std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
> /usr/include/dmd/phobos/std/algorithm/iteration.d(604,20): Deprecation: function std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
> /usr/include/dmd/phobos/std/algorithm/iteration.d(624,20): Deprecation: function std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/client.d(857,18): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/client.d(947,18): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/proxy.d(169,30): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/proxy.d(180,24): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/proxy.d(195,30): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/proxy.d(207,23): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/server.d(923,24): Deprecation: function std.typecons.Nullable!(CookieValueMap).Nullable.get_ is deprecated - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/server.d(936,38): Deprecation: function std.typecons.Nullable!(DictionaryList!(string, true, 16LU, false)).Nullable.get_ is deprecated - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/server.d(1015,18): Deprecation: function std.typecons.Nullable!(DictionaryList!(string, true, 16LU, false)).Nullable.get_ is deprecated - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/server.d(1706,18): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/server.d(2337,17): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/http/vibe/http/server.d(2287,18): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(174,38): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(176,27): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(174,38): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(176,27): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/mail/vibe/mail/smtp.d(214,24): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/mongodb/vibe/db/mongo/settings.d(130,27): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(174,38): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(176,27): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(174,38): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(176,27): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/web/vibe/web/rest.d(1847,18): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/web/vibe/web/rest.d(1876,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/web/vibe/web/rest.d(1883,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(174,38): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(176,27): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(174,38): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(176,27): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(174,38): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(176,27): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(174,38): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> /usr/include/dmd/phobos/std/range/primitives.d(176,27): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
> ../.dub/packages/vibe-d-0.8.5/vibe-d/utils/vibe/utils/dictionarylist.d(77,22): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
Exactly what a new users wants to see. Not one or two missed issues but a boatload.
User first impression: 1/5
This took me less then 10 minutes to find these issues just using a few of the official examples on the front page. I do not even dare to touch the others.
Downloads:
As stated in the nim topic:
> 1. sudo wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list
> 2. sudo apt-get update && sudo apt-get -y --allow-unauthenticated install --reinstall d-apt-keyring
> 3. sudo apt-get update && sudo apt-get install dmd-compiler dub
Step 2 does not work because the first " sudo apt-get update" has no "--allow-unauthenticated install "...
User friendliness: 4/5
User first impression: 0/5
I am sure by just going over the examples and code everywhere, its easy to find issues but is it the task for any newbie to run into those?
---------------------------------
Its fun for people to whine why D is looked upon as negative or why it does not grow like other languages. But people never look past their own front door, to see how easy it is to scare away people with things that do not work or give warnings all over the place.
Call me crazy but this is why i am a long time proponent that everything http like vibe.d needs to be part of the standard library like other languages have done ( go, crystal etc ) so warnings like this do not show up, as the code is kept in sync with the releases.
And then people complain how they do not want a overly heavy standard library and rather have new users exposed to things like this.
Its easier to whine about people being negative then actually proactive fixing the issues. For 3 years i have been following D. The deprecation pollution in 3th party packages has been reported here dozens of times because new D releases keep breaking things with every one or two versions. The issue with the 3th party download is also not new.
Learn a lesson from Rust, who when they started out tested each and every package automatically and reported the issues to the crate maintainers. This deprecation is just depressing.
But yea, i am "whining". Thanks for the tip fellow community member, while here i was thinking i am polite in the Nim 1.0 topic to mention the issues that plagued me so the D maintainers know how easy it is to scare away people.
When i report the 3th party issue ( that lasted how many years! ), the last thing i needed was the next day to see a mail about how i am a whiner. Or some passive aggressive "your welcome!". When even Reddit feels like a nice place. *shakes head*... As i wrote in the Nim 1.0 topic. Get some fracking moderation and code of conduct.
I'll check back in next year to mark my 4 year of finding out about D, and wonder how little this community will have actually changed beyond a few fix me ups. *sigh*...
D, here are several issues to solve ... Your welcome to fix them! See you next year for the next "whining".
|