Extreme Programming is the most prominent new, light-weight (or agile) methods, defined to contrast the current heavy-weight and partially overloaded object-oriented methods. It focuses on the core issues of software technology. One of its principles is not to rely on diagrams to document a system.
The life-efficiency and adaptability of the computer must be questioned. Its judicious use depends upon the availability of its human employers quite literally to keep their own heads, not merely to scrutinize the programming but to reserve for themselves the right of ultimate decision. No automatic system can be intelligently run byautomatonsor by people who dare not assert human intuition, human autonomy, human purpose.Lewis Mumford
[A]ll the categories of creatures act individually as special-case and may be linearly analyzed; retrospectively, it is discoverable that inadvertently they are all interaffecting one another synergetically as a spherical, interprecessionally regenerative, tensegrity spherical integrity. Geodesic spheres demonstrate the compressionally discontinuous--tensionally continuous integrity. Ecology is tensegrity geodesic spherical programming.buckminster fuller
LISP is now the second oldest programming language in present widespread use (after FORTRAN)... Its core occupies some kind of local optimum in the space of programming languages given that static friction discourages purely notational changes. Recursive use of conditional expressions, representation of symbolic information externally by lists and internally by list structure, and representation of program in the same way will probably have a very long life.john mccarthy
Most of the network related programming in games has to do with providing a good interactive experience when playing over the internet. This matter is very different from serving web pages. The primary concern there is to handle connection latency, latency fluctuations, packet loss and bandwidth limitations, and pretty much hide all of that from the player's experience.timothee besset
Computer programming is an art, because it applies accumulated knowledge to the world, because it requires skill and ingenuity, and especially because it produces objects of beauty. A programmer who subconsciously views himself as an artist will enjoy what he does and will do it better.donald knuth
Software architecture is still mostly considered a separate issue from programming languages. We contend that this is a serious issue for the software engineering of interactive systems.
C++ is in that inconvenient spot where it doesn't help make things simple enough to be truly usable for prototyping or simple GUI programming, and yet isn't the lean system programming language that C is that actively encourages you to use simple and direct constructs.
My original postulate, which I have been pursuing as a scientist all my life, is that one uses the criteria of correctness as a means of converging on a decent programming language design one which doesn’t set traps for its users, and ones in which the different components of the program correspond clearly to different components of its specification, so you can reason compositionally about it. [...] The tools, including the compiler, have to be based on some theory of what it means to write a correct program.
There is no programming language, no matter how structured, that will prevent programmers from making bad programs.
silver bullet (SIL-vuhr BOOL-it) noun: A quick solution to a thorny problem. [From the belief that werewolves could be killed when shot with silver bullets.] "Writing code, he (Stuart Feldman) explains, is like writing poetry: every word, each placement counts. Except that software is harder, because digital poems can have millions of lines which are all somehow interconnected. Try fixing programming errors, known as bugs, and you often introduce new ones. So far, he laments, nobody has found a silver bullet to kill the beast of complexity."
Structured programming supports the law of the excluded muddle.
If the system exhibits a structure which can be represented by a mathematical equivalent, called a mathematical model, and if the objective can be also so quantified, then some computational method may be evolved for choosing the best schedule of actions among alternatives. Such use of mathematical models is termed mathematical programming.george dantzig
The initial motive for developing APL was to provide a tool for writing and teaching. Although APL has been exploited mostly in commercial programming, I continue to believe that its most important use remains to be exploited: as a simple, precise, executable notation for the teaching of a wide range of subjects.kenneth e. iverson
Controlling complexity is the essence of computer programming.brian kernighan
Today some evidence arises that UML will more and more be used not as a specification language but as a high level programming language. This has some advantages, as if the concepts of UML are executable, they can immediately be animated and tested, or the generated code even be used as implementation. Thus UML probably will have an implementation-oriented semantics describing this animation.
Executable UML is at the next higher layer of abstraction, abstracting away both specific programming languages and decisions about the organization of the software so that a specification built in Executable UML can be deployed in various software environments without change.
These gurus might all take the one-size-fits-all cookie cutter approach to self-help, but the founders of such programs as est, Landmark Forum, neuro-linguistic programming, Tony Robbins seminars, Impact Training, MJB Seminars, Silva Mind Control, Dr. Demartini, Bryon Katie, PSI Seminars, Mind Dynamics (the daddy of them all), Lifespring, Hoffman Quadrinity, Complete Centering, etc., use their own unique cookie cutters.
Haskell is one of the leading languages for teaching functional programming, enabling students to write simpler and cleaner code, and to learn how to structure and reason about programs.
Optimism is an occupational hazard of programming: feedback is the treatment.
As soon as we started programming, we found to our surprise that it wasn't as easy to get programs right as we had thought. Debugging had to be discovered. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs.
Extreme programming is an “agile methodology” that some people advocate for the high-speed, volatile world of Internet and Web software development.