On Monday, 2 July 2018 at 05:20:51 UTC, Joakim wrote:
On Sunday, 1 July 2018 at 15:40:20 UTC, Ecstatic Coder wrote:
On Sunday, 1 July 2018 at 14:01:11 UTC, Jonathan M Davis wrote:
On Sunday, July 01, 2018 13:37:32 Ecstatic Coder via
Digitalmars-d-announce wrote:
On Sunday, 1 July 2018 at 12:43:53 UTC, Johannes Loher wrote:
> Am 01.07.2018 um 14:12 schrieb Ecstatic Coder:
>> Add a 10-liner "Hello World" web server example on the
>> main page and that's it.
>
> There already is one in the examples:
>
> #!/usr/bin/env dub
> /+ dub.sdl:
> name "hello_vibed"
> dependency "vibe-d" version="~>0.8.0"
> +/
> void main()
> {
>
> import vibe.d;
> listenHTTP(":8080", (req, res) {
>
> res.writeBody("Hello, World: " ~ req.path);
>
> });
> runApplication();
>
> }
Yeah I know, guess who asked for it...
But the last step, which is including such functionality
into the standard library , will never happen, because
nobody here seems to see the point of doing this.
I guess those who made that for Go and Crystal probably did
it wrong.
What a mistake they did, and they don't even know they make
a mistake, silly them... ;)
What should and shouldn't go in the standard library for a
language is something that's up for a lot of debate and is
likely to often be a point of contention. There is no clear
right or wrong here. Languages that have had very sparse
standard libraries have done quite well, and languages that
have had kitchen sink libraries have done quite well. There
are pros and cons to both approaches.
- Jonathan M Davis
I agree.
But here I'm just talking of the "public image" of the
language.
Languages which integrates HTTP-related components in their
standard library, and advertize on that (like Crystal for
instance), obviously apply a different "marketing" strategy
than languages which have chosen not to do so.
That's all I say...
Two points:
- Andrei pushed to include vibe.d but it didn't happen.
"There's no web services framework (by this time many folks
know of D, but of those a shockingly small fraction has even
heard of vibe.d). I have strongly argued with Sönke to bundle
vibe.d with dmd over one year ago, and also in this forum.
There wasn't enough interest."
https://forum.dlang.org/post/nipb14$ldb$1...@digitalmars.com
- As you acknowledge, integration has drawbacks too. I thought
this was an interesting recent article about how it has now
hobbled one of the biggest tech companies in the world:
https://stratechery.com/2018/intel-and-the-danger-of-integration/
I don't think the web matters enough these days that it is
worth bundling, which is why a webassembly port is also not
worth it for most:
https://www.mobiloud.com/blog/mobile-apps-vs-the-mobile-web/
Instead of trying to integrate vibe.d, which I don't think would
be a good idea, personally I'd rather suggest taking the
opportunity to design the interface of those standard
HTTP-related components from scratch (listener server, fibers,
channels, etc), independently from vibe.d and with a minimalistic
mindset, by taking inspiration mainly from Go, along with Crystal
and vibe.d, even if the implementation will obviously end up
being very similar to the one of vibe.d.