Path: csiph.com!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: Keith Thompson Newsgroups: comp.compilers Subject: Re: What attributes of a programming language simplify its use? Date: Tue, 06 Dec 2022 09:56:17 -0800 Organization: None to speak of Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <22-12-007@comp.compilers> References: <22-12-001@comp.compilers> <22-12-003@comp.compilers> <22-12-004@comp.compilers> MIME-Version: 1.0 Content-Type: text/plain Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="42757"; mail-complaints-to="abuse@iecc.com" Keywords: types Posted-Date: 06 Dec 2022 13:28:40 EST X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:3254 Hans-Peter Diettrich writes: > IMO C basic syntax is a bad base. As long as declarations and > expressions can be distinguished only by the type of an identifier (type > name or variable name) it's not a good idea to add new keywords that can > be confused with variable or type names. Instead weird constructs like > "long long" for int64_t have been introduced, while "int int" stays > equivalent to "int". long long and int64_t are not the same (though int64_t may be the same type as long long in a given implementation). long long is *at least* 64 bits. int64_t is *exactly* 64 bits, and must have a 2's-complement representation and no padding bits. "int int" is a syntax error. (I'm not arguing that C's integer type system isn't overly complicated.) -- Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com Working, but not speaking, for XCOM Labs void Void(void) { Void(); } /* The recursive call of the void */