Re: [dev] [lnanosmtp]

From: Louis Santillan <lpsantil_AT_gmail.com>
Date: Fri, 10 Jun 2016 11:14:53 -0700

On Fri, Jun 10, 2016 at 3:20 AM, FRIGN <dev_AT_frign.de> wrote:
> On Fri, 10 Jun 2016 03:02:44 -0700
> Louis Santillan <lpsantil_AT_gmail.com> wrote:
>
> Hey Louis,
>
>> As to justification, I'd say, that depends. Libc (and C in general)
>> has some well known, well documented bugs that exists simply to keep
>> old code compiling (many methods that start with str*, malloc/free
>> corner but frequent cases, etc). I'd say that's sucks. And that is
>> why we have seen the proliferation of languages in the last 30 years
>> (since ansi c acceptance). A condition of NIH and a far worse sin
>> than trying to fix the situation by utilizing a lower level api.
>
> can you give an example? Posix sometimes does some weird shit, but
> definitely not are bugs standardized.
> What I noticed though is that Posix likes to keep the use of "char"
> even though it means "byte".

I you pointed to a perfect example. While extremely it is extremely
convenient for some architectures to represent strings as a pointer to
char/bytes + an implicit terminator, Pascal strings (really, a
struct/object containing pointer + length) are imminently safer. As
is, strings in C are this ambiguous type that lie somewhere in between
pointers, arrays, and structs/objects. Complicating this further is
the modern need for internationalization (UTF8, UCS2, UTF16,
WideChar?) which increases the ambiguity of the underlying data
storage and how to interact with it. Making strings an object could
fix that.

>> Take Plan 9 or Go-lang. Is that NIH? Or is that someone
>> experimenting and/or seizing an opportunity to suck less?
>
> Woah, hold your horses there for a minute. You are comparing a
> hacky libc-wannabe-codechunk, hardcoded on top of Linux syscalls
> and arch-specific with one maintainer with Plan 9 oder Go?
>
> I would be the first to go forward and call for maybe a simpler
> approach to this whole (or)deal, however, I really don't see
> so much that would justify tipping over all existing code built
> on top of the libc and starting anew.

Does success, or scale, or commercial support, or number of developers
make an idea "the right way to do things(tm)" or well designed? If
that's true, we all ought to change the subject to Java, JavaScript,
and C#/.Net. Instead, I think things/ideas like suckless or Plan9 or
Go or alternatives to libc need much work and usage to prove their
worth. There are still people waiting on Lisp and Smalltalk.
Received on Fri Jun 10 2016 - 20:14:53 CEST

This archive was generated by hypermail 2.3.0 : Fri Jun 10 2016 - 20:24:11 CEST