``Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary.''
>>4
Let me elaborate.
C++ programmers do not understand when the tools their language offers are importand and shall be used and when not. They also can rarely combine them properly.
A C programmer, having written 10000 stacks, 432784723 linked lists, 3478124731284 queues, polymorphism, having spent 3248385932 hours on the design of the program, has more experience with using these tools (because he has to implement them, and has to implement them in a way that they will work together abstractly allowing scalability etc)
My suggestion: Start with C, code C for 4 years, in the meanwhile learn other stuff (haskell and lisp is a must), and then learn C++.
Everything I design that I don't need to retune goes into a header file, which I then include and use at my discretion.
People forget that C++ is just C, with a fancy cpp. You can do everything you do in C++ in C.
Name:
Anonymous2008-04-20 21:32
>>5
What makes you think C++ programmers aren't experienced with such data structures?
Name:
Anonymous2008-04-20 21:33
>>6 You can do everything you do in C++ in C.
HIBT?
Name:
Anonymous2008-04-20 22:14
>>5
Hey cuntbag, we had to code a stack, queue, list, tree, etc. in a C++ class. Don't assume people who learned C++ only/before C do not really know what data structures are. Hell, the class was called "data structures <something>"(in french, eh). It covered shit like pointers too, obviously. Our two C++ teachers even didn't want us to use the string class(char* 4tw).
Yeah, maybe that those who learned C++ by themselves program like morons, but that's doesn't apply to this language alone(but to every language).
I never learned C, I don't see the point. C++ does the job and I could probably code in C easily anyway.
Name:
Anonymous2008-04-20 22:52
I learned C++ before C, but after Java. Consequently, I felt that the OO features of C++ were clumsy, the syntax was obscure and terrible, and the compiler did too much magic shit under the hood.
Now that I've started getting into C itself, I think it's pretty elegant and good at what it was designed for. And it's made me understand why Stroustrup chose to design C++ the way he did.
That said, I still think that C++ would've been a better language if backwards compatibility with C wasn't one of its design goals.
In before ENTERPRISE JAVAFAG, etc.
Name:
Anonymous2008-04-20 23:03
I learned C++ before C, but after Java.
/facepalm
Name:
Anonymous2008-04-20 23:11
That said, I still think that C++ would've been a better language if backwards compatibility with C wasn't one of its design goals.
C++ is not backwards compatible with C.
ISO disagrees with you.
Name:
Anonymous2008-04-20 23:24
>>12
Not entirely, but it retains a much greater degree of backwards compatibility than it would have, had that not been one of its goals. Read TDaEoC.
Name:
Anonymous2008-04-20 23:41
>>11
Facepalm yourselves, [spoiler][b]COCKSHITTERS[/spoiler]. You know C++ sucks.
>>12
FFS. Exactly what are you referring to here? That you can't have a variable named class? Lol? The differences are pretty minor. And are you going to dispute that compatibility was one of C++'s design goals?
>>6 You can do everything you do in C++ in C.
C doesn't have the wonderfully terse Turing-complete template meta-programming language. While it may not necessarily be very useful to statically compute factorials (a purposefully shitty example), it's certainly something that cannot be done with vanilla C.
>>14 Exactly what are you referring to here?
Aside from the more obvious differences (namespace support, function naming conventions, other bullshit features, etc) --
o C has an explicit, separate namespace for structs.
o C++ lacks implicit conversion from void*, implicit function prototyping, implicit main signature, minor things etc.
o ANSI C doesn't allow arrays with lengths specified by a const ``variable'' qualifier.
o etc.
>>27,29 Please refrain from mimicking me in such a mocking manner. It is unscientific and ultimately destructive. Please note my unique tripcode1 when distinguishing authentic GJS posts from those of imitators.
Gerald Jay Sussman
________________________________________________________________
1Tripcodes are a method of authentication that does not require registration most often used in 2channel-style message boards or Futaba Channel-style imageboards. A tripcode is the result of input to a cryptographic hash function on the message board server, usually entered in the same field as the name.
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy