vibe.d and my first web service

ddcovery antoniocabreraperez at gmail.com
Thu Aug 20 18:13:46 UTC 2020


On Monday, 17 August 2020 at 15:45:05 UTC, aberba wrote:
> On Thursday, 13 August 2020 at 09:54:06 UTC, Mr. Backup wrote:
>> On Wednesday, 12 August 2020 at 13:46:06 UTC, James Blachly 
>> wrote:
>>>
>>> Unfortunately the problem still occurs with Vibe.d 0.9.0
>>>
>>> IMO **this is the single most important problem to fix** for 
>>> vibe.d -- if the most basic of examples (indeed, supplied by 
>>> dub itself) fails so spectacularly, the casual new user will 
>>> not spend the time to find out why this is happening, but 
>>> instead move on. The ctrl-C non-termination bug has existed 
>>> since at least 2015 from what I can tell from the forums.
>>>
>>
>> As a casual new novice, I really like dlang as such, and I 
>> think it should be the most widespread and popular language in 
>> the world. And as soon as I came across it, I wanted to use it 
>> in my project. But it has many packages for the same things, 
>> but these packages are unfinished. Everyone creates their own. 
>> You start comparing them and don't know what to choose for 
>> your job and then you find out that you should have chosen 
>> another and then find out that you should have written it 
>> yourself. And then I finally done it in golang in a while. I 
>> think the dlang community should focus on creating a quality 
>> standard library.
>>
>> We live in the 21st century where there are web technologies 
>> everywhere around us, so I think that the http package should 
>> be part of a standard library.
>
>
> It takes time. I was comparing packages available in D compared 
> to say nodejs which I've been using for a while.
>
> Very few important ones are missing. The others too lack some 
> documentation. Other than that, you get pretty much what you 
> need. Except cloud sdks.
>
> also using vibe.d has some missing pieces on how to do certain 
> things... that I agree we Users need to do writing about them.
>
> You're also right that people keep rolling their own 
> implementations. Most people here are really good and can roll 
> their own so its quite tempting...plus reading someone's code 
> and implementation can be a lil...sometimes. except rolling 
> your own means it'll be half baked and undocumented.
>
> Also I suspect lot of community members primary don't do web 
> stuff primarily.
>
> If you ask me, I'll say vibe.d is the most solid and feature 
> complete web framework at the moment...code, docs, libraries. 
> It's not perfect but its never been a blocker. That's if you 
> know your way around it. Sonke is a pretty cool guy.
>
> Will be nice if he had a GitHub sponsor or something for vibe.d
>
> Hunt framework is also your laravel D alternative.

After 18 years following DLang, and some disagrees about 
productivity lacks at the beggining (no IDE, Debugging?, an 
standard library battle, not a good database connection library, 
missing web framework) and Walter adding more and more compiler 
functionalities (all of them nice ones) I decided to forget DLang 
for a time (C# covered my needs really well).

Last month I decided it was time to start a new project (my own 
company) and I reviewed some languages/frameworks for web 
development (REST services, image processing, PDF generation, 
...):  Java based ones (I'm experienced with scala/playframework 
and spring/java, and Kotlin is really nice), c# and Net core, 
Node/Typescript (Last 6 years I have been mainly a node backend 
developer) and,  finally, native ones (GO, Rust and D... I 
developed some windows apps in 90's using Symantec C++ but 20 
years are a really long time).

I really wanted to give D an opportunity: lets go with vibe.d

I tested vibe.d on my ubuntu 20.04 and SURPRISE: the hello world 
project began to eat all my machine memory (just requesting with 
Firefox and CTRL+F5 pressed continuosly).  Using an HAPROXY 
between calls and backend memory problems disappeared.

Process doesn't stop properly after CTRL+C... but I decided not 
to be so demanding.

I discovered hunt-framework (with a fantastic ORM implementation) 
and my eyes shinned. I tried an example project. Like vibe.d, I 
began to perform requests with Firefox and CTRL+F5 pressed and 
application stopped immediately (yesterday I discovered it is a 
SIGPIPE unmanaged signal that stops the process).  I'm quite sure 
if I use HAPROXY to intermediate between requests and backend, 
the problem will disappear, but I don't want to perform this 
test, because I decided not to use hunt-framework neither.

Finally I'm using Rust (with Rocket and Diesel):  it's my money 
folks :).

Sorry for this not constructive post.

DLang needs to bright in some market niche to attract developers 
and to solve the actual most demanded needs:  a lot of 
developers, like me, expect a good/robust framework for backend 
development (web/rest/microservices/data processing) and a 
de-facto standard library for Database integration.

In my opinion, "hunt-framework" (or similar) should be one of the 
central projects of DLang next years (like vibe.d in the past) 
with a really impressive documentation (English, please!!!) 
demonstrating how robust, performant and expressive D lang is.



More information about the Digitalmars-d-learn mailing list