From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 055D91396D0 for ; Mon, 4 Sep 2017 06:49:34 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id B6C97E0DDD; Mon, 4 Sep 2017 06:49:27 +0000 (UTC) Received: from ash.phoenixmail.de (ash.phoenixmail.de [IPv6:2001:67c:12a0:3:594c:529e:98f:76e4]) by pigeon.gentoo.org (Postfix) with ESMTP id 3FB7EE0DC4 for ; Mon, 4 Sep 2017 06:49:26 +0000 (UTC) Received: by ash.phoenixmail.de (Postfix, from userid 119) id E12CDCAC0C39; Mon, 4 Sep 2017 06:49:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=phoenixmail.de; s=ash; t=1504507764; bh=nDC0GvreSBNM1Hl+eohqVyKO2dXaWGbPTc0uc48HmfU=; h=Date:From:To:Subject:References:In-Reply-To; b=lP2U4q4tkMS3px9EmnbBkN3K2IhaSEKdYW0FVWCHQEsxIYvc2x7UpkH7wwa0MgJsL owWKQRZtuVtTDseq3STFNbcSZFAeMzjlmkQu3P2DDbfvc1stfoT4+iVzD9pbOQSMHI 9tle4gMgBvaceqgYvY18OvixdKbRSPWs4F8jVSVkdJaldkSR2CuUkJ8MYrw2UMO37b 1gC6MI1jbE2FVsg39a92akI5UhysOd7obgmG2jXF4yWfqKS8dXSWYdEcBJ8nKxRsEc LSUKsr+U5AM+Bf1iu/H7dR6oF+2RFoI7ZVIhwAwQrSc0KbzGzAgz6DKA8FyNKaEbwR aNaA+n9CzzYGw== X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on ash.phoenixmail.de X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,URIBL_BLOCKED autolearn=disabled version=3.4.1 Received: from localhost (p200300C1CBC6600092E26A9D81E2A04E.dip0.t-ipconnect.de [IPv6:2003:c1:cbc6:6000:92e2:6a9d:81e2:a04e]) by ash.phoenixmail.de (Postfix) with ESMTPSA id 024DCCAC03EB for ; Mon, 4 Sep 2017 06:49:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=phoenixmail.de; s=ash; t=1504507764; bh=nDC0GvreSBNM1Hl+eohqVyKO2dXaWGbPTc0uc48HmfU=; h=Date:From:To:Subject:References:In-Reply-To; b=lP2U4q4tkMS3px9EmnbBkN3K2IhaSEKdYW0FVWCHQEsxIYvc2x7UpkH7wwa0MgJsL owWKQRZtuVtTDseq3STFNbcSZFAeMzjlmkQu3P2DDbfvc1stfoT4+iVzD9pbOQSMHI 9tle4gMgBvaceqgYvY18OvixdKbRSPWs4F8jVSVkdJaldkSR2CuUkJ8MYrw2UMO37b 1gC6MI1jbE2FVsg39a92akI5UhysOd7obgmG2jXF4yWfqKS8dXSWYdEcBJ8nKxRsEc LSUKsr+U5AM+Bf1iu/H7dR6oF+2RFoI7ZVIhwAwQrSc0KbzGzAgz6DKA8FyNKaEbwR aNaA+n9CzzYGw== Date: Mon, 4 Sep 2017 08:49:23 +0200 From: Marvin =?utf-8?Q?G=C3=BClker?= To: gentoo-user@lists.gentoo.org Subject: Re: [gentoo-user] Ruby - 3 versions - seriously???? Message-ID: <20170904064923.GB4985@hades.fritz.box> References: <7b8d7e5b-51d5-2bc2-e1be-e4c9e5510bda@wht.com.au> <9dfc7db0-cf95-e420-5f1d-c664ab547f2f@gmail.com> <20170902213730.GA13386@hades.fritz.box> <20170903103123.GB12087@hades.fritz.box> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@lists.gentoo.org Reply-to: gentoo-user@lists.gentoo.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.8.3 (2017-05-23) X-Archives-Salt: 8f9ef643-e153-4739-86b1-9f71435a9305 X-Archives-Hash: aa216c567f94c16c31eed2e4c103c5b3 Am 03. September 2017 um 15:35 Uhr -0500 schrieb R0b0t1 : > I think the takeaway from Alan's comment is that Python is unnaturally > stable compared to other interpreted languages. One might be inclined > to think Python developers consider their work to be a widely used > tool as opposed to a toy to play with. If you regard Ruby as a toy language, I'm inclined to say that quite a number of (most often Rails) applications use it in for serious projects. > Then why does he have all three installed? I cannot answer that. I lack the insight into the Gentoo Ruby deployment process. > These are all fairly major changes for a minor release. I'm not really > sure any of this evidence supports the opinion that Ruby doesn't > experience breaking changes more regularly than other languages. I have not made the claim that Ruby is more stable than other languages, especially did I never say that Ruby is as stable as Python. My intention was the counter the statement that every Ruby minor release is a "complete new language". The changes I listed are breaking, but not to a degree that justifies the "complete new language" statement. > Leading into my next point, I remember some conversations about people > discussing the Ruby parser and how there was no BNF description of the > language. Consequently (from memory) there was at least one > implementation of Ruby were encountering regressions in the parser > between versions that were undocumented and not detected until the > releases had already been made. The result was that code was > semantically different between some versions. Regrettably I'm having > trouble citing this one. It was JRuby as far as I know, but don't nail me on that. I don't have it ready either, nor do I have the exact circumstances in memory. > Situations like the above, and reliance on private C interfaces, are > what makes it seem plausible to me that there are packages that > require a version that has no listed breaking changes. Using unsupported private C interfaces is going to make any package break in any language over time. This is not Ruby's fault. > This statement makes me think you haven't tried to understand the > issue, as that ISO document - to the best of my knowledge, I can't > actually view it without paying money - implements Ruby 1.8.1 and > potentially some features from 1.9. Hearsay indicates it was started > at the behest of the Japanese government so that they could use Ruby > for internal projects as their rules seem to require standards > documents for software. This is important, because it shows that there > is no real effort by Ruby's lead developer or the Ruby community to > produce a legitimate standards document. I've not worked with the ISO document. You requested a formal standard, and I replied that there's an ISO document, which I regard as a standard. I didn't know that it describes such an ages old version of Ruby (though I should have known better given the date). Since the 2.4.0 release post on ruby-lang.org justifies removal of Fixnum/Bignum with the interpreter not being compliant with the ISO standard, I was under the impression that it was still usable. If it isn't, I apologise. > In practice one finds more references to something called RubySpec > which is an executable implementation of what people like to call a > specification. RubySpec appears to be discontinued[1], but even when > it was in use there are three things that should be pointed out: The RubySpec was started as a community effort indeed, but if you only read the Rubinius view of it, you're going to see a lot of bias. The Rubinius main maintainer retracted from the effort by his own decision. Consequently, the RubySpec is now maintained by the core team of the canonical Ruby implementation[1]. Thus, it is not true that the core developers do not make use of RubySpec. > If you look at the RubySpec code you will see that the "specification" > consists of testcases that attempt to define the behavior of Ruby. As > mentioned, these tests are written in Ruby, and are subject to bugs in > Ruby that are made undetectable, or very hard to detect, by the > self-referential relationship of the behavioral specification and the > language. This sounds logical to me, and I agree. I'm not the correct person to address this to, though. From the formal point of view, I surely cannot compete with you. The spirit in the Ruby development appears to follow not a formal, but a practical approach, which is always going to be inferior. > What I have read in this regard leads me to conclude that Ruby is not > a language that I should use for my development, and it pains me to > say this. Use the tool that fits the job for you. I wonder if I was perceived as using Ruby everythere; this isn't the case. Actually, I don't write much Ruby code currently, but much more C/C++. Marvin [1]: https://github.com/ruby/spec