''"Programmer tells computer to do the job as it is, not as it could be."'' Slave Oriented Programming is the idea that computers are slaves and are here to serve our very command (even if they hate it.. who cares). One should be able to just demand (whip) his slave to makeDirectory() instantly without first creating some factory object or other complex nonsense. I would provide a hyperlink to my rant, but I cant.. because it contains a BadWord in the page title. ''I presume you must use a BondageAndDisciplineLanguage? Or maybe a BDSM langauge?'' Not really since some times I want to tell my computer to "shoot me in the foot, now, and don't ask questions". Whereas a BDSM language like Ada wouldn't even easily permit me to use pointers. Although it is nice to avoid RhetoricalIndirection when commanding the computer. * {The author spoke of the language you ARE (or 'must be') using, not the one you apparently 'want' to use. And my experience with Pascal certainly felt BondageAndDiscipline in nature, but that was over twelve years ago. Anyhow, if you want a language where you can shoot yourself in the foot at a whim, try FORTH.} * ''This is a common misconception that I use "Pascal" as in the ''real Pascal'' (which I hate, but it had its lessons). Pascal was standard in 1970 area. I use Ruby and Modern Pascal which is different than Pascal. It is actually quite harmful to the entire Modern Pascal community that Standard Pascal ever existed.. because it unfortunately has a bad reputation.. I would agree that BDSM language is Standard Pascal.. which is why I don't use it. Well, a BDSM language would be more like Ada, because Standard Pascal allowed pointers.. which is not so BDSM. But regardless, I do not advocate Pascal (as in the standard one).. ModernPascal is something different.'' {BondageAndDisciplineLanguage''''''s are for masochist programmers, not for slave machines. Slave machines have their own language, called 'machine code', that they are often forced to write themselves... poor guys. But machine code is a self-discipline language, not a BondageAndDisciplineLanguage.} ''Slave Oriented Programming can be higher level, especially if you can make words and commands and just '''say them out loud now''' where assembly and machine code are harder to do this so easily. But... that being said look at below.. making a word (or phrase) out of assembly..'' '''pro''' doWhatiWantOrElse; '''asm''' // insert assembly (A much more readable rendition of machine language) '''e'''; Sometimes Slave Oriented Programming involves threats and can seem like bondage and discipline but in fact usually the threats are left out since the slave already listens to you even without the threat. '''pro''' makeDirectoryOrElseYouWillBeUnpluggedAndKilled(path: astr); '''b''' // insert normal readable code here '''e'''; We can shorten this to just: '''pro''' makeDir(path: astr); '''b''' // here we make a directory called "path". '''e'''; Using the slave command: '''b''' // The slave is told WHAT to do now. makeDir('/etc/thathurt/'); '''e.''' There are no "thank yous" or "pretty please". JustDoIt. Precise. To the point. No creation of some three object instances that interact with each other just to make a directory. The '''b''' and '''e''' tokens say BEGIN NOW and END NOW (no questions, no games, no fancy lips {} or other icing on the cake). The '''asm''' token says INSERT ASSEMBLY NOW. No questions asked. No games. No fancy pretty pleases with a cherry on top. Use the stack where it makes sense - don't become in love with the heap, like so many people do (AntiCreation). Commands. Whips. Force. Actions and Verbs (less nouns, as opposed to some VerboseLanguageWeenies) ---- Dijkstra stated several times that we should not be comparing computers to humans. Slavery is very inhuman. I treat computers as if they do whatever I want them to do. They are not people, children, etc. They are slaves - very inhuman (a.k.a. anti anthropomorphism). http://lambda-the-ultimate.org/node/264 http://no.reddit.com/r/programming/info/6c9yv/comments/ A sexist might claim that a computer will do your dishes for you without you having to ask nicely, and that the computer is the woman you should marry. Again, very inhuman. A computer must be programmed first, though - again very inhuman. Another sexist may claim that a computer will do your dishes for you without you having to ask nicely, and that the computer is the husband you should marry. Again, very inhuman. Typing text into a computer is also very inhuman. We do not type text into humans. Being inhuman does not make a machine ''bad''. It is a good thing. Let's ''use'' computers. 'Abuse'' them. ''Order'' them. ''Force'' them. Bitch slap them. Etc. That's what they were designed for. ---- See also: AntiCreation, ImperativeProgramming, ModularProgramming, CodeKing