Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Anyone trying to learn C++

Name: !TK/UA49EzE 2008-06-01 21:45

I've been trying to learn it also, but studying alone makes me get bored of it easily. Anyone interested in learning C++ in a group? it'll be so CACHE (lol, get it?)!

:(

Name: Anonymous 2008-06-03 4:52

Templates are what make life worth living.

Name: Anonymous 2008-06-03 6:23

>>41

What makes you say that? They're like macros on steroids.

Name: Anonymous 2008-06-03 7:16

>>41
I don't think you have a life. Enjoy your templates.

Name: Anonymous 2008-06-03 8:39

>>41
I think your templates don't have any life. You enjoy.

Name: Anonymous 2008-06-03 9:17

>>41
template < class T1, class T2 > struct Message {
    static std::string message = "I don't think you have a " + T1::value + ". Enjoy your " + T2::value + ".";
};

prog::post << Message< Hax, Anus >;

Name: Anonymous 2008-06-03 9:21

>>45
Classes with public attributes considered harmful.

Name: Anonymous 2008-06-03 9:50

>>45
Actually, that should be Message< Hax, Anus >::message but who gives a shit.

>>46
OOP considered harmful.

Name: Anonymous 2008-06-03 13:04

>>47
fail

Name: Anonymous 2008-06-03 13:04

>>45
fail

Name: Anonymous 2008-06-03 13:04

>>46
fail

Name: Anonymous 2008-06-03 13:45

>>45
Statics in templates.  Wow, just wow.

Name: Anonymous 2008-06-03 14:07

>>42
You mean they're like macros except obfuscated and barely useful.

Name: Anonymous 2008-06-03 19:52

>>8

Everyone says that, but they don't bother explaining why.

This is >>1, btw.

Name: !TK/UA49EzE 2008-06-03 19:56

By the way, none of you idiots answered my question. Anyone trying to learn in a group?

Name: Anonymous 2008-06-03 20:05

>>53
C++ is poorly designed in every way. Shall I just describe the language to you? Highlights are: context dependence, lack of GC, pointers, a poor object system, weak yet static typing, excess of significant line noise characters, the #include system, lack of keyword arguments, scads of parallel features for everything (each option lacking in a different way), &c. And on top of this, it doesn't even bother to have one thing it really does well.

>>54
None of us are "trying to learn" at all. "Learn"ing Sepples is a matter of keeping appropriate reference books on hand, and making a note of more obscure things you find you need to do often.

Name: Anonymous 2008-06-03 21:08

>>55
You can have garbage collection that you don't need to manually control in C++ if you want, really, and it has been so for *years*...  some people like to "do it" themselves and some people have specific reasons to do so (perhaps resources are scarce on your embedded system).

It is more strongly typed than C, though if you want you may cast anything to anything else.

Other than that, yeah, it is not the best most well designed language, but most of them are not; even so, it is the best tool to use for some jobs and so it is still useful and a hell of a lot better than writing in assembly directly.

Name: Anonymous 2008-06-03 21:37

>>56
a hell of a lot better than writing in assembly directly.
I wasn't aware that this was my only other choice.

Name: Anonymous 2008-06-03 22:50

>>55,56
Objective-C is by far the best OO superset of C. It's clean, simple, easy to understand, and way more flexible and expressive than C++ (and Java, for that matter) will ever be. And it has pointers. And semi-automatic memory management. However, its kind of dynamic dispatch (the same as Python's, Ruby's, Smalltalk's, etc.) is considerably slower than C++'s kind (the same as Java's, C#'s, Object Pascal's, etc.).

Name: Anonymous 2008-06-04 0:17

