when i use inkscape (SVG program) and i want to pick a color for my square, so my square looks nice and pretty, i have 4 color choosing tools to use, 3 that let me select the color based on some color rules and sliding bars, and a color picker that lets me select a color that i've used on some other part of my drawing. i could also manually enter a symbol/value representing the color on 2 or 3 of the color tools. the document saves the color information in XML/SVG format, and i can find it with the raw-xml editor in inkscape and change the color value from there. i can also write my own SVG/XML in the xml tool in inkscape.
SVG is a language for making graphics, almost a DSL (it's in XML, so it can't be a pure DSL). the SVG language is pretty complex and is pretty hard to write by hand. it's a bit hard to read and edit without a good xml editor.
anyway, an individual color is a value, it is represented by multiple values, for anything other than simple colors you use a tool to pick it. this is idiomatic, and has been for many years. sometimes this way of coding works very well. the best example i can think of is sikuli. in sikuli you program by taking screenshots and your program is like a state-machine where the input is detecting images that the programmer has extracted from their screenshots. the IDE shows thumbnails of the screenshots and text. it would be less effective to replace the thumbs with the pathnames of the image files they represent (which is how they are in the code files).
i think that most people's arguments are about separation of the programming language and the IDE, but i think there is something good to a language that has interfacing with an IDE, or general interfacing, in mind. I think there are benefits for having the language be a bit less human readable in order for it to better interface with things, like an IDE. examples: javadoc, java annotations. these are hacks, make code less readable, but are there just for other programs to use.
so, do we blame IDE makers for not giving us IDEs that help us to understand our code in the best way possible, or do we blame the language makers who don't include rich meta-code constructs in their languages?
why the hell do i have to write in HTML to get separated paragraphs for posting on this form?