Java - Turing-complete languages
A language is complete in Turing, if with its help it is possible to implement any computable function. Java fully fits this definition, i.e. Java is a complete Turing language.
There are two types of platforms: complete in Turing and incomplete in Turing. We are interested in the first option, because it is used to work with smart contracts. When starting a blockchain, smart contracts are converted into a program that is executed when certain conditions are met. Human participation is not required to execute the program. Due to the fact that the smart contract is implemented outside of the blockchain, it works exactly as programmed.
Completeness by Turing
The completeness in Turing indicates the presence of the tools required to solve a particular problem. Their availability guarantees the independent operation of the system. The vast majority of existing blockchain networks (including Bitcoin) do not have this capability. Their contracts are simple in structure and their transactions that take place with delay.
Using the JVM virtual machine, creating a blockchain application is faster, and the final result is better. The use of one platform allows you to simultaneously run and ensure the operation of thousands of different applications.
On the Credits platform the logic and the sequence of actions is described by a program code (module) containing commands, the sequential execution of which allows to obtain the desired result. This code can handle system commands (for example, an assignment command), user commands (separately written functions), contract properties (statically or dynamically initialized variables available from any method Contract), as well as methods from any other third-party contract, the use of which is available not only to the owner of the connected (third-party) contract. For more popularization, the development is carried out on JAVA.
The method (program code) allows us to use all of the widely used scripting language commands (assignment, conditional and unconditional jumps), the creation of functions and procedures (subroutines) and connection of third-party libraries.
A Turing complete system allows creators to develop and expand the capabilities of decentralized applications. As part of such programs, only the code that is executed in the blockchain network is provided. Due to this feature, there is no centralized control.
With the help of a Turing complete network it is possible to implement any services such as credits, title registers, systems for collecting and counting votes, checking compliance with norms and requirements. The list of applications can be continued indefinitely.