However, its kind of dynamic dispatch (the same as Python's, Ruby's, Smalltalk's, etc.) is considerably slower than C++'s kind (the same as Java's, C#'s, Object Pascal's, etc.).
that sounds like a problem with specific implementations, not the language itself.
unless there's only one implementation of the language. if so then that's a problem with the language.

Name: Anonymous 2008-06-04 0:24

>>59
It's a problem inherent to the language. It can only be implemented that way.

Name: Anonymous 2008-06-04 0:25

How funny that the below would be written just in time for this discussion.

http://www.yosefk.com/blog/oo-c-is-passable.html

Name: Anonymous 2008-06-04 0:27

>>60
It can only be implemented that way.
That's not correct. I would bet good money that it's possible to fix this up either in the compiler or at run-time.

Name: Anonymous 2008-06-04 7:48

>>54
We're all EXPERT programmers here who have read SICP. We can learn any language on our own in a couple of days.

If you really want to just start learning C++ on your own. If you have any questions you can always ask on /prog/ and the helpful /prog/community will surely answer all your questions.

Name: Anonymous 2008-06-04 10:40

>>62
Not really. Objective-C's dynamic dispatch allows any method to be called on any object at runtime, just like in any dynamic language. C++'s dynamic dispatch restricts wich methods can be called on a object based on the type of the variable that holds the object. If you were to give Objective-C C++'s brew of dynamic dispatch, you would end up turning Objective-C into C++. And that would suck royally.

Name: Anonymous 2008-06-04 10:50

>>63
I will, along with my job.

Name: Anonymous 2008-06-04 16:00

>>64
Yes, really. It's possible to leave this feature in the language from the programmer's point of view but optimize around it most of the time. For example, in a loop a variable's type may be likely not to change. In that instance you can inline the method, reducing the performance hit to a safety check to confirm that object's type (which may be as simple as inspecting your reference to the actual data -- no need to dereference a pointer and load it into memory). This can be applied in other situations as well, and I'm sure there are other techniques I'm forgetting/which haven't been invented yet.

Name: Anonymous 2008-06-04 16:16

C++ is a bunch of confusing bullshit that nobody needs.

Name: Anonymous 2008-06-04 16:40

>>61
um, can anybody say Amiga from 1985?  They did a ton of OO features in plain C all through the OS and public APIs, and I suspect they weren't the first.

>>67
EXPERT PROGRAMMERS are not confused by C++, even if it is not their first choice of languages. faggot

Name: Anonymous 2008-06-04 17:25

Make a Half-Life 2 mod. Also, get some good book on C++ that you can use as a reference. Hack a lot.

Name: Anonymous 2008-06-04 17:48

>>66
That particular optimization, along with method caching and maybe others I don't know about, is already part of the implementation. Resulting programs are still slower than C++ equivalents (though they are never really equivalent, due to not being as dynamic).

Name: Anonymous 2008-06-04 18:33

>>70
Source? And just how much slower?

Name: Anonymous 2008-06-04 18:42

C++ is fucking messy and outdated.  I think it is a fine language though for a lot of reasons.  At the same time there are some languages anyone would prefer to work in.  I think F# offers a lot of options to any programming project.  The language really takes a backseat to the programmer and allows you to dictate which tool for the job more so than in C++ or some other languages (java/c# etc).

F# is my true love at the moment, although I don't mind sleeping around.

Name: Anonymous 2008-06-04 19:00

>>63
Well, I would like to learn C++, but I'm open to suggestions for any other language. And does "SICP" really help with anything? Or is that just a /prog/ meme?

Name: Anonymous 2008-06-04 19:02

>>73
Both.

Name: Anonymous 2008-06-04 19:03

>>71
http://shootout.alioth.debian.org/debian/benchmark.php?test=all&lang=objc&lang2=java

It's not much but will give you an idea. Notice that in the benchmarks where the Objective-C programs make significant use of method calling (namely binary-trees and spectral-norm) those programs are at least 2 times slower than the corresponding Java programs.

Name: Anonymous 2008-06-04 20:37

I am about to learn C++, and I found the book "Beginning C++ Game Programming" from 2004 to be very helpfull. It teaches you C++ from the scratch, with a cool game-angle on it.
Very well-written and fun to read/learn.

Name: Anonymous 2008-06-04 20:48

>>57
For the things that C and C++ are really the Right Tool For The Jobtm, such as low resource environments (embedded systems, etc) or truly real time applications (of which there are very few, and your program that sorts your music collection is not one of them, but medical equipment requiring real time response is)...  then generally assembly is your only other resource to get that close to the machine and if you think Sepples is a lot of pointless work to get something done you haven't written an entire program in assembly lately.

tldr; well it is!

Name: Anonymous 2008-06-04 20:50

>>77
C++ is not the right tool for those jobs.
C++ is to C as PHP is to Perl.

Name: Anonymous 2008-06-04 21:10

>>78
That made no sense.  You're thinking of Pascal.

Name: Anonymous 2008-06-04 21:21

>>79
It makes sense to me, man.

>>77
Wrong, you should use C everywhere and forget about higher level languages. Assembly breaks portability, don't use it unless you are a huge faggot with a lot of time.

>>76
Just use fucking SDL instead of DirectX. Also, lol at abstraction layers selling themselves as direct hardware access

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List