give up learning C++?

Started by
20 comments, last by jpetrie 15 years, 3 months ago
The standard actually says "the order of evaluation of operands of individual operators and subexpressions of individual expressions, and the order of in which side effects take place, is unspecified."
Advertisement
just learn it

Quote:Original post by SiCrane
The standard actually says "the order [...] is unspecified."

Thank you very much, now I finally understand the difference between undefined and unspecified.
You can't go wrong learning C++ trust me.

Sure... It's evolving... For the better I might add, but if you're able and willing to learn it then go for it!

In addition to other languages, C++ will set you up quite nicely to learn C or C# if you so wish, as well as enabling you to understand the fundamentals of object oriented programming, which is common in most of the modern languages of today.

So it’s a win win situation!

C++ is THE language for apps that run on the clients computer. Becuase it's small, fast, and difficult to decompile.



If your programming for a website or something that runs on a server i'd go with Java or C#.
Quote:Original post by BlueMoonRising

C++ is THE language for apps that run on the clients computer. Becuase it's small, fast, and difficult to decompile.



If your programming for a website or something that runs on a server i'd go with Java or C#.


Huh? Difficult to decompile? Every language is equally difficult to compile; you just need to know the assembly equivalent for standard assignments and statements in whatever language that you use. Decompiling is the same regardless of what language was used to write the program, and any program can be decompiled into any other language. You just gotta do the work.

As far as C++ goes, by all means LEARN IT!! Let's face it, you're not going to be making a 3D shooter anytime soon, so really, what you are learning is the structure and syntax of the language, and the logic behind programming. Nothing creates good programmers better than conquering C/C++. The structure of C/C++ is used in many other languages, such as Java, C# (you know, non-cross platform Java), PHP, and other proprietary languages (I used to use NWScript for Neverwinter Nights scripting). If you learn C/C++, you effectively learn ALL of those languages. Sure, there are the nuances and the ins and out of any language to learn, but the fundamental concept is the same.

It's like learning to drive. Should you learn to drive an automatic or a manual transmission vehicle? Well, manual, of course. Even if you drive an automatic, learning to drive a manual gives you a greater understanding of what is going on under the hood, and also gives you the ability to drive ANY vehicle. Sure, some may be automatic, some may be manual. Some may be red, some may be blue. Some may have power windows, some may have no windows at all. Some may have two wheels, three or four. But the underlying concepts are the same, therefore, becoming proficient with any vehicle will be easy given an introductory learning period.
That's not the same for my mother who has never ever learned how to drive a manual transmission vehicle before. She almost blew the three wheeler one day because she couldn't grasp the concept of shifting. She just thought, push the button and go. See, how even learning the concepts of driving a manual transmission vehicle would have helped even my mother drive a three-wheeler?

C/C++ is the manual transmission of programming languages. It's fundamental. Learn it.
Yes, you should learn C++, but don't give up on other languages either. Working with and learning multiple languages at the same time really improves your understanding of all of them, since different languages have different features and personalities that you utilize. Sometimes a concept in one is extremely difficult, yet in another it is simplified so much, you don't even pay any attention to it after a little while.
Quote:Original post by BlueMoonRising
C++ is THE language for apps that run on the clients computer. Becuase it's small, fast, and difficult to decompile..

Any actual links which prove this statement? AFAIR compiled C++ code is rather easy to decompile if you aren't using some kind of obfuscator tool.

-----PARPG - open source isometric 2d old school RPG still looking for interested contributors
Quote:Original post by DevFred
If you wonder what this undefined behavior looks like, here's an example:


Here's an actual example of undefined behaviour.

int a=1;std::cout << (++a + ++a + ++a) << std::endl;


which will give you different answers on different compilers. MSVC for example will do all of the ++ operators first, then the binary adds. gcc will do 2 ++'s, followed by +, followed by another ++ then the final +. Both are unfortunately valid interpretations of the C++ language spec - which give 2 completely different answers.
Apart from the undefined/unspecified debate,
In my opinion, on the long run, mastering a language does not always give you the advantage.

The language itself is the small part - mastering the logical and theoretical side is the important part.

If you know how to build a recursive genetic AI algorithm in one language, you will know how to do it with another.
Just a matter of syntax and basic restrictions forced by the language.

If you know C++, you can easily learn Java, php, &#106avascript, pascal, etc...

You should strive to become flexible - being able to adapt languages and different syntax as you go. Because that's the easy part of programming.

The logical side is far more important than knowing which function is called first.
This is just something that pure practice can teach you.

In short, don't learn a language thinking you will be using it for the rest of your life.
Treat it as a dynamic tool similar to other tools out there that are constantly forming and improving.

Just my 2.5 cents ;P


Next Life Insurance
Is it really thinking?
The Department of Next Life - Get your Next-Life Insurance here!

This topic is closed to new replies.

Advertisement