Consider the following statement
`This statement is false`
Analysing the above statement to its truth values: if its false then it means its true, but if its true then its false! We just came back to the starting point of the above statement unable to come to a conclusion. Such `paradoxes` appear in natural language and we sure aren’t bothered about them as they can be easily used to twist the logic.
But the bothersome ones are the paradoxes that appear in mathematics. The very roots of theorems and proofs work closer with either a statement being true / false. This leads to either of the 2 outcomes if we consider truth values to those statements.
You end up proving something that is false as true i.e Inconsistency
You end not being able to prove that is true i.e Incompleteness
So the problem in hand: Does my programming language allow me to write a paradox? Well most of the languages do allow them, and one such example is
Turing who was also a Codebreaker aka yesteryear term for hacker, hacked Germany’s Enigma machine, which was used as a communication device by Germany and eventually helped in ending the war sooner than the expected duration.
The urban legend of Apple paying homage to Turing through its logo was debunked by Steve Jobs, but still there is no harm in remembering Turing’s last moments while looking at it.
Nevertheless, we have a new present where the UK govt. has announced a 50 pound currency note a few days ago with Turing’s face. And seems it contains a secret coded message as well. A perfect (paradoxical) tribute to the Codebreaker.