topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Saturday December 14, 2024, 8:34 pm
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: where to start learning to program in c++  (Read 14851 times)

dtrud0h

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 55
    • View Profile
    • Rant-Zone
    • Donate to Member
where to start learning to program in c++
« on: May 19, 2005, 05:37 AM »
Hey Mouser, and others.
  If you could recommmend only one text, or book for someone with absolutely zero c, or c++ knowledge to read as their first venture into programming (in my case besides "introduction to basic" which I took 25 years ago in High school.) what would it be.  Also would that be a good place to start?  I know that python and delphi have been mentioned as easier languages to learn, but for me, (I'll probably only learn 1 or 2 languages before I die if I start now,) so from a functionality and compatibility stand point what languages do you see sticking around for a while and staying competitive for the forseeable future?

EDIT:  I probably should have put this in the "Teach Yourself C" Main forum instead of a reply,  feel free to move it, I couldn't figure out how.
<- I have nothing witty to put here ->
« Last Edit: May 19, 2005, 05:40 AM by dtrud0h »

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: where to start learning
« Reply #1 on: May 19, 2005, 06:07 AM »
c++ is one of the harder languages to learn, because it has so many oddities that come from its long history and need for backward compatibility.

i have a real love/hate relationship with c++.  it is my primary language and has been so for over 20 years.
but i am increasingly skeptical of its longevity and the current modern languages are moving in a better direction imho in terms of consistency,etc.
though i must say i haven't found a language yet that i am willing to switch over to full time.

i like a lot of the ideas of c# and i think that might be a reasonable choice for someone interesting in learning; so would java. python as well.  perl i would avoid - it's very powerful but for learning i think it teaches the wrong sloppy things.

my advice to people who are trying to learn is somewhat non-standard. i have always found that for new learners, staying motivated and staying the course can be the hardest part.

so my usual suggestion is take a take when you have some time and find yourself a bookstore, and browse.  go through books until you find one that really speaks to your style of learning.  at least for your first jump into the subject, i think finding a book that speaks to you may be the most important.  It's very hard to find book reviews for newbie programmers, because those who review programming books are experts and they won't care about what you care about.

the current favorite c++ text book (and they make java and c# as well) is by Deitel and Deitel.
http://www.deitel.com/books/cpphtp5/

these are big comprehensive good books, but im not sure they will inspire you.

c++ is a hard language to learn and a harder language to master.  it has no build-in user interface or graphics or networking libraries, and it can be hard to add such things to your code, which makes it a very frustrating learning experience in the short term, expecially for windows users.

languages like c# and java are full serious languages like c++ but are a little more gentle and have user interface libraries integrated, which can give you a much more immediate sense of satisfaction..

the so-called scripting languages like python, lua, ruby, etc are even more immediate satisfaction types of languages.

again, you really can't go wrong with any of these, browse some books and see which one has some sample programs that excite you.

no matter what you choose, if you stick with it you will learn it.


mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: where to start learning
« Reply #2 on: May 19, 2005, 06:18 AM »



here's a bit of coder humour for you.

everytime i make a post somewhere saying how i have been using c++ for 20 years, i always get a quick message from jibz with something snarky like this:

[Jibz] hmm .. it continues to amaze me that you started with c++ before the first edition of The C++ programming Language was published
[Jibz] you were really up front back then

he never lets me get away with anything !

ive been programming in c and c++ for the last 20-25 years.  at what point i switched from c to c++ i can't remember, though it was probably sometime after the invention of c++.

btw i am an OOP (Object Oriented Programming) true believer - i think it's one of the greatest inventions of man, and will reshape the way your mind works for the better :)

Jibz

  • Developer
  • Joined in 2005
  • ***
  • Posts: 1,187
    • View Profile
    • Donate to Member
Re: where to start learning
« Reply #3 on: May 19, 2005, 06:39 AM »
dtrud0h,

I think what language to choose depends a lot on what you are going to be doing with it. No single language is great for everything, all have some places where they excel, and others where you have to struggle with them.

I know that's not much help, but I think you should start by finding out what you are going to program and on what platform(s). If you are going to be coding Windows GUI applications, then Delphi, VB, C#, C++ are probably all good choices.

mouser,

The first edition of The C++ Programming Language was from 1985, so from next year on I'll stop :mrgreen:.

chr15

  • Site Programmer
  • Developer
  • Joined in 2005
  • ***
  • Posts: 30
  • Everything in life is a gamble
    • View Profile
    • Donate to Member
Re: where to start learning
« Reply #4 on: May 19, 2005, 07:11 AM »

AT&T researcher Bjarne Stroustrup built the first version of C++ in 1983  ;)


Jibz

  • Developer
  • Joined in 2005
  • ***
  • Posts: 1,187
    • View Profile
    • Donate to Member
Re: where to start learning
« Reply #5 on: May 19, 2005, 07:37 AM »
http://en.wikipedia....s#History_of_C.2B.2B

http://www.research....s_faq.html#invention

I started work on what became C++ in 1979. The initial version was called "C with Classes". The first version of C++ was used internally in AT&T in August 1983. The name "C++" was used late that year. The first commercial implementation was released October 1985 at the same time as the publication of the 1st edition of The C++ Programming Language.
-Bjarne
« Last Edit: May 19, 2005, 07:41 AM by Jibz »

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: where to start learning
« Reply #6 on: May 20, 2005, 08:49 PM »
i was in the bookstore today and browsed through
C++ Primer 4th edition by Lippman et al.

http://www.amazon.co.../detail/-/0201721481

It seemed to my eyes to be a great book for learning c++,
much more inviting than the deitel book, at least at first glance.

Bitwise

  • Participant
  • Joined in 2005
  • *
  • default avatar
  • Posts: 17
    • View Profile
    • Donate to Member
Re: where to start learning
« Reply #7 on: May 21, 2005, 01:39 PM »
C++ ....aaarrrgggghhhhh.....!

This is one language I've never grown to love. I get the feeling that Stroustrup just doesn't know when to stop. It's like he keeps wanting to add more and more and more stuff into it. Far, far too much syntax for my liking. C# I'm happy with; Java I'm happy with (though I'm not wild on the class libraries); Object Pascal (Delphi or Chrome) I'm happy with; even VB .NET (though not VB 6 and earlier) I could live in peace with. But I must say that "happy" is not word that springs readily to mind when I have to code in C++   :(

