Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
INTERCAL
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Details == INTERCAL was intended to be completely different from all other computer languages. Common operations in other languages have cryptic and redundant syntax in INTERCAL. From the INTERCAL Reference Manual:<ref name="manual72"/> {{quote|text=It is a well-known and oft-demonstrated fact that a person whose work is incomprehensible is held in high esteem. For example, if one were to state that the simplest way to store a value of 65536 in a 32-bit INTERCAL variable is: <syntaxhighlight lang="fortran"> DO :1 <- #0Β’#256 </syntaxhighlight> any sensible programmer would say that that was absurd. Since this is indeed the simplest method, the programmer would be made to look foolish in front of his boss, who would of course happen to turn up, as bosses are expected to do. The effect would be no less devastating for the programmer having been correct. }} INTERCAL has many other features designed to make it even more aesthetically unpleasing to the programmer: it uses statements such as "READ OUT", "IGNORE", "FORGET", and modifiers such as "PLEASE". This last keyword provides two reasons for the program's rejection by the compiler: if "PLEASE" does not appear often enough, the program is considered insufficiently polite, and the error message says this; if it appears too often, the program could be rejected as excessively polite. Although this feature existed in the original INTERCAL compiler, it was undocumented.<ref name="manualick"/> Despite the language's intentionally obtuse and wordy syntax, INTERCAL is nevertheless [[Turing-complete]]: given enough memory, INTERCAL can solve any problem that a [[Universal Turing machine]] can solve. Most implementations of INTERCAL do this very slowly, however. A [[Sieve of Eratosthenes]] benchmark, computing all prime numbers less than 65536, was tested on a [[Sun Microsystems|Sun]] [[SPARCstation 1]] in 1992. In C, it took less than half a second; the same program in INTERCAL took over seventeen hours.<ref name="stross">{{cite news|title=Intercal -- the Language From Hell|url=http://catb.org/~esr/intercal/stross.html|first=Charles|last=Stross|author-link=Charles Stross|date=September 1992|work=[[Computer Shopper (UK magazine)|Computer Shopper (UK)]]}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)