TargetLanguage is what you need to get the job done, without necessarily being what you think in. A native FrenchLanguage speaker in London will need to use some EnglishLanguage for daily basic needs, so in this case English is the TargetLanguage. A C programmer actually needs machine language opcodes, but doesn't want to think at that level, so he employs the services of a compiler program to generate the TargetLanguage. The worst thing that a C programmer can do is try to hack on the machine language that came out of a compiler, and the worst kind of C is what you get from decompiler tools. Therefore, stick to thinking in the best language for the job, and let the computer handle automatic translation to that which runs. Note that foreign speakers usually sound funny. That's OK. They still produce valid (or at least understandable) language most of the time, and you can ask questions to clarify in the event of a problem. So it's no problem that your compiler produces non-idiomatic machine code, so long as the program functions as designed. It's no problem that your drag and drop tool produces funny-looking C++ code, so long as you're not then expected to modify the result to accomplish additional functionality. What drag-and-drop coding tools therefore need is a way to inject your custom code into the tool, and not its output. ---- See also HierarchyOfInformationLoss CategoryLanguage