❓ programming paradigms for blockchain 🔗 ❓

in #technology7 years ago (edited)


The following are widely considered the main programming paradigms:

ParadigmDescriptionMain traitsExamples
ImperativePrograms as statements that directly change computed state (datafields)Direct assignments, common data structures, global variablesC, C++, Java, PHP, Python, Ruby
StructuredA style of imperative programming with more logical program structureStructograms, indentation, no or limited use of goto statementsC, C++, Java, Python
ProceduralDerived from structured programming, based on the concept of modular programming or the procedure callLocal variables, sequence, selection, iteration, and modularizationC, C++, Lisp, PHP, Python
FunctionalTreats computation as the evaluation of mathematical functions avoiding state and mutable dataLambda calculus, compositionality, formula, recursion, referential transparency, no side effectsC++,[1] Clojure, Coffeescript,[2] Elixir, Erlang, F#, Haskell, Lisp, Python, Ruby, Scala, SequenceL, Standard ML, JavaScript
Event-driven including time-drivenControl flow is determined mainly by events, such as mouse clicks or interrupts including timerMain loop, event handlers, asynchronous processesJavaScript, ActionScript, Visual Basic, Elm
Object-orientedTreats datafields as objects manipulated through predefined methods onlyObjects, methods, message passing, information hiding, data abstraction, encapsulation, polymorphism, inheritance, serialization-marshallingCommon Lisp, C++, C#, Eiffel, Java, JavaScript, PHP, Python, Ruby, Scala
DeclarativeDefines program logic, but not detailed control flowFourth-generation languages, spreadsheets, report program generatorsSQL, regular expressions, CSS, Prolog, OWL, SPARQL
Automata-based programmingTreats programs as a model of a finite state machine or any other formal automataState enumeration, control variable, state changes, isomorphism, state transition tableAbstract State Machine Language

What is the best programming paradigm for blockchain technology?



follow me on:
steemit
twitter

Sort:  

Not indicating that the content you copy/paste is not your original work could be seen as plagiarism.

Some tips to share content and add value:

  • Using a few sentences from your source in “quotes.” Use HTML tags or Markdown.
  • Linking to your source
  • Include your own original thoughts and ideas on what you have shared.

Repeated plagiarized posts are considered spam. Spam is discouraged by the community, and may result in action from the cheetah bot.

Creative Commons: If you are posting content under a Creative Commons license, please attribute and link according to the specific license. If you are posting content under CC0 or Public Domain please consider noting that at the end of your post.

If you are actually the original author, please do reply to let us know!

Thank You!

Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
https://en.wikipedia.org/wiki/Comparison_of_programming_paradigms

awesome

What is awesome? The question? Or the fact nobody answered right now ;-)

follow me i will follow you and upvote all your future post lets work together

This is like asking which is better when using wood, a saw or a hammer? It depends on the project. There is no "one true paradigm" just as there is no "one true language" or "one true data structure" -- because each exists to solve a specific problem within a specific domain facing specific forces.

A blockchain is just a piece of the puzzle.