Stop upvoting trivial solutions
It's easy to imagine why a new user would be frustrated when the highest-voted answer is a 3-byte solution in a golfing language with a built-in that nearly solves the problem. It feels like no matter how hard they golf in a conventional language, their solution will get much less recognition than an answer rushed out in the ...
Programs may take input via GUI prompts
Programs may output by displaying it on screen.
This makes it possible to use languages like Vim script that can't print output directly to stdout.
Example from this challenge:
$ echo "This is a test line!" | vim - -c 'nm Q vEUWvEuWQ|norm Q'
THIS is A test LINE!
Within a Vim session.
I think that this way of displaying the ...
Programs may output using their exit code...
Exit codes are basically a return value for programs. If functions can output using their return values, it makes sense that programs should be able to do the same.
Java exit codes
C and C++ exit codes
Functions may take multiple arguments via currying
For some functional programming languages like Haskell this is actually necessary, because only single-argument functions exist and functions with multiple arguments are (somewhat transparently) implemented as curried functions. (The alternative would be to take a list or tuple of the values, but that is ...
Functions may output by modifying their arguments or writing to out arguments
Here, "out arguments" refers to arguments that are passed in by reference, so that modifying the value inside the function (as opposed to just overwriting the argument) also modifies the value outside the function (otherwise, the output value would not be observable after the ...
What SE could do for us...
One of the most popular suggestions from "We're not a Q&A site, but what should be done about it?" is to add software support for answer metadata (mainly scores and languages). I believe this slightly different answer format would greatly reduce the impression that being the overall winner is important. Things this would make ...
I hate that people upvote Golfscript answers just because they are short. I can't help but imagine some very excited people with their mouth half open exclaiming "omg i cant believe thats a real program upvote lolz!!1!" These people will do so so for every piece of Golfscript code they see.
Usually you find for instance Ruby/Python/Perl answers that are ...
Programs may combine two or more input methods
For example, if the inputs are a string and an int, a function that takes a string as an argument and an int from STDIN would be valid.
The input format must still be consistent for a given program.
Restricting to just programs requires explicitly specifying "full program" rather than just "program"
If the question requests a program, this can still be answered with a function. This allows for the fact that many people state "program" without thinking, not intending to exclude functions.
For questions that wish to exclude functions, this should be ...
How is it building a high quality library of questions and answers that will help experts?
It isn't, not in the sense of asking Google and getting an answer.
But I would argue that, as an exercise, code golf is highly instructive in areas such as lateral thinking, paradigm shifting, and developing a deep understanding of a programming language. While it ...