Re: [dev] Suckless remote shell?

From: Alexander S. <alex0player_AT_gmail.com>
Date: Wed, 6 Nov 2013 13:10:26 +0400

2013/11/5 Markus Wichmann <nullplan_AT_gmx.net>:
>> if something was invented in the era of insufficient computing power,
>> it does make it more clunky to use.
> True. C's dynamic memory management is proof of that.
Yes, and I believe they got it about right in Go. (They got it
mathematically right in Rust, but using that requires you to
understand their papers).

>> Being old isn't what makes C old;
> Yes it does! But it doesn't make C bad.

Yeah, I indeed meant to say "bad".

>> the "1001 C Gotcha" lists are about what makes it bad.
> Apparently, the existence of such lists is the sign of a good
> programming language, because they don't exist for languages that don't
> allow enough leeway to do much wrong - so are unusable - or that no-one
> uses long enough to find pitfalls - so are evidently unusable.

Huh. That's an interesting and decent point of view.

>> The ugly hacks
>> like longjmp and varargs make it bad.
> longjmp() is kinda hacky, granted (for instance, setjmp() can only be
> used portably in a small number of contexts), but varargs? What's bad
> bout them?

They have zero type-checking (which is more or less normal for C), and
you have to use sentinels or counts even to know the number of
arguments. gcc has special support for format strings and sentinels.
When compiler authors have to support commonly-used crunches, you know
something has gone

>> C++ would be a much more decent
>> language if it didn't build on C syntax.
> C++ is broken in about every way, and it all comes back to exactly this
> point. C is simply a very bad language to base OOP on. But, to be fair,
> C++ managed to fuck up magnificently in its own right (Overcomplex
> language spec, fucking with C programmers by removing the implicit
> conversion from void* to every other pointer and vice versa, lack of GC,
> making it hard to use a GC,...)
The implicit conversion removal is a good example of how much C is
reliant on a weak type system. They have to break it in C++, at least
partially, and imo, weak type systems are just bad taste.
Received on Wed Nov 06 2013 - 10:10:26 CET

This archive was generated by hypermail 2.3.0 : Wed Nov 06 2013 - 10:12:06 CET