background preloader

Programming

Facebook Twitter

Programming - Help with screen scraping with Python : Python - Pentadactyl. Programming - cmheisel/pywatch - GitHub - Pentadactyl. 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.

If you're leaving Java for more dynamic languages like Ruby then Eiffel isn't going to be for you - you can probably quit reading here. On the other hand if you're using Java for large scale projects and appreciate the discipline it imposes, then Eiffel is definitely worth more than just a glance. Eiffel was designed with a pragmatic eye toward the development and maintenance of large scale software systems, and is remarkably good at it.

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 Aside from being free to use, making EiffelStudio GPL has also pushed development along. Eiffel is Fast How simple is SCOOP?

Perl

Books to read. Javascript. 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 splits a problem into complementary cases once constraint propagation cannot advance further.

By iterating propagation and distribution, propagation will eventually determine the solutions of a problem. Constraint distribution can easily lead to an exponential growth of the number of subproblems to be considered. 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. The original contributions include: 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] Start - Aspect-oriented programming - Wikipedia, the free encyclopedia - Pentadactyl. AOP includes programming methods and tools that support the modularization of concerns at the level of the source code, while "aspect-oriented software development" refers to a whole engineering discipline. Logging exemplifies a crosscutting concern because a logging strategy necessarily affects every logged part of the system. Logging thereby crosscuts all logged classes and methods.

History[edit] Gregor Kiczales and colleagues at Xerox PARC developed the explicit concept of AOP, and followed this with the AspectJ AOP extension to Java. IBM's research team pursued a tool approach over a language design approach and in 2001 proposed Hyper/J and the Concern Manipulation Environment, which have not seen wide usage. The Microsoft Transaction Server is considered to be the first major application of AOP followed by Enterprise JavaBeans.[3][4] Motivation and basic concepts[edit] Typically, an aspect is scattered or tangled as code, making it harder to understand and maintain. This(Point) Advice. Start - Teach Yourself Programming in Ten Years - Pentadactyl.

Ruby

Python.