Here is an answer that I made recently: https://codegolf.stackexchange.com/a/181416/70328

A commenter suggested that I could remove convert from my code, and use ImageMagick convert as the programming language. I think that, since you cannot get convert without the rest of ImageMagick, it should not be counted as a separate programming language. Who is right here?

  • 4
    \$\begingroup\$ I would argue that this is definitely ImageMagick, but I'm not sure. Do you have any other "tools" in IM? This might depend on "tool" vs "command/function/keyword". \$\endgroup\$ – Rɪᴋᴇʀ Mar 19 '19 at 2:19
  • \$\begingroup\$ yes, ImageMagick comes with several commands including convert, animate, compare, composite, conjure, etc. \$\endgroup\$ – vityavv Mar 19 '19 at 2:44
  • \$\begingroup\$ I'm assuming that those are all pre-installed (they come with IM) not 'modules'/'libraries' that need to be 'imported' or similar? \$\endgroup\$ – Rɪᴋᴇʀ Mar 20 '19 at 5:10
  • \$\begingroup\$ yes, they all come when you install imagemagick \$\endgroup\$ – vityavv Mar 20 '19 at 16:50
  • 1
    \$\begingroup\$ Seriously, whether the convert is included doesn't affect the score relative to other convert answers (if any), and answers in that "language" are not comparable with other languages anyway... \$\endgroup\$ – user202729 Mar 21 '19 at 15:10

It's irrelevant

On PPCG, using home-brewed languages is allowed. Nothing (well, except for the reasons below) stops you from making a new language that is really good at solving a very limited set of challenges. ImageMagick convert would be such a language. Feel free to count it as a separate language if the arguments below do not sway you.

  • Arguably, this falls under this loophole.
  • There are two aspects to competing on PPCG. The first is creating the best entry in your language of choice. The second is picking the right language for the job.+ By using ImageMagick convert you may have done really well on the latter part, but I would argue that you will have almost zero competition on the first part. If you enjoy using ImageMagick convert as a separate language, you may also want to consider competing in local sports event aimed at children age 6 through 8.
  • The income of Fake Magic Internet Points will decrease. FMIPs are given out when other people like your approach. Using a language that is stupidly specific might even result in negative FMIPs. I theorise that the amount of FMIPs is related to how universal you show that your language is. For example, if you solve all the typical questions like Hello World, Fibonacci, Primality tests, FizzBuzz, Anagram check, cat, etc., using ImageMagick convert, the aforementioned loophole is clearly negated, and you could expect your FMIP count to increase once more.

+ For example, I program in MATL and Octave. My goal is to outgolf other MATL and Octave entries respectively, but when I use MATL, I do want to see if I can beat Jelly or 05AB1E, and when I use Octave, I like to see if I can outgolf R or Python.

  • 1
    \$\begingroup\$ hmm... you make a good point. The language should technically be bash + ImageMagick then, wouldn't it? After all, I've seen python answers that have import PIL in them or something like that, so this isn't exactly different except for the fact that it doesn't include an import statement... \$\endgroup\$ – vityavv Mar 21 '19 at 15:38

Yes it is a valid language, but you do not need to use it

This does count as a language for the purposes of competing on this site. It is trivial to write an interpreter for this new language, so it is valid. Historically we required a language to meet certain criteria to be valid, but the most recent answer to "What are programming languages?" has strong consensus for relaxing these requirements.

However, there are also many other "languages" that could be defined like that, and although valid they rarely get used in practice. Just because it's technically valid doesn't make it a fun or interesting thing to do. You are under no obligation to use this alternative language just because it would give a lower score. Similarly you are under no obligation to switch to a golfing language even though that would likely give a lower score in many cases. Enjoy golfing in your language(s) of choice. For each one, strive for the lowest score in that language.

  • \$\begingroup\$ I guess I should rephrase the question, which was a simple question about whether I should include convert in the byte count or not. Good answer, though \$\endgroup\$ – vityavv Mar 26 '19 at 21:27
  • 1
    \$\begingroup\$ Thanks. In that case, the short answer would be "Yes, include convert in the bytecount, unless you are going to change to a different language" \$\endgroup\$ – trichoplax Mar 26 '19 at 21:31

Using convert is not a separate language, but merely providing arguments to the program. I believe the commands are not flexible or expressive enough to be considered a "programming language" rather than a set of flags/instructions, though the precise definition of "programming language" is hazy.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .