Author Topic: C++ , likes/dislikes?  (Read 8733 times)

0 Members and 1 Guest are viewing this topic.

Offline deadly7

  • 42
  • x86
  • Hero Member
  • *****
  • Posts: 6496
    • View Profile
C++ , likes/dislikes?
« on: September 18, 2005, 12:32:34 pm »
I bought a ~600 page book yesterday from my library for 25 cents that's supposed to help teach you C++, so I was wondering before I even started:

What are some likes and dislikes from the people that code it?
Should I learn another programming language before jumping into this one?
What's a good compiler I can use on a WinXP box?

For those wondering what the book is:
C Primer Plus, THird Edition by Stephen Prata (SAMS Publishing) copyright 1999
[17:42:21.609] <Ergot> Kutsuju you're girlfrieds pussy must be a 403 error for you
 [17:42:25.585] <Ergot> FORBIDDEN

on IRC playing T&T++
<iago> He is unarmed
<Hitmen> he has no arms?!

on AIM with a drunk mythix:
(00:50:05) Mythix: Deadly
(00:50:11) Mythix: I'm going to fuck that red dot out of your head.
(00:50:15) Mythix: with my nine

Offline rabbit

  • x86
  • Hero Member
  • *****
  • Posts: 8092
  • I speak for the entire clan (except Joe)
    • View Profile
Re: C++ , likes/dislikes?
« Reply #1 on: September 18, 2005, 01:02:18 pm »
I dislike MSVCC.  The port of GNU MingW+MSYS for Win32 is an awesome compiler, which can be extended to compile C++, Java, and Assembly (it comes with C compiling).  I really like it.

One thing I dislike about C++ (mostly due to learning VB6 first), is that I can't use a globally accessible variable (IE: class main has a value, but I need to pass an instance of main to every other class so that I can access 1 variable).  It's very annoying, but I've gotten somewhat used to it.

Offline Joe

  • B&
  • Moderator
  • Hero Member
  • *****
  • Posts: 10319
  • In Soviet Russia, text read you!
    • View Profile
    • Github
Re: C++ , likes/dislikes?
« Reply #2 on: September 18, 2005, 01:06:56 pm »
Quote
What are some likes and dislikes from the people that code it?
Likes:
- Fast and small binary files
Dislikes:
- After learning VB, this is hard++.

Quote
Should I learn another programming language before jumping into this one?
I think Java is a lot easier than C++, yet uses the same basic syntax, so you should probably learn a bit of that first.

Quote
What's a good compiler I can use on a WinXP box?
I settle for MSVC++.
I'd personally do as Joe suggests

You might be right about that, Joe.


Offline MyndFyre

  • Boticulator Extraordinaire
  • x86
  • Hero Member
  • *****
  • Posts: 4540
  • The wait is over.
    • View Profile
    • JinxBot :: the evolution in boticulation
Re: C++ , likes/dislikes?
« Reply #3 on: September 18, 2005, 03:38:17 pm »
Sounds like you got a C book instead of a C++ book.  :P

Anyway, I like it in general, although I find that it's generally cumbersome to use for things more than just trivial programs, but this is probably just because I haven't worked at learning it as well as I should.

I don't know the difference between the compilers, but I generally like the MSVC 2003 IDE.  It's not QUITE as clunky as the VC6 IDE, although still not nearly as intuitive as VC# or VB.NET (I don't really understand why, either, given that they use the same IDE).

I have a programming folder, and I have nothing of value there

Running with Code has a new home!

Our species really annoys me.

Offline Sidoh

  • x86
  • Hero Member
  • *****
  • Posts: 17634
  • MHNATY ~~~~~
    • View Profile
    • sidoh
Re: C++ , likes/dislikes?
« Reply #4 on: September 18, 2005, 04:07:23 pm »
Meh.  I don't use C++ much any more, but I liked it when I did.  It was the first language I learned (or started learning, anyway).  I used Borland C++, which actually seemed to work pretty well.

Offline Quik

  • Webmaster Guy
  • x86
  • Hero Member
  • *****
  • Posts: 3262
  • \x51 \x75 \x69 \x6B \x5B \x78 \x38 \x36 \x5D
    • View Profile
Re: C++ , likes/dislikes?
« Reply #5 on: September 18, 2005, 04:10:05 pm »
Quincy uses mingw and works quite well for a lightweight C/++ tool on WinXP. It will need a little more intuitivity, though.
Quote
[20:21:13] xar: i was just thinking about the time iago came over here and we made this huge bomb and light up the sky for 6 min
[20:21:15] xar: that was funny

Offline Sidoh

  • x86
  • Hero Member
  • *****
  • Posts: 17634
  • MHNATY ~~~~~
    • View Profile
    • sidoh
