C Board  

Go Back   C Board > Community Boards > General Discussions

Reply
 
LinkBack Thread Tools Display Modes
Old 11-06-2009, 05:39 AM   #46
Registered User
 
Join Date: Apr 2006
Location: United States
Posts: 3,202
I really don't think we got anywhere.

Quote:
Originally Posted by Elysia View Post
What I meant is that C++ have things such as templates, OOP, classes, etc, etc.
Yes, you can emulate these in C, but it is not as easy as if they were natively supported. So if you do not have to invent a solution to get it working right, it might be safe to say that it is faster, usually easier and less error-prone to use them than to emulate them.
Assembly supports even less of such things than C. It does not even feature high-level syntax and statements such as ifs.
This is what I meant with C++ having more "features".
I think of it as having more tools available at the tips of the programmer, allowing us to get things done faster. The later part is subjective, of course.
I don't think anyone disagrees with what this means at face value, but that does not make C++ more functional and flexible than something else, depending on what you need:
Quote:
I get that C++ generally deals with a higher-level of abstraction, but that really has nothing to do with flexibility and functionality. You can implement closures in C, you can have an OOP style in C, it all depends on the programmer.
You know, given that he acknowledges everything you just said, I think you missed his point.

And to wit, most of the benefit from learning C++ first comes from using stuff like the STL early on, which is actually not the approach people seem to encounter. Even if I'm wrong about that, there is a whole widget for cleaning up STL related errors, so I don't find that to be very newbie-friendly either.... like I said, it's a pain.

I don't think it's fair to discuss features of X versus Y when we were originally asked a question about learning something. C++ does throw a lot at you, and in a weird way.
__________________
Os iusti meditabitur sapientiam
Et lingua eius loquetur indicium

"There is nothing either good or bad, but thinking makes it so." (Shakespeare, Hamlet, Act II scene ii)

http://www.myspace.com/whiteflags99

Last edited by whiteflags; 11-06-2009 at 05:52 AM. Reason: added link
whiteflags is offline   Reply With Quote
Old 11-07-2009, 10:12 AM   #47
subminimalist
 
MK27's Avatar
 
Join Date: Jul 2008
Location: NYC
Posts: 3,944
I can't believe I missed this!!!!!
__________________

Accuracy and integrity mean nothing if you don't make it past the censors...PYTHAGORAS
MK27 is offline   Reply With Quote
Old 11-07-2009, 11:54 AM   #48
The larch
 
Join Date: May 2006
Posts: 3,082
Quote:
And to wit, most of the benefit from learning C++ first comes from using stuff like the STL early on, which is actually not the approach people seem to encounter. Even if I'm wrong about that, there is a whole widget for cleaning up STL related errors, so I don't find that to be very newbie-friendly either.... like I said, it's a pain.
On the other hand, one could argue that this is better than nothing.

(For which reason I wouldn't recommend neither C or C++ as the first language to learn – and if you have some particular applications in mind, you might still consider whether they are a good choice for that.)

But anyway, STL errors are for wuss's. Try some boost errors (does the tool help with those too?)
__________________
I might be wrong.

Quote:
Thank you, anon. You sure know how to recognize different types of trees from quite a long way away.
Quoted more than 1000 times (I hope).
anon is offline   Reply With Quote
Old 11-07-2009, 12:39 PM   #49
Super Moderator
 
Bubba's Avatar
 
Join Date: Aug 2001
Posts: 7,472
Haven't we matured past these debates yet?
__________________
If you aim at everything you will hit something but you won't know what it is.
Bubba is offline   Reply With Quote
Old 11-07-2009, 02:24 PM   #50
(?<!re)tired
 
Mario F.'s Avatar
 
Join Date: May 2006
Location: Portugal
Posts: 5,220
Quote:
Originally Posted by Bubba View Post
Haven't we matured past these debates yet?
And I'll add my piece because the exact arguments used so far to convince the OP to go for C++ have done quite a great job at convincing me to go C#.
__________________
Originally Posted by brewbuck:
Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.


Mario F. is offline   Reply With Quote
Old 11-07-2009, 05:40 PM   #51
Registered User
 
Join Date: Oct 2006
Posts: 103
Linux owns windows!
MWAAAHAAA is offline   Reply With Quote
Old 11-07-2009, 09:30 PM   #52
Super Moderator
 
Bubba's Avatar
 
Join Date: Aug 2001
Posts: 7,472
Quote:
And I'll add my piece because the exact arguments used so far to convince the OP to go for C++ have done quite a great job at convincing me to go C#.
Hehe. Nice.
__________________
If you aim at everything you will hit something but you won't know what it is.
Bubba is offline   Reply With Quote
Old 11-09-2009, 06:21 AM   #53
Reverse Engineer
 
maxorator's Avatar
 
Join Date: Aug 2005
Location: Estonia
Posts: 2,236
Someone should add a rule that C vs C++ debates are not allowed on CBoard...
__________________
The duck is irrelevant to my point.
maxorator is offline   Reply With Quote
Old 11-09-2009, 06:41 AM   #54
Registered User
 
Join Date: Oct 2009
Location: While(1)
Posts: 316
By my view C/ C++ both are accurate and fast if they are used with full of there potential.
But my vote goes to C because of its simplicity and closeness towards hardware.
RockyMarrone is offline   Reply With Quote
Old 11-11-2009, 01:18 PM   #55
Registered User
 
Join Date: Nov 2009
Posts: 14
While you people debate on what's silly and what's not, I got a couple of questions...



1) Is learning C, then C++, the best way to go ?

