Start - Design by contract - Wikipedia, the free encyclopedia - Pentadactyl A design by contract scheme The DbC approach assumes all client components that invoke an operation on a server component will meet the preconditions specified as required for that operation. Where this assumption is considered too risky (as in multi-channel client-server or distributed computing) the opposite "defensive design" approach is taken, meaning that a server component tests (before or while processing a client's request) that all relevant preconditions hold true, and replies with a suitable error message if not. History[edit] Design by contract has its roots in work on formal verification, formal specification and Hoare logic. Description[edit] The central idea of DbC is a metaphor on how elements of a software system collaborate with each other on the basis of mutual obligations and benefits. The contract is semantically equivalent to a Hoare triple which formalises the obligations. What does contract expect? Performance implications[edit] Relationship to software testing[edit]
Start - Alice Manual - Constraints - Pentadactyl ________ Introduction ________________________________________________ Constraint-based problem solving is a technique for solving hard combinatorial problems that can be stated as variables ranging over a finite domain of non-negative integers, or sets thereof. Problems in this class range from puzzles to real world applications as diverse as scheduling, ware house allocation, configuration and placement. The two basic techniques of constraint programming are constraint propagation and constraint distribution. Constraint propagation is an efficient inference mechanism obtained with concurrent propagators accumulating information in a constraint store. Constraint distribution can easily lead to an exponential growth of the number of subproblems to be considered. The Alice constraint programming features build upon the Gecode constraint library. Example The following classic puzzle gives a first idea of the combinatorial problems constraint programming can solve. is satisfied.
Start - Why Eiffel Might Be Worth a Second Look || kuro5hin.org - Pentadactyl The Right Tool For the Job Let's get this out of the way at the start: while Eiffel is worth a second look, it does depend on what you're looking for in a language. Eiffel fits in nicely as an alternative to Java or C++ for developing large applications. What is Eiffel? Eiffel is an Object Oriented language, akin to Java - If you know Java or C++ learning Eiffel is utterly straightforward. Eiffel is Now GPL Software A GPL Eiffel compiler, SmartEiffel , has been around for a while (and even sports a variety of interesting features not found in commercial Eiffel compilers), but recently ISE re-licensed EiffelStudio, their commercial Eiffel IDE, libraries, and compiler system, under a dual licensing scheme. Aside from being free to use, making EiffelStudio GPL has also pushed development along. Eiffel is Fast One of the first things that Eiffel brings to the table over Java is raw execution speed. Eiffel has Excellent Concurrency Support How simple is SCOOP? Miscellaneous Extras
programming - cmheisel/pywatch - GitHub - Pentadactyl