Re: C++ , likes/dislikes?
« Reply #6 on: September 18, 2005, 04:20:58 pm »
Quincy uses mingw and works quite well for a lightweight C/++ tool on WinXP. It will need a little more intuitivity, though.

Intuitivity?  I don't think that's a word.  :p

Offline iago

  • Leader
  • Administrator
  • Hero Member
  • *****
  • Posts: 17914
  • Fnord.
    • View Profile
    • SkullSecurity
Re: C++ , likes/dislikes?
« Reply #7 on: September 18, 2005, 05:17:44 pm »
I dislike MSVCC.  The port of GNU MingW+MSYS for Win32 is an awesome compiler, which can be extended to compile C++, Java, and Assembly (it comes with C compiling).  I really like it.

One thing I dislike about C++ (mostly due to learning VB6 first), is that I can't use a globally accessible variable (IE: class main has a value, but I need to pass an instance of main to every other class so that I can access 1 variable).  It's very annoying, but I've gotten somewhat used to it.
You're talking about a "static" variable. 

Code: [Select]
class A
{
public:
  static int a = 3;
};

...........
A.a = 5; // no instance of A! Just the class itself!

I don't think that'll compile, since I seem to remember that C++ has something stupid about static variables, but yeah. 

Anyway, is the book on C or C++?

C is invaluable to learn.  Once you know C, any other language is fairly easy.  If you ever plan to do anything low-level, like hardware programming or even game hacks, you're going to be doing it in C.  C has been around for 25 years, and isn't going anywhere. 

I love how C code looks.  It's nice code, if you know it well you can do anything.  You can even do object oriented-style programming in C, and I like doing it in C a lot better than C++.


C++, I don't like.  It's shambled together on top of C, and makes thing more complicated.  In trying to maintain their reverse compatibility with C, they added a lot of kludges and workarounds that make code really ugly (like static class variables have to be initialized outside of the class, or something like that).  C++ code tends to be much more mangled and ugly than the equivalent C code.  I very much dislike C++.  If I intend to do something object-oriented, I use Java.  Java wasn't trying to maintain reverse compatibility, so it's a lot nicer. 

It's like comparing IA-64 assembly to HP-Tru64.  HP-Tru64 was designed and built to be 64-bit.  So it's faster and cleaner.  IA-64, on the other hand, maintains reverse compatibility with 32-bit and 16-bit, and, as such, is pretty ugly. 




Offline Quik

  • Webmaster Guy
  • x86
  • Hero Member
  • *****
  • Posts: 3262
  • \x51 \x75 \x69 \x6B \x5B \x78 \x38 \x36 \x5D
    • View Profile
Re: C++ , likes/dislikes?
« Reply #8 on: September 18, 2005, 05:38:57 pm »
Quincy uses mingw and works quite well for a lightweight C/++ tool on WinXP. It will need a little more intuitivity, though.

Intuitivity? I don't think that's a word. :p

Then I made it up, from the root 'intuitive'. Same difference.
Quote
[20:21:13] xar: i was just thinking about the time iago came over here and we made this huge bomb and light up the sky for 6 min
[20:21:15] xar: that was funny

Offline deadly7

  • 42
  • x86
  • Hero Member
  • *****
  • Posts: 6496
    • View Profile
Re: C++ , likes/dislikes?
« Reply #9 on: September 18, 2005, 05:51:38 pm »
The book is on C, my bad. I thought it was C++.
[17:42:21.609] <Ergot> Kutsuju you're girlfrieds pussy must be a 403 error for you
 [17:42:25.585] <Ergot> FORBIDDEN

on IRC playing T&T++
<iago> He is unarmed
<Hitmen> he has no arms?!

on AIM with a drunk mythix:
(00:50:05) Mythix: Deadly
(00:50:11) Mythix: I'm going to fuck that red dot out of your head.
(00:50:15) Mythix: with my nine

Offline rabbit

  • x86
  • Hero Member
  • *****
  • Posts: 8092
  • I speak for the entire clan (except Joe)
    • View Profile
Re: C++ , likes/dislikes?
« Reply #10 on: September 18, 2005, 06:18:05 pm »
C++ really doesn't add too much to C, and since you're starting out the only thing you'll probably miss will be that C doesn't have classes.

Offline iago

  • Leader
  • Administrator
  • Hero Member
  • *****
  • Posts: 17914
  • Fnord.
    • View Profile
    • SkullSecurity
Re: C++ , likes/dislikes?
« Reply #11 on: September 18, 2005, 06:21:19 pm »
The book is on C, my bad. I thought it was C++.

Then I recommend learning it. 

A good compiler is gcc, which is cross-platform. On Windows, it comes with Dev-C++ (www.bloodshed.net). 