all the best
Huw

Dragonrider

  • Columnist
  • Joined in 2005
  • ***
  • Posts: 40
    • View Profile
    • Donate to Member
Re: where to start learning
« Reply #8 on: May 21, 2005, 08:27 PM »
> Quote from: Bjarne
> I started work on what became C++ in 1979. The initial version was called "C with Classes". The first
> version of C++ was used internally in AT&T in August 1983. The name "C++" was used late that year. The first
> commercial implementation was released October 1985 at the same time as the publication of the 1st edition of
> The C++ Programming Language.


I worked for Bell Labs between 1980 - 1983 & used to have the 1st internal paper that Stroustrup wrote on "C with Classes".  And I thought it wouldn't be adopted by the C programming community so I threw it away.  1 never knows when 1 has a classic collectable on his hands.  ;)

Regards
Dragonrider

dtrud0h

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 55
    • View Profile
    • Rant-Zone
    • Donate to Member
Re: where to start learning
« Reply #9 on: May 21, 2005, 10:28 PM »
Well,
  Thank you all for your replies.  I guess I' m on the right path, I frequent the bookstores when I have time and hover in the programming section. I usually read through the first two chapters of a book each time I go and have found a few that seem like I could follow them through and get something out of them.  The biggest problem is trying to decide wether I want to program for linux, or windows.  I don't know if it matters from a choosing of the flavor standpoint but I'm seriously leaning toward linux solely because I think it is starting to get really close to becoming a viable contender for the average user to be able to handle.
 Secondly because When you download a FREE Distribution of almost any Linux it comes with what compares to about $7500 worth of editors, compilers and whatnot that I wouldn't have to buy to run on windows.
 
<- I have nothing witty to put here ->

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: where to start learning
« Reply #10 on: May 21, 2005, 11:07 PM »
linux has good java support if you want to do graphical user interface stuff on linux.
you could also try MONO for C# on linux.
and if you are not interest in graphics user interface stuff and just want to do commandline coding, then c++ is fine.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: where to start learning to program in c++
« Reply #11 on: August 11, 2005, 06:20 PM »
i revived this thread from our defunct programming section.