![]() |
| | #1 |
| Registered User Join Date: Sep 2009
Posts: 12
| Well, I'm a newbie and C++ is the first language I've decided to try. So far it's been a lot of fun for me, and while I haven't gotten into the nitty gritty of real programming like creating classes, understanding inheritance and the like, I'm enjoying the learning curve immensely. I've heard that it's too low level (better to hide the inner workings from people who don 't know what they're doing). I've heard that it's too demanding in terms of precise syntax (why punish programmers for missing a single semi-colon?). I've heard it takes too long to produce truly impressive results (it's just too generalist). I've heard these and a dozen other warnings; at the risk of sounding thick-headed, most of them seem to boil down to "C++ is a pain in the neck, and if you've never programmed before it'll put you off for good." I'm the kill of bull-headed masochist who'll spend weeks boring into a problem until I beat it, if for no reason but the sheer spite of it. Finicky syntax and blood-boiling bugs will irritate me, but not enough to quit programming altogether. If frustration headaches, delayed gratification and general information overload are all I have to worry about, I'm sticking with C++ as my introduction to the world of programming.(Then maybe Python or LISP) The people here have a lot of experience with the language, and while the results might be a little biased (I'm guessing most of you enjoy using C++ to some degree), I'd like to know if the experts could give me any other reasons to start with another language aside from the fact I might pull my hair out. Am I going to develop any bad coding habits? Will it hurt my understanding of programs in general? I'll switch to one of the more popular first languages if this is going to make me a bad programmer somehow, or hurt my ability to understand other languages, but if it's just about the difficulty curve, well... :3 |
| Angie is offline | |
| | #2 |
| Registered User Join Date: Sep 2004 Location: California
Posts: 2,845
| I would actually argue that the best language to learn to program in is C. It has a simple syntax, is relatively easy to learn, and is very powerful.
__________________ bit∙hub [bit-huhb] n. A source and destination for information. |
| bithub is offline | |
| | #3 | |
| Cat without Hat Join Date: Apr 2003
Posts: 8,439
| Quote:
__________________ All the buzzt! CornedBee"There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code." - Flon's Law | |
| CornedBee is offline | |
| | #4 | ||||
| The larch Join Date: May 2006
Posts: 3,086
| I think this should be moved to General Programming. Personally I didn't learn C++ as the first language (second, if not to count an aborted attempt to learn C++ from the tutorial that comes with DevCpp - which IIRC turns out to be a bad C tutorial in the first place.) I think one of the greatest reasons is that you want to learn to think like a programmer (describe algorithms in terms of if's and for's and then perhaps some classes and like). The problems with C++ is that for really basic things you'll need to know a lot of technicalities that have nothing to do with training structured thinking. Add to that, that many mistakes lead to undefined behaviour - you might not even be aware that something is wrong, and if you come painfully aware of that, you might not be able to identify what went wrong, as undefined behaviour can make arbitrary piece of code crash or fail. Quote:
Quote:
... (I suspect it's just an IE widget, though, and the loading time of the first page was enormous.) Quote:
Once you know one or two languages, picking up others will be a lot faster, though.
__________________ I might be wrong. Quote:
| ||||
| anon is offline | |
| | #5 |
| Registered User Join Date: Apr 2009
Posts: 8
| I used a dialect of BASIC as my first language (put the stones down please) It was a modern BASIC though and OOP so it did teach me the very basics of classes and such.....BUT I have always wanted to learn C++ Im what you call a "hobbiest programmer" and so Im not the most advanced programmer but Im enjoying learnig C++ I probably should have tried C++ alot sooner but I listened to people and was scared away from trying....now I regret not trying C++ sooner |
| meganewbie is offline | |
| | #6 | |
| Mysterious C++ User Join Date: Oct 2007
Posts: 14,099
| The only "faults" of C++ as I see it are: - Too much undefined stuff. If something is undefined, then don't allow it or warn if it's used. Compilers do not. It's a pain. - C++ has a lot of power and flexibility and with power comes responsibility. There is a lot and I mean a LOT of bad practices that you should avoid. It takes years to learn them all. - No easy GUI programming. There is no standard way of writing GUI code. You have to rely on 3rd party libraries. Of course, if you get to know them, and if you find a good one, then GUI programming isn't difficult at all. It's just that finding such a library might be difficult.
__________________ Using: Microsoft Windows™ 7 Professional (x64), Microsoft Visual Studio™ 2008 Team System I dedicated my life to helping others. This is only a small sample of what they said: "Thanks Elysia. You're a programming master! How the hell do you know every thing?" Quoted... at least once. Quote:
| |
| Elysia is offline | |
| | #7 | |
| Rampaging 35 Stone Welsh Join Date: Apr 2007
Posts: 2,929
| Quote:
OOP BASIC? Must be some abomination of nature like VB, which isnt BASIC at all.
__________________ He is free, you say. Ah! That is his misfortune… These men… [have] the most terrible, the most imperious of masters, that is, need. … They must therefore find someone to hire them, or die of hunger. Is that to be free? - Simon Linguet Last edited by abachler; 09-19-2009 at 07:41 AM. | |
| abachler is offline | |
| | #8 |
| Registered User Join Date: Jun 2008
Posts: 1,135
| (are you saying C++ is like spidey?) All these discussions are theoretically. I would like to hear from professionall programmers what is the marketing value of each language. What do companies ask for today? |
| C_ntua is online now | |
| | #9 | |
| Registered User Join Date: Jun 2008
Posts: 1,135
| Quote:
| |
| C_ntua is online now | |
| | #10 | |
| Mysterious C++ User Join Date: Oct 2007
Posts: 14,099
| I would say learn C++ right away. If you are not going to use C, then don't learn it. C is an old, difficult language that is not up to today's standards. Why bother learning something such when you are not going to use it?
__________________ Using: Microsoft Windows™ 7 Professional (x64), Microsoft Visual Studio™ 2008 Team System I dedicated my life to helping others. This is only a small sample of what they said: "Thanks Elysia. You're a programming master! How the hell do you know every thing?" Quoted... at least once. Quote:
| |
| Elysia is offline | |
| | #11 | |
| Rampaging 35 Stone Welsh Join Date: Apr 2007
Posts: 2,929
| Quote:
if is C switch is C struct is C while is C int main() is C any function call that isnt into a member function of some class is C The member functions themselves are C, although they contain non-C code if they reference class objects.
__________________ He is free, you say. Ah! That is his misfortune… These men… [have] the most terrible, the most imperious of masters, that is, need. … They must therefore find someone to hire them, or die of hunger. Is that to be free? - Simon Linguet | |
| abachler is offline | |
| | #12 | |||
| The larch Join Date: May 2006
Posts: 3,086
| Quote:
Quote:
__________________ I might be wrong. Quote:
| |||
| anon is offline | |
| | #13 | |
| Rampaging 35 Stone Welsh Join Date: Apr 2007
Posts: 2,929
| int main() is int main(void) same thing in both C and C++ Quote:
There are limits on function overloading in C, namely you have to have a different number of arguments, so it isn't full bore C++ style overloading. Most modern compilers will implement full function overloading anyway though even though it isn't technically part of the C standard.
__________________ He is free, you say. Ah! That is his misfortune… These men… [have] the most terrible, the most imperious of masters, that is, need. … They must therefore find someone to hire them, or die of hunger. Is that to be free? - Simon Linguet Last edited by abachler; 09-19-2009 at 09:43 AM. | |
| abachler is offline | |
| | #14 | |
| The larch Join Date: May 2006
Posts: 3,086
| In what sense are they C? In the same sense as all C++ is just machine code?
__________________ I might be wrong. Quote:
| |
| anon is offline | |
| | #15 | |
| Rampaging 35 Stone Welsh Join Date: Apr 2007
Posts: 2,929
| Quote:
BTW, the schools I have looked at do in fact teach purist design and teach java exclusively, or prior to C/C++, which is bass ackwards. You should start out with low level languages first, then teach higher level languages, not the other way around.
__________________ He is free, you say. Ah! That is his misfortune… These men… [have] the most terrible, the most imperious of masters, that is, need. … They must therefore find someone to hire them, or die of hunger. Is that to be free? - Simon Linguet Last edited by abachler; 09-19-2009 at 10:17 AM. | |
| abachler is offline | |
![]() |
| Tags |
| c++, first language, newbie |
| Thread Tools | |
| Display Modes | |
|
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Another: "Should I learn a certain language as a beginner" thread. | Banned | General Discussions | 15 | 08-09-2009 11:20 AM |
| The value of learning a new programming language | h3ro | General Discussions | 21 | 06-13-2009 01:48 AM |
| ASM to C language | TAZIN | C Programming | 22 | 06-03-2009 06:29 AM |
| God | datainjector | A Brief History of Cprogramming.com | 746 | 12-22-2002 12:01 PM |
| bubble sort in assembly language!!!!!! | lorenzohhh | C++ Programming | 1 | 04-15-2002 08:30 PM |