"...a computer is a stupid machine with the ability to do incredibly smart things, while computer programmers are smart people with the ability to do incredibly stupid things. They are,in short, a perfect match.." Bill Bryson
I'd say, go for python. It'll decrease the slope of the initial learning curve.
On the other hand, if you go with C++ (or C), the initial curve will be steeper, but will be over much quicker as you're forced to be within the good practices of these languages.
...as said by a "C++ Witch" !
A lot of good advice in this thread.
Anyway, don't use "Dev-C++"; development stopped before they fixed several dozens of bugs that will cause you problems.
Beyond that, use what you feel comfortable with and to that end I'd say install a few different "IDE" suites and see which you like best.
Soma
No. It isn't.Best approach is first to learn C and then learn C++.
The best approach is to learn whichever he intends to use of simply prefers for whatever reason.
They are two entirely different beast with different "Best Practices", "Canonical Code", and approaches to implementing designs.
You don't need to know anything that is C to learn C++ beyond the few bits which are the same which you'd learn in learning C++ in any event.
You don't need to know any C++ to learn C either.
Soma
Actually I'm pretty sure C/C++ doesn't force you to be good at anything.On the other hand, if you go with C++ (or C), the initial curve will be steeper, but will be over much quicker as you're forced to be within the good practices of these languages.
Compile time errors essentially boil down to syntax errors and link errors.
Undefined behavior really doesn't teach anything. If people are lucky it just breaks, then they have to ask questions and learn how to do it the good way. And freeing dynamic memory just isn't emphasized at all in enough places, and people get away with trashing memory most of the time.
Run time errors can be rare and when they show up they aren't described at all.
It's awful at teaching its good practices.
Perhaps he intended to imply that if you don't learn the "Best Practices" you'll quickly find yourself with no legs.It's awful at teaching its good practices.
Soma
That question implies that you think C++ is solely an "OOP" language or that "OOP" can't be done in C.So you suggest a student should first learn C++ (OOP) and then C(procedural programming) ??
That said, if a person wished to learn C++ first because they intent to use C++ or because they find it superior to C for whatever reason then C++ is what they should learn and C should be avoided until a foundation is built.
I'd say the same for almost any other choice of language. "Intent" and "Preference" weigh a lot more than people who've never taught think.
Soma
Of cource you can write OOP in C,but if it was ok,then why C++ became so popular?I think that if you want an OOP language and have to select between C and C++,of course you would use C++.
Same story with procedural.You could write procedural programming in C++,but C is far more appropriate
While the other is true, this is absolutely false and implies that you do not know C++ well.
C++ is multiparadigm.So be my guest and inform me
Read thses:
http://en.wikipedia.org/wiki/List_of...ming_languages
http://c2.com/cgi/wiki?MultiParadigmProgrammingLanguage
Last edited by manasij7479; 06-30-2012 at 04:32 PM.
rationalize please why not because you could use C++ and don't take advantage of anything that this language provides to you,and have a program that seems to be exactly like procedural programming.If you mean that my statement is false because the implementation changes(e.g Constructors,Destructor) then you are right,but drawing conclusions so fast for my knoweledge in C++ is not prudent
And please answer to my previous question,i want to learn
-you did with edit,thanks
Last edited by std10093; 06-30-2012 at 04:39 PM.