On Tuesday, 3 July 2018 at 07:42:22 UTC, RhyS 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();
}
Its nice when it works.
First: its a hack as nobody will run any production code with
the shebang include like the example posted. And they will be
forced set up a dub package. This already confuses people as
its two standards. Shebang is nice and well if you have Unix
experience but not so much for Windows users who have no Posix
experience.
Crystal or Go where your simply adding a import http and your
can keep working on that code.
Second: Its a hack and it fails easily. Maybe its dub or
whatever but i remember trying that example in the past several
times and had a lot of issues with failures using it. Using the
proper dub package actually worked better.
So this http example is not exactly prime. Add to this that
Vibe.d also keeps having issues with D releases. Where DMD
breaks something (regressions come to mind) and when Vibe.d (
and its dependencies ) as a result also break.
I never found D + Vibe.D very reliable or stable. Your almost
forced to stick to a version of D and never reinstall your
system. Even setting up a home / work setup with some time
between can result in issues that eat away hours of your time.
It also does not help that Vibe.D has problems to reach higher
performance levels.
https://www.techempower.com/benchmarks/#section=test&runid=7dc8ea3a-6db5-41b8-a4d3-c18cfe72182b&hw=ph&test=fortune
Even in my own tests, D+Vibe always lags behind Crystal, Go and
other languages. That is just shucking resources out of the
window. Not what you expect for a language this old.
+1
It couldn't be said better...