# What happened to languages like CJam and Pyth?

It's been a while since I've been here, and now it seems that nobody uses CJam or Pyth anymore. New languages have sprung up since then. Has that happened just naturally? Was there a rule change or something?

• They're just not as good as newer golf langs generally. They're still used sometimes though. – Pavel Jun 21 '18 at 17:14
• Languages that are dedicated to golfing will become obsolete more quickly, because it's the only thing they are used for. Languages like Python and Java that are more commonly used for things besides golfing will stick around longer because people still use them and more people know them. – mbomb007 Jun 26 '18 at 20:57

now it seems that nobody uses CJam or Pyth anymore.

Reports of their demise are greatly exaggerated. The Top Language Golfers query shows that 20 people have posted 86 CJam answers this year; Pyth is harder because the query mixes in Python answers, but with a modification to the script I think it's 34 users and 232 answers. (All numbers approximate, depending as they do on heuristic string matching).

However, it is fair to say that they are in decline: the query shows about 164 CJam answers in the second half of 2017, and about 585 Pyth answers over the same timeframe.

As to the actual reasons, though, we can only speculate. Engagement levels is probably a factor. My own decline from 23 CJam answers to 8 is largely down to lack of interesting questions, as a result of which I'm spending more time on the Code Review stack and less on PPCG.

• I think you raise an interesting point about lack of interesting questions--I've noticed that too, and I think it affects all languages. By my count, Jelly has had 611 answers since January, down from 921 in the prior six months. Obviously this -34% isn't as extreme as the CJam and Pyth losses of 48% and 60%, respectively, but it also means that the losses in those languages aren't quite as extreme as presented, relative to other languages. – ETHproductions Jun 25 '18 at 1:41

This is a natural process; newer golfing languages learn from the shortcomings of their predecessors.

When I joined the site, the most popular golfing language was GolfScript. Once CJam, which was heavily inspired by GolfScript, was published, GolfScript got used less and less. This isn't (only) because GolfScript would almost always lose to CJam, but also because it was easier to use because of its built-ins and stricter typing.

Pyth is newer than CJam, but so vastly different from it that many CJam users never switched. It is still fairly common compared to CJam (~250 Pyth answers in 2018, ~100 CJam answers), possibly because of its uniqueness. CJam, on the other hand, is a stack-based language; there are many newer stack-based languages you could use instead.

This is quite normal, given that newer and better golfing languages, with terser paradigms and built-ins have appeared (e.g Jelly, 05AB1E, Husk etc.).

Although both Pyth and CJam are still both used, this usage has indeed decreased a lot. Let's analyse what happened in Pyth's case, as I don't have much of a CJam background. As a prefix-based language with powerful control-flow structures, Pyth has always been quite unique. Some users that were already actively golfing in other languages existent at the time never actually switched to this language, mainly because it was so different from those that were already existent. There are a couple of reasons that lead to a decrease in activity when it comes to Pyth:

• It is ASCII-only, and newer golf-langs such as the aforementioned ones took advantage of custom encodings to vastly increase the number of available commands (this also applies to CJam). This is something that definitely disadvantages Pyth a lot – It lacks some built-in functions that were introduced to those languages later on (notable examples include divisors, exponents of prime factorization etc.)

• Some of the most proficient Pyth users have gone quite inactive: isaacg (its creator), Jakube, FryAmTheEggman and there are certainly many more I am omitting. Talking about creators, CJam is in the exact same situation with aditsu.

• The last point on this list, and perhaps the most important: they both aren't as competitive as they used to be, often being beaten consistently by other esolangs. I think this doesn't need further explanation.

And while they are less used than they were before, don't be hesitant about having fun golfing with them :). At the very least, I still am enjoying myself when using Pyth.

• Have there not been any rules about ASCII encoding languages? I saw the Prime Exponent question whose answer was Òg, is that what you're referring to in the exponents of prime factorization? – Faraz Masroor Jun 21 '18 at 20:12
• @FarazMasroor 1) There are no rules that are specific to ASCII only langauges. 2) No, not quite. For example 45 would return [0, 2, 1], as 45=2^0*3^2*5^1. – Mr. Xcoder Jun 21 '18 at 20:38