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

computer tech security and public policy

Digital computer security and connected IoT smart  everything have become public policy priorities in an increasingly digital and data-dependent always on and connected economy and society.

The blockchain ecosystem helps farmers receive fair prices and provides consumers with trustable and transparent data on product origins

HAITIAN FARMERS USE BLOCKCHAIN TO SECURE BETTER PRICES
UK-based startup Agriledger has created a blockchain system to help Haitian farmers sell their products at fair prices. The system fosters trust on both sides of the transaction, leading to better income for farmers and better goods for consumers.
The startup’s system offers farmers a number of services, and access to global markets and banks. Using blockchain technology, it provides registered farmers with a unique digital identification number, which makes the farmers key players in the supply chain, and gives them access to financial services, logistics, insurance and other services.  
The farmers can also tokenize their assets, making peer-to-peer trading easier and giving them further access to the commodities market. This digital system provides the farmers with several benefits; the data is inherently trustworthy, so the entire supply chain is more transparent and traceable, and it also simplifies record keeping, so it is easi…