1. A computer-implemented method, comprising: receiving user input pertaining to a plurality of variables associated with a multi-variable function defining a behavior of an application, wherein the multi-variable function defines a relationship between an input device and an output device of a processing device; in a processing device maker, determining hardware resource needs of the multi-variable function based on the received user input, after determining the hardware resource needs and prior to receiving any additional user input, automatically selecting, based on the determined hardware resource needs, one or more hardware processing devices that are capable of accommodating the hardware resource needs of said multi-variable function; based on the received user input and on a user selection of a hardware device from the automatically selected one or more hardware processing devices, generating code for implementing at least a portion of the application in the selected processing device of the automatically selected one or more processing devices; and programming the user selected processing device with the generated code.