4 ms·
It's very much a nice to have for a new language nowadays, as even if web dev isn't the key niche of the language, any success the language has is likely to sti
by lostcolony 5y ago
It's very much a nice to have for a new language nowadays, as even if web dev isn't the key niche of the language, any success the language has is likely to still include a need for it. Adding it also creates interfaces and conventions that any third party ones can choose to adopt, to ensure it's a drop in replacement (and even if they don't fully, they'll likely still follow the same paradigm). This is really beneficial as, while the stdlib's version may be very middling, it ensures adopting the language and a third party's http implementation isn't going to trap you into something that becomes unmaintained, and which doesn't have a clean migration path away from; you can always fall back to using the stdlib's http library, since there's an expectation it will be maintained along with the language.
That said, if you're putting your language up as a "see the neat thing I did that's helpful in this very specific domain", and not general purpose, with the intent of supporting, it's probably immaterial to you.
- dnautics 5y agoTo some degree if you really needed the client, it would be almost trivial to import libcurl "as it is" into zig.
- throwaway17_17 5y agoIt’s less a specific domain thing and more an overly opinionated exploration framework for me. Not that it’s really important, but the language is a modal dependent type theory with a compositional (even though most people would call it concatenative) syntax that compiles to C, C++, and JavaScript. So I can always just reuse the underlying platform http and the rest of the stdlib.
- chakkepolja 5y agoI don't think zig is aiming in that category. I see it as a system language. Although these days people want to apply their favorite language to everything, I don't think zig will be a main language for writing web backends or http services. it's place is game engines, computer graphics, kernels, drivers etc..