News for hackers. Stuff that matters.
Re:Fix the unit test and open a giant hole everywhere by fivea on Sunday December 26, 2021 @06:18AM (#29691481)
> The other is one most other languages choose which is some kind of cross platform sockets support out of the box with packages filling in more niche cases for performance or usability reasons.

Given that Java followed that path and already acknowledged that mistake by deprecating the original HTTP client, why do people insist in not learning lessons?

Re:Fix the unit test and open a giant hole everywhere by vlovich123 on Sunday December 26, 2021 @10:47AM (#29693312)
HTTP != sockets. I’m not arguing for HTTP within the standard library but for low-level networking support. That one should be non controversial.

As for HTTP within the standard library, I would probably tend to agree although I’d note that Python does have it in its standard module set and I don’t think there’s an acknowledgement that that’s somehow a mistake. Each language fills a different need so framing it as “people insisting in not learning lessons” isn’t helpful. Not to mention that the best way to learn is to experiment and double check if what was once true remains that way (experts know when and in what way to break rules).

Re:Fix the unit test and open a giant hole everywhere by pjmlp on Sunday December 26, 2021 @10:38AM (#29693218)
Because what the standard library offers, is supposed to be available across all platforms and implementations of a specific language, with a certain expectation level in quality.

What is available as external library has various levels of support quality.

That is why we have POSIX, the C runtime that ISO C didn't want to rely on, yet almost every C program uses a part of it.

Re:Fix the unit test and open a giant hole everywhere by jstimpfle on Sunday December 26, 2021 @11:26AM (#29693718)
Pretty sure many or most Windows programs don't use the POSIX library.
Re:Fix the unit test and open a giant hole everywhere by pjmlp on Sunday December 26, 2021 @11:36AM (#29693824)
Indeed, there is a semantic difference between almost every and all of them.

Still it was deemed important enough to spend development resources on the POSIX subsystem to make DoD happy, then SFU and now integrate the Linux kernel.

Re:Fix the unit test and open a giant hole everywhere by jstimpfle on Monday December 27, 2021 @09:50AM (#29702890)
I don't think there is a need to bring up "semantics" here, and the only reasonably defined semantics that I know for the term "almost all" would be from set theory where that is a useless term without an infinite set to measure against.

Common sense anyway would suggest that "almost every" is distinct from "many, but also many not", and the latter is what I think would be a better fit here.

The intention behind my comment (and I thought it was clear without any "semantics" discussion required) was to show that there is no need for the POSIX layer to be included as part of ISO C. POSIX is just a "platform layer" (for all I know), meaning that it is much closer to a "library" than a "runtime". I don't see a need to bundle it tightly with the language. Heck, why did I even bring up Windows as a counterexample, when there are probably a lot of more-or-less ISO C conforming compilers for microcontroller platforms that could never support POSIX.