September 14, 2019

From programming to algorithm invention


In some previous blogposts, I've explained why programming is obsolete. Not a certain kind of language like Python or C# is outdated for computer scientists, but all available language have fall out of fashion. Programming is too easy to teach it in a computer course. It was replaced by something which has a higher priority and needs an academic background. This alternative is called algorithm invention. An algorithm is an abstract description how to solve a problem. A typical example for a search algorithm would be to sort first the data in the ascending order and then go through each item to search for the term. This search algorithm can be implemented in any programming language, for example in Ruby, Fortran, Javascript and so on. The interesting fact is, that the implementation will look very similar. Another point is, that the task of converting an algorithm into sourcecode is not very hard.
In the easiest case, a certain algorithm is expressed in the python language in around 20 lines of code. The task of programming which means to enter the program lines into the computer and check for potential syntax errors is outside the scope of computer scientists. In most academic papers, not the needed sourcecode is shown but the algorithm is described.
The hypothesis is, that computer science at a university is about algorithm but not about programming itself. If somebody has tried to implement a search algorithm in C++ but not in Python and gets a syntax error, nobody cares. That means, the question how to realize an algorithm into a concrete programming language is not important for computer scientists. They are don't care about it. What they are interested in, is discussion different kind of algorithm to search in a data structure.