atbash-cipher transforms what it calls the “Latin” alphabet but it’s really the English alphabet
affine-cipher claims the “Roman” alphabet has 26 letters
rotational-cipher similar to atbash transforms the “Latin” alphabet which is really just the English alphabet
I’m no alphabet expert, but there are many Latin/Roman alphabets (including the English one), and the classical Roman alphabet had 23 letters, not 26. Besides, I think just saying “English” would be clearer, since really that’s what’s relevant since it’s contiguous in ASCII.
P. S.: Sorry if I’m in the wrong category, wrote this in a bit of a rush.
I was not aware of the ISO basic Latin alphabet at all, and it seems very recent (post-ASCII). Your first Wikipedia link for “Latin alphabet” itself shows 23 letters, I would argue that nobody takes “Latin alphabet” to mean “ISO basic Latin Alphabet”.
I don’t really have a horse in this race, I only noticed this to begin with since the atbash exercise mentions how ancient the cipher is and when it mentioned the Latin alphabet it confused me a bit.
The canonical data for both the Atbash and Affine ciphers use the word ‘English.’ The Rotational cipher doesn’t specify anything, but I prefer using ‘English’ for this one as well. I don’t know much about alphabets, and I’d rather avoid confusion by using terminology I’m unfamiliar with.
I think that “latin” is very commonly used to mean what these exercises imply. In encoding we see latin1 in MySQL for example. I think it’s a commonly enough used word now in tech, that its useful for people to be familiar with it.
That said if you are from a part of the world where the Romans and Latin have basically zero meaning to you, I imagine this could be confusing without some explanation.
So I think my initial feeling is that I think changing these to “English alphabet” doesn’t really have any disadvantages and does improve clarity. So I’m a tentative +1, but I don’t have a very strong feeling.
If people don’t want to change Latin to English, I feel more strongly that changing Roman to Latin is good so that we’re internally consistent
In high school and college, I don’t recall someone ever saying the Roman alphabet. The people are Roman, and the language is Latin.
As an aside, the Latin alphabet has been different lengths over the years: 21 letters (archaic), 23 (classical), 25 (medieval), or 26 (modern). So if we say Latin, we should specify modern Latin to remove ambiguity.
It feels a bit colonialist to me to claim the Latin alphabet is the English alphabet. We could just as easily call it the Indonesian alphabet or Malaysian alphabet. That’s why I prefer sticking to Latin over English.
My temptation would be to refer to the ISO latin1 (or IBM CP 437/ Windows CP 1252) standard in parenthesis, but the reality is that these exercises are only using ACII < 128 (and not even upper case at that), so those standards don’t describe it. But caveating to ASCII < 128 might lead to more student confusion than leaving it.
And maybe we change the ASCII < 128 at some point in the tests ? It would break fancy bit shifting solutions (or might), but it would then also be more accurately “latin”, as described by the ISO/IBM/MS standards.
I think it’s preferable to say English alphabet here. Our test data consists of English words and phrases. Those are written in the English alphabet, which just happens to be the same set of letters as the modern Latin letters. If we had Latin words or phrases, the modern Latin alphabet would be appropriate, and English alphabet would not.
The instructions should also be clarified in some places:
The Caesar cipher is a simple shift cipher that relies on transposing all the letters in the alphabet using an integer key between 0 and 26.
This is valid only when the alphabet has 26 letters.
Using a key of 0 and 26 will always yield the same output due to modular arithmetic.
What does output refer to here? Why it does not say “letter”?
This is another one of those math oriented exercises. The more specific they are, the better.
As for “modern latin”, this will force most people to start googling about it. Not really the best option when someone is already struggling to understand the math. The affine cipher does not even mention the letters of the alphabet.
I would argue that nobody takes “Latin alphabet” to mean “ISO basic Latin Alphabet”.
Perhaps outside the IT industry that’s true, but in a COMPSCI context the terminology is based on this standard which was introduced in 1998. The first 127 characters have identical encodings to US-ASCII.
The expected product of most of the exercises (at least that I’ve done so far) aren’t evident strictly from the textual descriptions on the website, but rather from the contents and output of the test script. Learning to interpret those is as much a valid and necessary aspect of software development as is writing the actual code.
If we don’t have a consensus on changing all three references to English or modern Latin alphabet, do we have a consensus on renaming the affine-cipher reference to Latin for consistency with the other two references?