From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail From: Paul Rubin Newsgroups: comp.lang.ada Subject: Re: Teaching C/C++ from Ada perspective? Date: Mon, 02 Jul 2018 13:14:11 -0700 Organization: A noiseless patient Spider Message-ID: <87efglmm3w.fsf@nightsong.com> References: <856189aa-fa00-4960-929e-174f352310ad@googlegroups.com> <2718c8d4-5f35-4fd8-a1aa-1e60069a7a5d@googlegroups.com> <39fce60c-9f56-42fb-b679-fa08810b00ee@googlegroups.com> <47d4ddac-8dae-426c-9096-88d032c59cb0@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: reader02.eternal-september.org; posting-host="7620d3e56af649327de529c6dc298dc2"; logging-data="21016"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/TxD/sybhZuxI+vof1C3VY" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) Cancel-Lock: sha1:9iiSp/7kpNF45u7gPkEKodLE5fY= sha1:3x1TbglwVzlo54UEXGCAcVMPBJU= Xref: reader02.eternal-september.org comp.lang.ada:53519 Date: 2018-07-02T13:14:11-07:00 List-Id: Marius Amado-Alves writes: > It takes a formidable C++ programmer to write in the least bad C++ > style possible. Like one in a million. Because it is necessary to > understand the entire language (one in a thousand programmers), I think today's received wisdom is the opposite of the above. The language is made of many layers of accreted crap and it's unnecessary, even terrible, to try to understand it all. Rather it's better to just use a good subset that leaves the crap behind. > and then be able to pick the least bad idioms all the time (one in a > thousand of the former thousandth). No that's not required at all, at least in the sense of expecting the working programmer to pick the idioms. It's sufficient to let the gurus reach a consensus on best practices, then follow those. I.e. read this and do what it says: https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md