Advertisement

anyone start with c++ as their first language?

Started by April 17, 2012 03:24 PM
49 comments, last by Stroppy Katamari 12 years, 5 months ago
So, i have been reading much on the internet that c++ is not a good idea to start with, however i wondered if people had tried c++ as their first language anyway(including myself). I was wondering from these sources of which i have read whether you believe this is the case as well.

As a side question, what language did you do after c++(in terms of learn)?

Thank you for your time
rolleyes.gif this is just going to end in a holy war, you know. If you really want to know why people say C++ isn't a good language for beginners, start with Washu's quizzes. I've never, ever met anyone who can correctly answer all the questions without cheating, including industry experts. And they're not even complicated questions.

That, and tell me the bug in this program:
[spoiler]

#include <iostream>
#include <string>

int main()
{
std::string str = "Hello world!";
const char* helloWorld = str.c_str();

str = "How are you on this fine day?";
const char* question = str.c_str();

std::cout << helloWorld << "\n" << question << "\n";
}

[/spoiler]

You might be able to tell me, but it's little nuances like this that can cause beginners to start with some bad habits.

But whatever, it's not the end of the world. You can start with C++. It's your choice. It's not going to stop you from progressing in CS. You and I might have different opinions on what might be more effective for a beginner, but honestly, it's really not that big of a deal.

I started with Basic (DarkBASIC, to be exact), then went to C++, then Java, then C#. I primarily develop in C++ at work, school, and home hobby stuff though.
[size=2][ I was ninja'd 71 times before I stopped counting a long time ago ] [ f.k.a. MikeTacular ] [ My Blog ] [ SWFer: Gaplessly looped MP3s in your Flash games ]
Advertisement
redefining the str variable, i may be wrong. But i dont cheat
Yes, many have.

Next question.
How many languages do you know? How long have you been programming? Can you answer the quiz linked above?

My point here is just that you probably are under-qualified to be disagreeing with the opinions of highly experienced, highly knowledgeable subject matter experts who say C++ is a bad language to begin with.

Also, one data point (i.e. you) does not invalidate the overarching advice, even if you are actually good enough to disagree with the conventional wisdom (which I'm skeptical about, frankly).

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

Whether or not you can is irrelevant. Tons of people have and will start with C++. The real debate is over whether it is the most useful language to start with in large part because the number of concepts required to teach how to program (ie. non-syntax specific programming concepts) is very large in C++. What's worse is that starting in C++ without an understanding of the previously mentioned concepts can cause you to pick up very bad habits if nobody is making sure you're doing everything correctly.

edit: I say this knowing I am not a C++ expert. Those are just the reasons I wouldn't want to learn it first.
Advertisement
C++ was the first programming language I tried to learn way back in High School. The end result was learning to be a piss poor programmer with exceptionally low productivity when I worked on projects. Learned Java in university in far less time, and was able to focus more on actually solving the problem at hand rather than trying to work out what the language was actually doing. Then was introduced to C and low level assembly at the same time I started learning Python. Things made sense, things were easy, productivity soared, and I haven't looked back from Python with C as needed.


Really, it doesn't matter what you start with, as long as you start. Some languages, such as Python, let you move forward with greater ease, and cost you far less of your hair.
Old Username: Talroth
If your signature on a web forum takes up more space than your average post, then you are doing things wrong.
I started with C++. However, that was over 15 years ago. The landscape has changed considerably since then and I certainly wouldn't choose it as a starting point if I had to somehow start over again. I think the reason why beginners who start with c++ think that it's not as bad as everyone says is because they're thinking in terms if syntax. The syntax is no more difficult than, say, c#, java etc but that is not where the "gotchas" lie, they lie in other mire subtle, nuanced areas that can and will cause unproductively and frustration for the inexperienced. Energy is better spent on more productive areas rather than esoteric logical bugs that you'll pull your hair out over. If you haven't sussed cornstalk's example, compile the code and attempt to find the answer by debugging. Then ask yourself whether or not it was a productive use of your time.
i actually started with c++ anyway, i did find it rather difficult. I think may have unintended for the message come across as it did and i do not and probably never will , i have studied c++ for a few months and i just wanted to know if anyone was in the same position as i was at some point. I definitely am to under qualified to disagree with these people, but it was down to my personal preference at the time of starting. I wanted to study this because i saw a large amount of software made for it, so i jumped in.it may have been a bad move (as GeneralQuery mentioned) as i spent most of the time on my larger projects tearing my hair out at bugs that i couldn't find.

it was merely personal preference from what i have learned. i think i will re word the post

thank you for your time
i suppose it was rather stupid to put this topic up in the first place considering some of the response

This topic is closed to new replies.

Advertisement