Imagine um programador especializado em uma linguagem de programação específica . Ele conhece os pontos fortes e fracos da programação. Além disso, ele tem seu próprio estilo e abordagem a esta linguagem de programação. Se ele escreve seu algoritmo no código, ele quase certamente restringe o algoritmo para o seu conhecimento das limitações da linguagem e sua própria .
Solution- Centric
Ao invés de o limitações prescritas de escrever algoritmos em código ou pseudo- código , usando a lógica generalizada libera para se concentrar apenas sobre a solução para o seu problema , não a implementação da solução . Ela pressupõe que , uma vez que você definir o melhor algoritmo , você vai descobrir como implementá-lo no ambiente que você tem em mente. Também pode pressupor que uma solução no algoritmo pode prescrever sua própria implementação .
Assunção Avoidance
Usando a lógica generalizada ajuda a evitar uma série de premissas. Mesmo que seus pressupostos têm algum fundamento na realidade , e pode realmente servir para agilizar o seu processo , impedindo soluções beco sem saída, eles também podem ser um fator limitante . Por exemplo ; se você suspeitar que você está indo em direção a um algoritmo viável você não tem os recursos para implementar, pode ser sábio para ouvir a sua intuição , apesar de sua base na suposição. Esteja ciente, porém , se você sucumbir a suposição - . Você pode deixar as melhores idéias não descoberto
não- especialista amigável
Se você estiver escrevendo um algoritmo para resolver um problema e você não tem nenhum conhecimento dos detalhes de implementação , pode realmente ser útil. Vamos necessidade orientar o processo em que você é um especialista ; entregar o algoritmo off com um especialista de implementação. Separando as duas etapas leva mais recursos , mas também pode produzir melhores resultados.