Programmierparadigmen
-
Muss man sich - wenn man c++ lernt - für einer der Programmierparadigmen entscheiden? Oder ist es ganz davon abhänging was ich vorhabe? Letztenendes kommt man ja mit beiden Paradigmen ans Ziel würde ich sagen.
-
DerNewb schrieb:
Muss man sich - wenn man c++ lernt - für einer der Programmierparadigmen entscheiden?
Nein, ganz und gar nicht. Du solltest am besten alles lernen, was die Sprache her gibt.
Oder ist es ganz davon abhänging was ich vorhabe?
Dies ist eher die Frage, wenn du konkret etwas programmierst, nicht beim Lernprozess. In vielen Fällen wirst du mehrere oder gar alle der Mittel verwenden, die dir zur Verfügung stehen. Du musst logischerweise alle Mittel kennen, wenn du eine fundierte Entscheidung treffen willst, was wo das richtige Mittel ist.
Letztenendes kommt man ja mit beiden Paradigmen ans Ziel würde ich sagen.
Beide? Ich zähle mindestens 3, eher 4 oder mehr Paradigmen, nach den üblichen Definitionen. Selbst wenn man nur ganz grobe Kategorien betrachtet.
-
SeppJ schrieb:
Beide? Ich zähle mindestens 3, eher 4 oder mehr Paradigmen, nach den üblichen Definitionen. Selbst wenn man nur ganz grobe Kategorien betrachtet.
Ja sorry habe gerade nur an das imperative und deklarative Paradigma gedacht.
hast schon recht
-
ich zähle mind. 5 Paradigmata (ja, hab' das Graecum): Makroprogrammierung (Präpro), blockstrukturierte Prog. (C), statisch typ. OOP (C++), generische Prog. (Templates), funktionale Prog. (Template Metaprog.)
-
großbuchstaben schrieb:
ich zähle mind. 5 Paradigmata (ja, hab' das Graecum): Makroprogrammierung (Präpro), blockstrukturierte Prog. (C), statisch typ. OOP (C++), generische Prog. (Templates), funktionale Prog. (Template Metaprog.)
Makroprogrammierung, sehr kreativ.
Jo, ich fürchte, wo man früher vielleicht 4 nannte, mit genug Zeit findet man tatsächlich tausende. So, wie jedes Programm eine eigene Technologie zu sein behauptet, wirds bald ein eigenes Paradigma sein. Man muss nur frech genug sein.
Wikipedia(engl) kennt schon
Programming paradigms Action Agent-oriented Aspect-oriented Automata-based Concurrent computing Relativistic programming Data-driven Declarative (contrast: Imperative) Constraint Dataflow Flow-based Cell-oriented (spreadsheets) Reactive Functional Functional logic Logic Abductive logic Answer set Constraint logic Functional logic Inductive logic End-user programming Event-driven Service-oriented Time-driven Expression-oriented Feature-oriented Function-level (contrast: Value-level) Generic Imperative (contrast: Declarative) Procedural Language-oriented Natural language programming Discipline-specific Domain-specific Grammar-oriented Dialecting Intentional Metaprogramming Automatic Reflective Attribute-oriented Homoiconic Template Policy-based Non-structured (contrast: Structured) Array Nondeterministic Parallel computing Process-oriented Point-free style Concatenative Semantic Structured (contrast: Non-structured) Block-structured Modular (contrast: Monolithic) Object-oriented (OOP) By separation of concerns: Aspect-oriented Role-oriented Subject-oriented Class-based Prototype-based Recursive Value-level (contrast: Function-level) Probabilistic Concept