<Li> Automata - based programming--a program, or part, is treated as a model of a finite state machine or any other formal automaton . </Li> <P> None of the main programming paradigms have a precise, globally unanimous definition, nor official international standard . Nor is there any agreement on which paradigm constitutes the best method to developing software . The subroutines that implement OOP methods may be ultimately coded in an imperative, functional, or procedural style that may, or may not, directly alter state on behalf of the invoking program . </P> <Table> <Tr> <Th> Paradigm </Th> <Th> Description </Th> <Th> Main traits </Th> <Th> Related paradigm (s) </Th> <Th> Critique </Th> <Th> Examples </Th> </Tr> <Tr> <Th> Imperative </Th> <Td> Programs as statements that directly change computed state (datafields) </Td> <Td> Direct assignments, common data structures, global variables </Td> <Td> </Td> <Td> Edsger W. Dijkstra, Michael A. Jackson </Td> <Td> C, C++, Java, PHP, Python, Ruby </Td> </Tr> <Tr> <Th> Structured </Th> <Td> A style of imperative programming with more logical program structure </Td> <Td> Structograms, indentation, no or limited use of goto statements </Td> <Td> Imperative </Td> <Td> </Td> <Td> C, C++, Java, Python </Td> </Tr> <Tr> <Th> Procedural </Th> <Td> Derived from structured programming, based on the concept of modular programming or the procedure call </Td> <Td> Local variables, sequence, selection, iteration, and modularization </Td> <Td> Structured, imperative </Td> <Td> </Td> <Td> C, C++, Lisp, PHP, Python </Td> </Tr> <Tr> <Th> Functional </Th> <Td> Treats computation as the evaluation of mathematical functions avoiding state and mutable data </Td> <Td> Lambda calculus, compositionality, formula, recursion, referential transparency, no side effects </Td> <Td> Declarative </Td> <Td> </Td> <Td> C++, Clojure, Coffeescript, Elixir, Erlang, F#, Haskell, Lisp, Python, Ruby, Scala, SequenceL, Standard ML, JavaScript </Td> </Tr> <Tr> <Th> Event - driven including time - driven </Th> <Td> Control flow is determined mainly by events, such as mouse clicks or interrupts including timer </Td> <Td> Main loop, event handlers, asynchronous processes </Td> <Td> Procedural, dataflow </Td> <Td> </Td> <Td> JavaScript, ActionScript, Visual Basic, Elm </Td> </Tr> <Tr> <Th> Object - oriented </Th> <Td> Treats datafields as objects manipulated through predefined methods only </Td> <Td> Objects, methods, message passing, information hiding, data abstraction, encapsulation, polymorphism, inheritance, serialization - marshalling </Td> <Td> Procedural </Td> <Td> Here and </Td> <Td> Common Lisp, C++, C#, Eiffel, Java, PHP, Python, Ruby, Scala, JavaScript </Td> </Tr> <Tr> <Th> Declarative </Th> <Td> Defines program logic, but not detailed control flow </Td> <Td> Fourth - generation languages, spreadsheets, report program generators </Td> <Td> </Td> <Td> </Td> <Td> SQL, regular expressions, CSS, Prolog, OWL, SPARQL </Td> </Tr> <Tr> <Th> Automata - based programming </Th> <Td> Treats programs as a model of a finite state machine or any other formal automata </Td> <Td> State enumeration, control variable, state changes, isomorphism, state transition table </Td> <Td> Imperative, event - driven </Td> <Td> </Td> <Td> Abstract State Machine Language </Td> </Tr> </Table> <Tr> <Th> Paradigm </Th> <Th> Description </Th> <Th> Main traits </Th> <Th> Related paradigm (s) </Th> <Th> Critique </Th> <Th> Examples </Th> </Tr>

Procedural object oriented and event driven programming paradigms
find me the text answering this question