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!news.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Nicholas Collin Paul de Gloucester Newsgroups: comp.lang.ada Subject: Re: Top 10 Worst C# Features Date: Fri, 6 Nov 2015 15:50:25 +0100 Organization: A noiseless patient Spider Message-ID: References: <5cb5c989-4d12-41d8-88df-ab45988ba8a1@googlegroups.com> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Injection-Info: mx02.eternal-september.org; posting-host="1b4315c307f3cc5ba77928d0bb2ed33c"; logging-data="12159"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX186tb39g2JMCOOsUt6Mf3eYZp/1LwL1Dato+en5mImgKg==" User-Agent: Alpine 2.11 (DEB 23 2013-08-11) In-Reply-To: <5cb5c989-4d12-41d8-88df-ab45988ba8a1@googlegroups.com> Cancel-Lock: sha1:yO1X09oBwV965SwiQ/8gBBiR4v0= X-X-Sender: gloucester@Lydia.insomnia247.nl Xref: news.eternal-september.org comp.lang.ada:28238 Date: 2015-11-06T15:50:25+01:00 List-Id: On October 14th, 2015, Maciej Sobczak sent: |-------------------------------------------------------------------------| |"> One of the bugs which I detected in Crap-Poo-Poo code which I referred| |> to in the paper referred to below involved two functions like these, | |> but they accidentally did not return values compatible with each | |> other. I explained this to Crap-Poo-Poo advocates involved, but they | |> lacked sufficient intelligence to comprehend a reason as to code | |> cloning producing a bug. | | | |Apparently you have talked to wrong advocates. | |For the sake of discussion I will play that role in this post. | | | |Yes, we understand that it is possible to have incompatible | |implementations of operator== and operator!= in C++ (assuming that | |this is the language you are referring to), but we are willing to | |take this risk (and address it by other means) as it allows us to | |implement these operators more efficiently. | |[. . .]" | |-------------------------------------------------------------------------| This Crap-Poo-Poo code was inefficient. The idea of an operator which is a complement of another operator being implemented in terms of a complementary operator had not occurred to these idiots. |-------------------------------------------------------------------------| |"> I also advised that Ada does not do | |> this. | | | |Yes, we know that Ada prevents some [. . .]. This is not the only one." | |-------------------------------------------------------------------------| Ada prevents bugs. |-------------------------------------------------------------------------| |"> They persisted with Crap Poo Poo. | | | |Yes, we prefer to get better performance at the expense of higher | |verification effort." | |-------------------------------------------------------------------------| Actually, they untruthfully boasted about both being faster and being verified. |-------------------------------------------------------------------------| |"If you are willing to address the above, please use the actual name | |of the programming language that you are referring to. | | | |-- | |Maciej Sobczak * http://www.inspirel.com " | |-------------------------------------------------------------------------| Why? It was supposedly in C++ (which one of the aforementioned idiots frequently used to accidentally call C then) and supposedly SystemC(R) code. Note that persons who impose a requirement on how to use the SystemC(R) name do not even adhere to this requirement themselves. Regards, Nicholas Collin Paul de Gloucester