Programming following ConceptProgramming principles or even analyze, design and test reflecting the concepts in our applications (if the language is not expressive enough, then enhance the language) ---- The term concept is a useful one, allowing for the inclusion of a wide range of methods, structures, arrangements and orders. To program within an Orientation of Concepts is to program without regard to language used. If the definingWord you wish to use describing a concept, or actualizing it, does not exist, then "invent" a new word for it. A conceptually oriented programming style can employ not only different programming languages, but also innovative structures and resources to accomplish programming tasks. Concept Orientation Examples: * ExtremeProgramming ** A word common on this wiki, describing a concept, in the form of a WikiWord: ExtremeProgramming, was invented. There are many pages here which describe and define what is meant by the overall "concept" which include the philosophy and methodology of the concept * Agile Methodology * Programming using Patterns * Documentation In Source Code * Open Technology ** OpenSource ** OpenSpace *** Facilitation The idea of utilizing "Concepts" instead of locking oneself into the particular confining space of a single ProgrammingLanguage, is an idea whose time has come. Microsoft attempted this with the idea behind DotNet, To make programming less reliant on the language used, and to make the concepts involved in programming more important than the language used. Other paradigms using concepts are in the process of being developed, and will, I predict, become the "next big thing". -- DonaldNoyes ---- Is this a variation of "make code look like pseudo-code"? The thing is that "concepts" need some form of representation, and eventually formality so that machines can process them. Totally escaping programming language issues is thus probably nearly impossible. Even programming via drag-and-drop icons requires precise representation at some stage. Related: SeparateMeaningFromPresentation. (Perhaps off-topic, but I find it hard to factor repetition via drag-and-drop interfaces, by the way. They speed up the first few times, but not massive repetition. This is sort of the scripters-versus-mousers of Windows-vs-Unix HolyWar''''''s.) ''This is not meant to be "escaping programming language issues" it is rather not to be handcuffed by them. It means that programs may be built using "several", rather than "one" language, if that is what it takes to accomplish the programming task. How that is to be accomplished is left to the designers of compilers and virtual machines. It is conceivable that in the future (if not already) languages may take advantage of a VirtualComputer which has "terabytes" of DataSpace treated and acting like SharedVirtualMemory.'' -- DonaldNoyes ---- JulyZeroSeven (together with all these other Concept* pages)