isaqb-org / glossary

An extensive glossary of software architecture (and development) terminology. Explains the terms used and referenced in the iSAQB foundation and advanced level curricula.
https://leanpub.com/isaqbglossary
36 stars 16 forks source link

Algorithm #75

Closed AndreasRausch closed 7 years ago

AndreasRausch commented 8 years ago

https://leanpub.com/isaqbglossary/read#Algorithm

Do we really need such a basic term? Is there really a special relationship to software architecture?

In case we still want the term: A) "(noun) Term used by software developers when they do not want to explain what they did." Do we really want such funny fake definitions?

B) "A self-contained step-by-step set of operations to be performed, e.g. to perform calculations, data processing, and/or similar tasks."

-> This definition is from wikipedia. However it is simply wrong. For instance, a set is not ordered, thats the specific idea of a set, hence a set of operations is a non ordered collection of operation. An algorithm contains always an executable and repetable number of operations (= means somehow ordered)

The german definition of Algorithm is much better:

"Ein Algorithmus ist eine eindeutige Handlungsvorschrift zur Lösung eines Problems oder einer Klasse von Problemen. Algorithmen bestehen aus endlich vielen, wohldefinierten Einzelschritten.[1] Somit können sie zur Ausführung in einem Computerprogramm implementiert, aber auch in menschlicher Sprache formuliert werden. Bei der Problemlösung wird eine bestimmte Eingabe in eine bestimmte Ausgabe überführt.[2]"

And it is based on a english well-known book: "Hartley Rogers, Jr.: Theory of Recursive Functions and Effective Computability, S. 2."

gernotstarke commented 8 years ago

might better remove the term. Not very important for architecture.