2) When you say learning them both is silly, do you mean learning both at the same time ?

3) When you say learning them both, do you mean learning both at the same time ?

Thanks!
Exutus is offline   Reply With Quote
Old 11-11-2009, 01:39 PM   #56
subminimalist
 
MK27's Avatar
 
Join Date: Jul 2008
Location: NYC
Posts: 3,944
Quote:
Originally Posted by Exutus View Post
While you people debate on what's silly and what's not, I got a couple of questions...

1) Is learning C, then C++, the best way to go ?

2) When you say learning them both is silly, do you mean learning both at the same time ?

3) When you say learning them both, do you mean learning both at the same time ?

Thanks!
I guess everyone will give their own answer, but based on watching this same debate here a bunch of times, my impression is that people are (mostly) presenting the way they learned as the way to learn.

A couple of things are clear:
  1. if you want to learn C++, you do not need to learn C first. Just start studying C++.
  2. if you want/need to program in both languages, you might as well study both of them. You could do that at the same time, or consecutively, according to your fancy.
  3. since C++ includes most C syntax (altho there are some small differences), once you have this basic syntax down, the difference between the two will be about how you use the syntax to accomplish a goal. Related to this is the use of common libraries, which differ.
__________________

Accuracy and integrity mean nothing if you don't make it past the censors...PYTHAGORAS
MK27 is offline   Reply With Quote
Old 11-11-2009, 04:22 PM   #57
Registered User
 
Join Date: Nov 2009
Posts: 14
Then should one then learn Assembly, then C, then C++ then ?
Exutus is offline   Reply With Quote
Old 11-11-2009, 04:27 PM   #58
l'Anziano
 
DavidP's Avatar
 
Join Date: Aug 2001
Posts: 2,573
Just go!
__________________
My Website

"Circular logic is good because it is."
DavidP is offline   Reply With Quote
Old 11-11-2009, 04:30 PM   #59
subminimalist
 
MK27's Avatar
 
Join Date: Jul 2008
Location: NYC
Posts: 3,944
Quote:
Originally Posted by Exutus View Post
Then should one then learn Assembly, then C, then C++ then ?
Why? You do not need to know assembly.

Actually, you do not need to know C or C++. If you would like to learn one of these three, study it. They are not prerequisites for each other. If you would like to learn two, study both of them. If you would like to learn all three -- well, that should keep you busy for a while, anyway.
__________________

Accuracy and integrity mean nothing if you don't make it past the censors...PYTHAGORAS
MK27 is offline   Reply With Quote
Old 11-11-2009, 05:12 PM   #60
Super Moderator
 
Join Date: Sep 2001
Posts: 4,680
I was just reminded of my all-time favorite Linus Torvalds quote:
Quote:
Some people seem to think that C is a real programming language, but they are sadly mistaken. It really is about writing almost-portable assembly language
I really like that - because it's exactly what I like about C. A good C programmer ought to be able to look at any construct and have a good idea how that command would be represented in Assembly - and yet you can combine those constructs into a higher-level programming style. I think that makes it the perfect OS language. Using it for a user-friendly end-user app, however - is probably not the best choice - but one that I think everyone should at least be able to understand.
sean is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Forum Jump


All times are GMT -6. The time now is 06:15 AM.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.3.0 RC2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22