c,c++,java,.net which language is better to learn to code - page 2

 
7bit:

C++ is not a good language for a beginner. It is the most complicated and most inconsistent programming language with the most pitfalls and traps ever created by mankind. It should be considered a crime to recommend it to newbies. Only expert programmers can master it and those who know it won't recommend it to anyone (those who recommend it don't know it). You also don't learn riding a bicycle at the age of 5 by immediately trying to drive a 320 horse power motorbike that has a broken gear transmission (needs two hands to change gears while driving 280km/h) and no brakes.

C++ involves too many technical details and crazy complications that do not help him in understanding the general concept of imperative programming, all these these details need to be completely understood before he can write even the simplest programs in C++ without continuous frustration and as a beginner he will be totally distracted from the actual goal of learning how to program.

If at the very beginning he is still struggling with understanding such essential concepts like understanding/controlling the flow of the program (if/else, for/while etc), function calls, function arguments, return values, local vs global variables it will NOT be helpful if he is additionally forced to fight with all the C++ specific overhead and seemingly cryptic concepts, misleading syntactic sugar, memory management, pointers, references, cryptic example code that he will find on the web that will raise even more questions instead of answering them because it might contain syntax that must seem totally alien to him (at his current stage of learning) and that will not really answer any of his actual questions that he has at this time.

Of course once he understands the very basic concepts that are common to all imperative languages and has some experience and has seen similar things in other languages already then he can easily start to explore all the complexities of C++ and will have a chance to understand how they work and what purpose they serve but NOT as an absolute beginner. The resulting frustration factor might easily exceed his tolerance level at this early point and totally ruin it.


Two suggestions to reach an early (important!) motivating sense of achievement:

(1) learn the language that you need now (mql4 or mql5) directly, it is much simpler than C++ and you can immediately have motivating results which is the most important thing at all!

(2) if you are not forced to have a working metatrader EA tomorrow and just want to generally learn some programming then start with a language that is easy for beginners and that can produce motivating results very early in the learning phase (important!) and use that to explore all the concepts (variables, control structures, functions, classes, objects, general strategies how to solve common little problems, strategies how to find errors in your code and many tricks that will later prove useful in any other programming language too, etc). Once you have done this then you can easily start with any other language you like, you will find it much easier, you will recognize most things that you have learned already and can use them and can concentrate on the differences only and deepen your knowledge by understanding why things are done in a certain way.

In short 7bit says learn mql4 or mql5 directly.
 
tonny:
In short 7bit says learn mql4 or mql5 directly.
Exactly what I said
 
WHRoeder:
Exactly what I said
Me too . . .
Reason: