Immaginate un programmatore esperto in uno specifico linguaggio di programmazione . Egli conosce i punti di forza e di debolezza della programmazione . Inoltre, egli ha il suo stile e l'approccio a questo linguaggio di programmazione . Se egli scrive il suo algoritmo nel codice , si limita quasi certamente l'algoritmo alla sua conoscenza delle limitazioni del linguaggio e la sua.
Solution- Centric
Piuttosto che il limitazioni prescritte di algoritmi di scrittura in codice o pseudo- codice , utilizzando la logica generalizzata libera di concentrarsi esclusivamente sulla soluzione al tuo problema , non l' implementazione della soluzione . Si presuppone che , una volta che si definisce il miglior algoritmo , potrai capire come implementare nell'ambiente che avete in mente . Essa può anche presupporre che una soluzione nella algoritmo può prescrivere la propria implementazione .
Assunzione Prevenzione
Usando la logica generalizzata consente di evitare una serie di ipotesi . Anche se le vostre supposizioni hanno qualche fondamento nei fatti , e possono effettivamente servire a snellire il processo impedendo soluzioni end morti , possono anche essere limitante . Per esempio; se si sospetta che siete diretti verso un algoritmo vitale che non hanno le risorse per l'attuazione , può essere saggio per ascoltare la vostra intuizione , a dispetto della sua base di ipotesi . Siate consapevoli , però , se cederete alle ipotesi - . Potete lasciare le migliori idee da scoprire
non - specialista -friendly
Se si scrive un algoritmo per risolvere un problema e non si ha alcuna conoscenza dei dettagli di implementazione , può effettivamente essere utile . Lasciate necessità guidare il processo in cui sei un esperto; consegnare l'algoritmo off ad un esperto di attuazione . Separare le due fasi richiede più risorse , ma può anche produrre risultati migliori .