The answer you're looking for and that everyone is avoiding is Mathematica. I mean, they're working on (or have possibly released by now) other platforms where the so-called Wolfram Language can be used, but the simple answer to "where can I write this natural language stuff or Wolfram Language code" is the application Mathematica.
If I have Mathematica, does that allow me to execute code against the giant corpus of Wolfram Alpha knowledge? That is, will I be able to evaluate 'EdgeDetect[The Edge | image]' and have it use a picture of The Edge as input? Will I be able to just reach out into the cloud and use a weather dataset as input? I was under the impression that the answer is no.
They have a real communication problem, because I inevitably find myself trying to cobble together a notion of what their products actually are. Here's my best guess, rather hard-earned by going in frustrating circles in what passes for documentation on their site:
1) Mathematica is the engine which runs Wolfram Language code. 2) Wolfram Alpha is a combination of (a) Mathematica, (b) a huge knowledge base, and (c) a natural language processor which turns user-provided queries into Wolfram Language expressions. These three things are bundled up with a web front-end and allow you to do really cool stuff. 3) It is not currently possible for me to write my own Wolfram Language expressions to run against the giant knowledge base.
>If I have Mathematica, does that allow me to execute code against the giant corpus of Wolfram Alpha knowledge?
Yes. you can use results of natural inputs as a computable data.
For example, type ==dog picture, this will give you exactly the same result as Wolfram|Alpha. then you can click on "+" sign in the top right corner of the pod and select "subpod content". which will give something like
WolframAlpha["dog picture", {{"Image:SpeciesData", 1}, "Content"}]
and it is an image you can do processing on.
You should be able to evaluate something very similar. Typing EdgeDetect[CTRL = The Edge image] (where "CTRL =" indicates "execute the key combination CTRL and Equals key") should give you the result in anything which runs the Wolfram Language. I believe that will include Mathematica and also the Wolfram Desktop. WolframAlpha is an instantiation of the Wolfram Language with a huge knowledge base and a parser - it used to be Mathematica+knowledgebase+parser, but now it's explicitly got the cloud capabilities of the Wolfram Language which I am under the impression that Mathematica will not have.
Note that you can access Alpha from Mathematica (by dint of the command WolframAlpha, or by typing two Equals signs before what you type), but you can only enter the crudest Wolfram Language commands into Alpha and have them executed. However, using the Mathematica tie-in as above, it is possible to write your own Mathematica expressions (and soon Wolfram Language expressions, when it's released properly) which make use of the Alpha knowledgebase.