Unconventional computing refers to the different alternatives or rather unusual methodology to classical computing. With key interest being programming, our aim will be to establish the motivation behind the evolution and development of programming language. By seeking to explore how a given programming best defines itself, four critical criteria will have to be evaluated. They include the computational notion embodied into the language, support for the development process support for the underlying reasoning behind the program as well as their best suited applications. With programming being a key part of information systems, there is a need to look into the languages that are used in developing information systems. There are many paradigms that are used in programming. These languages need to be defined well and their strongpoints well defined. This paper will seek to find out the forces that are behind the continuous developments and improvements of computer languages.
Questions and metaphors that best address unconventional computing
Since our focus is on programming, our quest to find out why and what is the drive behind the evolution of programming paradigms has to be addressed. In this case we need to widen our scope to the real life situation by seeking to establish the relationships between different relationships and concepts.
For instance a link can be established to analyze what is really the relationship between biology and computation? in this case biology, can offer inspiration in the answer to address this question considering the fact that computer specialist are motivated to address challenges involving life concepts such as design of self-sustaining and self-organization systems with an aim of establishing the meaning behind such characteristics.
However, considering the global scope of life applications that can be adopted, the motivation behind unconventional computing can be drawn from a wide area of modern fields such as physics of computations which address thermodynamics of computations, reversible computing among others. Other key topics unconventional computing aims to address are cellular automata, chemical computing, fluidics, domino computations both of which constitute different methods of unconventional computing.
Programming case study
Analysis of programming as key concept of unconventional computation has to be looked into from two points of view. One example is programming in the small. The notion here is that a program constitutes data structures and algorithms. This concept represents the present conventional programming and one of the key interest that unconventional seeks to address comes in several aspects: first is this notion still relevant to new paradigms in terms of problems and applications, secondly what are the new data structures offered by other computing paradigms and can conventional language provide for new algorithms or improve on existing ones.
An alternative area is the programming in the large, which focuses on the complexity of miniature algorithms tasks. This understanding tries to address the challenge of large software architecture with regard to the interconnection between modules, code reuse as well as capitalization. The existence of these areas of analysis therefore prompts us to study if the challenges lie in software development methodologies or programming languages and which methodology can help discover solutions to program error or deliver their efficiency.
The future of programming languages
It has been pointed out that theories have to be studied to ascertain if new programming paradigms needs either be presented in form of new syntax or as new symbols. Another area of research is in semantics and theoretical models where the right mathematical frameworks that best conform to software architecture have to be determined.
Validation and verification has also been considered in addressing the future of programming. What this would mean is that new techniques that best ensure tasks are well accomplished will be ascertained for adaptability in unconventional programming languages. Although this is the case, there are a lot of issues that need to be addressed with validation. This where future programming is bound to adopt. There is need to have a valid way of verifying processes in information systems that are developed.
Opportunities presented by unconventional models
The full potential of unconventional does not obviously rely in changing the whole framework behind convectional computing but rather it can be delivered on if it exploits what is already provided by the classical computing methodologies. For example, better processing will not rely in replacing silicon but by rather fully utilizing all channels of efficiency silicon based chips can provide. This is not to say that conventional programming is being replaced by rather they are being improved for the better.
However, we must also realize that unconventional computing is already being adopted through internet, where the rapid growth of internet in the recent years has provided for new challenges that demands new paradigms. In this case possibilities such as establishing if unified frameworks can be generically adopted on large scale or are we failing to establish the missing link in the present algorithms, designs and architecture.
Olivier Michel, J.-P. B.-L. (2006). Challenging Questions for the Rationale of. Int. J. of Unconventional Computing , 2, 337–347.