
GolfScript: a language for solving problems (holes) in minimum keystrokes - gnosis
http://www.golfscript.com/golfscript/index.html
======
kevingadd
Hmm.

"Whitespace is not special, it actually behaves the same as any other
undefined variable, which is nothing. You can set a space to some value and
use it like any other variable. This has the potential to cause hard to track
down errors if you accidently set it without knowing."

Is solving a problem in a minimal number of printable characters really
worthwhile if you end up having to expend a huge number of actual keystrokes
rewriting it and debugging it? It seems like you could solve problems in a
smaller amount of actual, elapsed time in a language like Python.

Interesting to see someone focus on the compactness of the code specifically,
though. Languages like Brainfuck seem to be compact only because it tends to
obfuscate meaning.

~~~
jdp
Brainfuck is obscure, but only because of its restricted character set. 8
operators is not very expressive and requires large, but eventually
recognizable, idioms to get most common tasks done. Languages like J [1] keep
the terse syntax but have a much more expressive set of operators. J is also
very regular, so once one knows the basic vocabulary the programmer is able to
infer the meanings of more complicated operators. Compactness itself is not
what obfuscates meaning.

[1]: <http://www.jsoftware.com/>

------
jdp
Such terse languages have a long history -- going back all the way to APL.
Current environments, like K and J, continue the legacy but their syntax only
includes glyphs from the ASCII character set as opposed to APL's specialized
keyboard. The FALSE [1] and F [2] languages are similar to GolfScript, the
former being a stack-based language, minimalistic compiler, and inspiration
for Brainfuck. The latter is a more recent implementation and purely
functional implementation in K.

[1]: <http://strlen.com/false-language> [2]: <http://www.nsl.com/k/f/f.htm>

