Code Is Free Action
When you get a device, or play a game, or a company markets a product, [apologies, this diatribe is inhibited by my personal issues. I _tried_ to make it cohesive! I needed to make the intro shorter, rather than planning to shorten it later.]
it's given with set avenues for how to interact with. Buttons, menus, storyboards of what one screen looks like, and how it leads to another. These things are designed first by user interface designers, and then implemented by programmers, and meeting such specifications is how programmers are often trained. There is no free code in such a work. It isn't what the programmers make for themselves, in the slightest. It is a tool, that's been designed for a use. What a programmer makes for themself, is something they can continuous improve and adjust. Something where the buttons, menus, and storyboards are always in flux, and designed to stay in flux -- so that it can be used for whatever they might need. It seems like a different way of designing -- to write code for repurposability, rather than to a marketing specification, but the two are actually one and the same. Specifications are most cheaply met with flexible code, believe it or not, and good flexibly-written software can easily meet arbitrary specifications. Computer code is called a "language", and this really makes sense. Like a human language, a computer language can express anything: it simply speaks in terms of computer behavior, rather than fact. In our human language, you can say, "I want to sprout wings and fly to see my relative." In computer code, instead of saying this, you produce something that actually does it: if you know the words to do so. You can even say "I want to sprout wings and fly, without investing any money in it, using things from ten years ago," or "I want to sprout wings and fly, and sell a product to millions of people who do the same," or both. In language, complex works are called essays, poems, sonatas, [handling more inhibition]