You can also get a Unix-style compatibility layer, which will let you have access to Unix libraries and stuff, but apparently it's a pain to install. It's called cygwin.  Google to find it. 

Offline rabbit

  • x86
  • Hero Member
  • *****
  • Posts: 8092
  • I speak for the entire clan (except Joe)
    • View Profile
Re: C++ , likes/dislikes?
« Reply #12 on: September 18, 2005, 06:30:34 pm »
The book is on C, my bad. I thought it was C++.

Then I recommend learning it. 

A good compiler is gcc, which is cross-platform. On Windows, it comes with Dev-C++ (www.bloodshed.net). 

You can also get a Unix-style compatibility layer, which will let you have access to Unix libraries and stuff, but apparently it's a pain to install. It's called cygwin.  Google to find it. 

I said gcc!  It's part of the MinGW/MSYS package.  I tried installing cygwin last year, and "pain" isn't a strong enough adjective.

Offline Blaze

  • x86
  • Hero Member
  • *****
  • Posts: 7136
  • Canadian
    • View Profile
    • Maide
Re: C++ , likes/dislikes?
« Reply #13 on: September 18, 2005, 06:53:53 pm »
I tried installing cygwin last year, and "pain" isn't a strong enough adjective.

I didn't have any problems installing cygwin, other then taking FOREVER to download. :P

Need help, message me. :P
And like a fool I believed myself, and thought I was somebody else...

Offline deadly7

  • 42
  • x86
  • Hero Member
  • *****
  • Posts: 6496
    • View Profile
Re: C++ , likes/dislikes?
« Reply #14 on: September 19, 2005, 06:12:04 pm »
Ok, so what's a good compiler for C? I got some for C++ that I googled, but they were for C++..
[17:42:21.609] <Ergot> Kutsuju you're girlfrieds pussy must be a 403 error for you
 [17:42:25.585] <Ergot> FORBIDDEN

on IRC playing T&T++
<iago> He is unarmed
<Hitmen> he has no arms?!

on AIM with a drunk mythix:
(00:50:05) Mythix: Deadly
(00:50:11) Mythix: I'm going to fuck that red dot out of your head.
(00:50:15) Mythix: with my nine

Offline iago

  • Leader
  • Administrator
  • Hero Member
  • *****
  • Posts: 17914
  • Fnord.
    • View Profile
    • SkullSecurity
Re: C++ , likes/dislikes?
« Reply #15 on: September 19, 2005, 06:57:39 pm »
gcc!

A C++ compiler can also compile C code. 

Offline MyndFyre

  • Boticulator Extraordinaire
  • x86
  • Hero Member
  • *****
  • Posts: 4540
  • The wait is over.
    • View Profile
    • JinxBot :: the evolution in boticulation
Re: C++ , likes/dislikes?
« Reply #16 on: September 19, 2005, 07:56:02 pm »
MSVC is free too :P  http://www.microsoft.com/downloads/details.aspx?FamilyID=272be09d-40bb-49fd-9cb0-4bfa122fa91b&DisplayLang=en

Incidentally, static variables work differently in C than C++.  Static variables in C still had scope, typically at function-level:

Code: [Select]
void doSomething(int a) {
  static int num;
  num += a; // probably will generate a compiler error, as num is unassigned.
}

