A visual representation of software which are built by assembling software components (blocks) ideal for teaching software development to beginners and kids and is projected to eventually be the standard paradigm in software development in the near future.
CodeBlocks is a tool for visual representation or modeling of software which are built by assembling software components (blocks) and ideal for teaching software development to beginners and kids.
As a simple instance to have an assembly of blocks that models the solution to an anagram consider the chain below where each preceding block passes data to the succeeding in stages as in a process-flow:
[Permutator] -> [Looper] -> [Lexicon] -> [Collator]
Blocks that model permutation, looping, lexicon and collation) are assembled (either by creating new ones or purchasing from a store).
The permutation is required to produce a list of possible arrangements of the letters of the initial word.
Next, the list of possible arrangements is passed to the looping unit which iterates and outputs the items in the list one at a time.
Then the lexicon checks for the validity of the each item (word) passed from the previous stage. It accepts valid letter arrangements (words) and rejects invalid words. It basically serves as a filter.
Each of the valid words are then passed from the lexicon to collect into a "bag" or "basket" where they are collated.
This will work simply by drag-n-dropping components that will fit together (output of one can fit into input connector of another or series of others). The input and output connectors are well defined by the types they return or accept.