Skip to main content

task oriented programming languages



Categorizing the thousands of programming languages that exist is no easy task, but software trends over the years have revealed two sovereign frameworks: imperative (object-oriented) and declarative (functional) languages.

Imperative: The programmer defines how to perform algorithms and how memory is accessed. Examples include C++, JavaScript, and Python.

Declarative: The programmer defines the composition of functions, and lets the run-time optimize algorithms. Examples include Haskell, Erlang, and OCaml.

A classic way to describe the distinction between declarative and imperative programming is that declarative languages let the programmer describe what to do, whereas imperative languages let the programmer define how to do it.

If we extend this idea to a third type of language that lets the programmer define why choices are made, then we have discovered task-oriented programming languages.

Task-oriented: The programmer defines desired states, and lets the runtime resolve the composition of actions. Examples include DMPL, PDDL, and DTProbLog.

The figure below summarizes these paradigms with glorious details about how languages have influenced each other over the years. The types of languages span all over the place, and it all started less than a century ago!  

Arrows between languages represent influence. Languages are placed in columns corresponding to their primary paradigm, even though some languages are multi-paradigm. 

https://www.freecodecamp.org/news/dmpl/


Comments

Popular posts from this blog

Distributed computing CALM - ness or not

Distributed computing and coordination is not a necessary evil, it is an incidental requirement of a design decisionThe key insight in CALM is to focus on consistency from the viewpoint of program outcomes rather than the traditional histories of storage mutation. The emphasis on the program being computed shifts focus from implementation to specification: it allows us to ask questions about what computations are possible.Interesting article and some good insight. Worth a read. https://blog.acolyer.org/2019/03/06/keeping-calm-when-distributed-consistency-is-easy/

Exempt crypto security laws

https://www.coindesk.com/us-lawmakers-file-bill-to-exempt-cryptocurrencies-from-securities-lawsCould be good , time will tell what regulations will proceed and which ones will not. "
The “Token Taxonomy Act” was introduced Thursday by Reps. Warren Davidson and Darren Soto, a move that comes months after a roundtable in Washington, D.C. that sought input about regulatory measures for the industry. According to the text, the bill – among other items – seeks to exclude “digital tokens” from being defined as securities, amending both the Securities Act of 1933 and the Securities Exchange Act of 1934."