On Wed, Nov 16, 2011 at 6:27 PM, Marc Espie <es...@nerim.net> wrote: > On Wed, Nov 16, 2011 at 06:12:50PM +0100, Jeremy Evans wrote: >> FLAVORs. This approach avoids that issue, so an upgrade from python >> 3.2 to 3.3 would only require you bump the ports that are specifically >> set to build with python 3. The only downside is if you want to >> support another python implementation (i.e. jython or pypy), adding >> another set of IS_* variables to every port is kind of a pain. I >> don't think there are any commonly used alternative python >> implementations, though, so it may not be an issue. > > I don't really see a point in having every single implementation of a language > under the sun in the ports tree.
I agree. There are actually other ruby implementations that could probably run on OpenBSD (IronRuby via mono, REE) that I haven't ported as I don't think there is a good reason to do so. > I've mostly said away from the ruby stuff because I don't really care, but > I find the 4 distinct implementations of dubious values. The fact there is > no apparent consensus as to which one is the best, well, that's not exactly > a sign of language maturity... Well, the main interpreter has two versions (1.8 and 1.9) in primary use, like python. JRuby is getting used more and more. It's faster that the main interpreter in many cases, and can do things that the main interpreter cannot, such as integrate with Java libraries (e.g. ruby database access to DB2/Oracle via JDBC). It's also the only current ruby implementation with native multithreading with no global interpreter lock, though that won't matter much on OpenBSD until rthreads is enabled by default. The fourth ruby interpreter in the ports tree is rubinius, and while it's not as mature or as fast as the others, it has some unique features and is stable enough to be used in production. Which ruby interpreter is best depends on what you want to do. Personally, I think having multiple production implementations of a language is a sign of language maturity. Jeremy