Imagine you and your team need to do some work, well assume - to build a wall. You're the boss. You have in mind should be the algorithm of solving this problem is to produce a solution, substitute the solution, bring the bricks to lay a layer of mortar to lay a layer of bricks, if the wall height is less than the predetermined time to repeat the steps above. Expanding the task into steps and linking them together you got the solution algorithm, which pass to the executor for execution.
Similarly in programming. You set the task, first you have to break into some more simple steps and link them together. Now you can this algorithm be described in Russian, English, Chinese.... And can the programming language C++ or Java Script. Here the sorting algorithms are generally language of dance show. I and quite OK :-).
Of course, when we talk about programming some things you need to know - what is the memory of the computer, as there the data can be saved and how to check them out again, and so on.
But the cycle is not the concept of programming in different languages, it's just implemented a little differently. And the comparison and selection - is also derived from ordinary life only in a special way embodied in languages.
So the language you use is only a tool to describe algorithms, and not a necessary tool.