In C++, "static" variables are supposed to belong to a class as opposed to an instance of the class (like in Java and C#).
I have a programming folder, and I have nothing of value there

Running with Code has a new home!

Our species really annoys me.

Offline iago

  • Leader
  • Administrator
  • Hero Member
  • *****
  • Posts: 17914
  • Fnord.
    • View Profile
    • SkullSecurity
Re: C++ , likes/dislikes?
« Reply #17 on: September 19, 2005, 08:03:35 pm »
MSVC is free too :P  http://www.microsoft.com/downloads/details.aspx?FamilyID=272be09d-40bb-49fd-9cb0-4bfa122fa91b&DisplayLang=en

Incidentally, static variables work differently in C than C++.  Static variables in C still had scope, typically at function-level:

Code: [Select]
void doSomething(int a) {
  static int num;
  num += a; // probably will generate a compiler error, as num is unassigned.
}

In C++, "static" variables are supposed to belong to a class as opposed to an instance of the class (like in Java and C#).

Yeah, the example I gave, and the one that RaBBiT wanted, was in a class.  So that's C++. 

Offline MyndFyre

  • Boticulator Extraordinaire
  • x86
  • Hero Member
  • *****
  • Posts: 4540
  • The wait is over.
    • View Profile
    • JinxBot :: the evolution in boticulation
Re: C++ , likes/dislikes?
« Reply #18 on: September 19, 2005, 08:07:59 pm »
It wouldn't make sense to make a globally-static variable outside of a function in C, because that was the beauty of static variables; they retained their value from one function call to the next.
I have a programming folder, and I have nothing of value there

Running with Code has a new home!

Our species really annoys me.

Offline Hauptmann Raub

  • Newbie
  • *
  • Posts: 21
  • I'm new here!
    • View Profile
Re: C++ , likes/dislikes?
« Reply #19 on: September 20, 2005, 06:14:16 pm »
I dislike MSVCC.  The port of GNU MingW+MSYS for Win32 is an awesome compiler, which can be extended to compile C++, Java, and Assembly (it comes with C compiling).  I really like it.

One thing I dislike about C++ (mostly due to learning VB6 first), is that I can't use a globally accessible variable (IE: class main has a value, but I need to pass an instance of main to every other class so that I can access 1 variable).  It's very annoying, but I've gotten somewhat used to it.
You're talking about a "static" variable. 

Code: [Select]
class A
{
public:
  static int a = 3;
};

...........
A.a = 5; // no instance of A! Just the class itself!

I don't think that'll compile, since I seem to remember that C++ has something stupid about static variables, but yeah. 

Anyway, is the book on C or C++?

C is invaluable to learn.  Once you know C, any other language is fairly easy.  If you ever plan to do anything low-level, like hardware programming or even game hacks, you're going to be doing it in C.  C has been around for 25 years, and isn't going anywhere. 

I love how C code looks.  It's nice code, if you know it well you can do anything.  You can even do object oriented-style programming in C, and I like doing it in C a lot better than C++.


C++, I don't like.  It's shambled together on top of C, and makes thing more complicated.  In trying to maintain their reverse compatibility with C, they added a lot of kludges and workarounds that make code really ugly (like static class variables have to be initialized outside of the class, or something like that).  C++ code tends to be much more mangled and ugly than the equivalent C code.  I very much dislike C++.  If I intend to do something object-oriented, I use Java.  Java wasn't trying to maintain reverse compatibility, so it's a lot nicer. 

It's like comparing IA-64 assembly to HP-Tru64.  HP-Tru64 was designed and built to be 64-bit.  So it's faster and cleaner.  IA-64, on the other hand, maintains reverse compatibility with 32-bit and 16-bit, and, as such, is pretty ugly. 




Anything other than static integral values need to be defined outside the class.

Offline Joe

  • B&
  • Moderator
  • Hero Member
  • *****
  • Posts: 10319
  • In Soviet Russia, text read you!
    • View Profile
    • Github
Re: C++ , likes/dislikes?
« Reply #20 on: September 20, 2005, 07:58:16 pm »
cpp (the GNU thing), MSVC++ 98 (talk to xar (IRC)), Bloodshed Dev-Cpp
I'd personally do as Joe suggests

You might be right about that, Joe.


Offline mfqr

  • Newbie
  • *
  • Posts: 25
  • I'm new here!
    • View Profile
Re: C++ , likes/dislikes?
« Reply #21 on: September 24, 2005, 03:46:24 am »
Quote
What are some likes and dislikes from the people that code it?
Likes:
- Fast and small binary files
Dislikes:
- After learning VB, this is hard++.

Quote
Should I learn another programming language before jumping into this one?
I think Java is a lot easier than C++, yet uses the same basic syntax, so you should probably learn a bit of that first.

Quote
What's a good compiler I can use on a WinXP box?
I settle for MSVC++.

yeah from what I've read, cpp is fast, but cant the binaries sometimes get really big too? I guess i'm sort of comparing this to asm. is it true that some asm binaries can be down to bytes even? like 25 bytes?

Offline MyndFyre

  • Boticulator Extraordinaire
  • x86
  • Hero Member
  • *****
  • Posts: 4540
  • The wait is over.
    • View Profile
    • JinxBot :: the evolution in boticulation
Re: C++ , likes/dislikes?
« Reply #22 on: September 24, 2005, 04:57:41 am »
Yeah that's true, but rarely will a system load a code-only binary except at boot time (files such as ntldr are code-only).  They're hard to trust, and the extra information helps to keep the system safe.
I have a programming folder, and I have nothing of value there

Running with Code has a new home!

Our species really annoys me.

Offline iago

  • Leader
  • Administrator
  • Hero Member
  • *****
  • Posts: 17914
  • Fnord.
    • View Profile
    • SkullSecurity
Re: C++ , likes/dislikes?
« Reply #23 on: September 24, 2005, 11:54:54 am »
Sure, an assembly file can be 25 bytes, but it's useless. 

Any program (assembly or c++) has to call library functions to be useful.  Often, the libraries are included in the executable, which makes it pretty big.