Welcome Guest.   Make a donation to an author on the site October 23, 2014, 10:52:28 AM  *

Please login or register.
Or did you miss your validation email?


Login with username and password (forgot your password?)
Why not become a lifetime supporting member of the site with a one-time donation of any amount? Your donation entitles you to a ton of additional benefits, including access to exclusive discounts and downloads, the ability to enter monthly free software drawings, and a single non-expiring license key for all of our programs.


You must sign up here before you can post and access some areas of the site. Registration is totally free and confidential.
 
View the new Member Awards and Badges page.
   
   Forum Home   Thread Marks Chat! Downloads Search Login Register  
Pages: [1] 2 Next   Go Down
  Reply  |  New Topic  |  Print  
Author Topic: Best way to start learning C++?  (Read 15415 times)
wreckedcarzz
Charter Member
***
Posts: 1,620



Happy wolfie ^_^

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« on: October 11, 2007, 06:43:22 PM »

Hello all,

Trying to get a basic understanding of the C++ (or C in general) programming language, and have read a couple tuts, but I am kinda lost. Does anyone have any tips on getting a basic "program" made, or links to tutorials that might be helpful? I can already make extremely basic "programs" but I am looking for a more solidified basis to work with before getting into (anything) complicated.

Ideas? Help? Links? read
-Brandon
Logged

New website! With a fancy domain name and everything! *gasp*
http://www.wreckedcarzz.com/
Ehtyar
Supporting Member
**
Posts: 1,236



That News Guy

see users location on a map View Profile Read user's biography. Give some DonationCredits to this forum member
« Reply #1 on: October 11, 2007, 06:52:02 PM »

I suppose my first question is what kind of C++ do you wish to learn (winapi, linux api, stdlib etc). Also which compiler are you using, and also how high level do you want to go (api only, classes, frameworks like mfc, .net, wx etc)? Also, do you learn best by example or by reading?

Ehtyar.
Logged
wreckedcarzz
Charter Member
***
Posts: 1,620



Happy wolfie ^_^

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #2 on: October 11, 2007, 06:54:58 PM »

Windows (Linux/Unix in the future possibly) and I am using the Dev-C++ compiler, and most likely .NET due to it being (as I have heard) the easiest to work with.

A little reading, a little off-on-my-own, a little reading to fix the 5 problems tongue is how I learn.
Logged

New website! With a fancy domain name and everything! *gasp*
http://www.wreckedcarzz.com/
Ehtyar
Supporting Member
**
Posts: 1,236



That News Guy

see users location on a map View Profile Read user's biography. Give some DonationCredits to this forum member
« Reply #3 on: October 11, 2007, 07:09:16 PM »

OK first you'll need to decide how much you want to leave yourself open to linux/unix in the future as this will significantly effect the way you code and what you use to do it. Secondly, Dev-C++ is not a compiler, but an IDE (a common mistake don't worry smiley) which happens to come with the MingW Compiler. MingW I'm afraid is not capable of supporting .net, but from the way you spoke about .net in your post, I'm assuming you meant you would code in a dedicated .net languages as opposed to C++.net (please confirm either way). I am personally not a fan of MingW for various reasons, but this is as far as i will go in mentioning it, as there is next to no free alternative unless you're happy in plain C. This should about do it for answering questions, and we should be able to start pointing you to places now.

Ehtyar.
Logged
Deozaan
Charter Member
***
Posts: 6,418



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #4 on: October 11, 2007, 07:15:42 PM »

as there is next to no free alternative

What about Microsoft Visual Studio 2005 Express? That's free. It's C++.
Logged

tinjaw
Supporting Member
**
Posts: 1,926



I'm so glad breakbeat techno isn't an illegal drug

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #5 on: October 11, 2007, 07:17:02 PM »

I feel the need to add that regardless of which method you choose to learn, start work on a project that *you want to build*. The project will motivate you to learn without making it feel like you are learning. Just learning to learn, is sometimes hard. Practice exercises aren't always interesting. If you have a pet project you will want to work on it and the learning will come naturally.
Logged

 
Ehtyar
Supporting Member
**
Posts: 1,236



That News Guy

see users location on a map View Profile Read user's biography. Give some DonationCredits to this forum member
« Reply #6 on: October 11, 2007, 07:25:11 PM »

As are the new borland turbo products. I apologize I don't know what I was thinking. I am uncertain what the license of visual sudio express is like, but i would recommend borland only a hair above MingW due to the apparently lack of....well....anything from borland in regards to upgrades/support/standards compliance/code generation. I would highly recommend visual studio however (or at least the compiler) as it kicks he pants off of EVERYTHING else with features, code generation and standards compliance (i know, sounds rediculous right?).

Ehtyar.
Logged
Ehtyar
Supporting Member
**
Posts: 1,236



That News Guy

see users location on a map View Profile Read user's biography. Give some DonationCredits to this forum member
« Reply #7 on: October 11, 2007, 07:27:44 PM »

I feel the need to add that regardless of which method you choose to learn, start work on a project that *you want to build*. The project will motivate you to learn without making it feel like you are learning. Just learning to learn, is sometimes hard. Practice exercises aren't always interesting. If you have a pet project you will want to work on it and the learning will come naturally.
Took my first piece of advice right out of my mouth, and i could not have said it better, nor could i emphasize tin man's point more. This is how most people learn to code, because your motivation tends to push you just that bit further than you would ordinarily bother, which is usually all you need. Best piece of advice for any budding software developer.

Ehtyar.
Logged
mouser
First Author
Administrator
*****
Posts: 33,580



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #8 on: October 11, 2007, 07:30:50 PM »

Buy a book.
Logged
Ehtyar
Supporting Member
**
Posts: 1,236



That News Guy

see users location on a map View Profile Read user's biography. Give some DonationCredits to this forum member
« Reply #9 on: October 11, 2007, 07:39:53 PM »

There is nothing i can say to that..... tongue

Ehtyar.
Logged
mouser
First Author
Administrator
*****
Posts: 33,580



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #10 on: October 11, 2007, 07:42:53 PM »

Well i usually write a long expository piece on finding a project to motivate you, etc., but for me the idea of learning a language without using a book just seems insane.  A good book is a good friend.
Logged
wreckedcarzz
Charter Member
***
Posts: 1,620



Happy wolfie ^_^

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #11 on: October 11, 2007, 07:53:04 PM »

as there is next to no free alternative

What about Microsoft Visual Studio 2005 Express? That's free. It's C++.

I just downloaded that (am getting ready to install the service packs now), it looks good but it IS Microsoft Grin

I feel the need to add that regardless of which method you choose to learn, start work on a project that *you want to build*. The project will motivate you to learn without making it feel like you are learning. Just learning to learn, is sometimes hard. Practice exercises aren't always interesting. If you have a pet project you will want to work on it and the learning will come naturally.

That is the main reason I am working at this smiley

Buy a book.


Might do that, there is a college just down the road that teaches computer programming, and my dad gets dicounts at the library... undecided
Logged

New website! With a fancy domain name and everything! *gasp*
http://www.wreckedcarzz.com/
app103
That scary taskbar girl
Global Moderator
*****
Posts: 5,275



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #12 on: October 11, 2007, 08:16:46 PM »

Practice exercises aren't always interesting. If you have a pet project you will want to work on it and the learning will come naturally.

That is why I made this page: Stupid C Stuff
Logged

arunpawar
Participant
*
Posts: 60


View Profile Give some DonationCredits to this forum member
« Reply #13 on: October 26, 2007, 04:01:20 AM »

One of our member "Mahesh2k" has lot of Turbo c++ graphics programming and Dev-C++ IDE tutorials on his site you can try some of this from his site.
Take a look at http://onecore.net
Search thru entire of his site you'll come to lot of useful programming tutorials on this site.

If possible then try and get the Waite groups Object oriented programming using Turbo C++ by Robert lafore.It is easy to grasp book and u'll learn C++ in simple setps.If possible you can try other books that members suggest here.

Look at the source code of others read blogs related to C++ programming that is the only way you can learn much stuff about C++.


MS VC++ is certainly like hitting on the wall.You'll hit plenty deep on there.You can try Turbo C++ Explorer edition which is free and better than MS VC++.You'll be creating better programs both console and windows with this.Many developres start off with borland and later move onto other IDE or studio products.So try and learn from Turbo products or you can even learn Dev-C++.SkyIDE with Mingw setup can be used for learning.For Mingw installation refer onecore.net site it has tutorial on it.

MS VC is nonstandard it has its platform specific code in VC++.You'll learn many bad habits with MS softwares.That u'll not agree at the start.So if you're thinking to develop programs simply then try and learn from Turbo C++ 3.0 command line compiler itis easy to use and can be better option for beginers.


Hope this helps.
« Last Edit: October 26, 2007, 04:08:30 AM by arunpawar » Logged
f0dder
Charter Honorary Member
***
Posts: 8,774



[Well, THAT escalated quickly!]

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #14 on: October 26, 2007, 06:08:33 AM »

Quote from: arunpawar
MS VC++ is certainly like hitting on the wall.You'll hit plenty deep on there.You can try Turbo C++ Explorer edition which is free and better than MS VC++.
Define "better"?

Borland used to have some good development products back in the nineties, but the code
generation of their compilers isn't up to par (haven't been for a long time), their standard library isn't all too great, and last time I looked C++ standards compliance was somewhat behind as well.

Quote from: arunpawar
You'll be creating better programs both console and windows with this.
And why is that?

If you stick to standard C++ features, MSVC wins because of better code generation. If you start using frameworks, Borland has the incredibly bloated VCL - even MS's MFC is less bloated than that.

Quote from: arunpawar
MS VC is nonstandard it has its platform specific code in VC++.You'll learn many bad habits with MS softwares.That u'll not agree at the start.So if you're thinking to develop programs simply then try and learn from Turbo C++ 3.0 command line compiler itis easy to use and can be better option for beginers.
You say MSVC is nonstandard and then goes on to say Borland isn't? And then especially mention TC3? Heh.

MSVC has a bunch of extensions, but nobody forces you to use them. TC3 has a lot of non-standard stuff, and back in the days lots of people used that non-standard stuff.

Stay away from the inferior borland products, especially the legacy DOS stuff like TC3. Go with MSVC or GCC or even DigitalMars (or OpenWatcom if you don't need C++). Learn the base language before dipping into GUIs and platform specific code.
Logged

- carpe noctem
mahesh2k
Supporting Member
**
Posts: 1,408



see users location on a map View Profile WWW Give some DonationCredits to this forum member
« Reply #15 on: October 27, 2007, 04:20:46 AM »

Agree with fodder.

 smiley
Arun Borland is good for starters.But If your programming for windows only then it doesn't matter wheather u use Borland or MSVC as starting tool.But it matters if you are thinking for cross platform coding even befire learning the langauge which is absurd thinking.At that point learn C++ then go with wxwidgets or FLTK or EFLTK or GTK.

MSVC is good,it has express version with which you possibly can create commercial software like you can do with Turbo explorer.If you're recomnding TC explorer for beginer then it is quite good but the TC 3 outdated and not suitable for beginners anymore.Though it is used extensively i country like india,china,pakistan.Again,point is  VCL is bloated so better to go with MSVC express 2005 instead of TC3.

My advice :
Get good book like : Robert lafore or Even some online tutorials.
Use better compiler with Good IDE.DeevC++ is fine for starters.
Don't jump to GUI until you are comfortable with foundation concepts of OOP and other.

Hope it helps.


Logged
hamradio
Charter Honorary Member
***
Posts: 588



Amateur Radio Guy

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #16 on: October 27, 2007, 04:22:58 PM »

The C++ version of Turbo Explorer is Turbo C++ 2006. What is TC3? The older version?...Hmmm...


Edit by hamradio:

In the about box of my Turbo C++ it shows...

"Borland® C++Builder® for Microsoft® Windows™ Version 10.0.2288.42451 Update 2 Copyright © 2005 Borland® Software Corporation. All Rights Reserved."
« Last Edit: October 27, 2007, 04:27:29 PM by hamradio » Logged

Carroll - HamRadioUSA
mouser
First Author
Administrator
*****
Posts: 33,580



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #17 on: October 27, 2007, 04:30:28 PM »

I happen to love Borland's C++ Builder, which now goes by the name CodeGear's Turbo C++ (confusing history of name changes) which is basically C++ with a layer of GUI components that make it an extremely enjoyable way to build very substantial windows applications.

The one thing that was mentioned above and needs to be emphasizes is that this visual component system is a windows-only solution.  Which is a terrible shame and should give you pause before learning it.  wxWidgets and Qt are the cross-platform equivelent, although i don't find them nearly as enjoyable to use, nor are comprehensive.

I'm not sure i would recommend any of these to a new learner -- better to focus on the core C++ language and now mess with any of these GUI libraries are first.
Logged
f0dder
Charter Honorary Member
***
Posts: 8,774



[Well, THAT escalated quickly!]

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #18 on: October 27, 2007, 06:32:11 PM »

TC3 is Turbo C++ 3, back from the 16bit DOS days. Decent product with good IDE back in those times, but almost useless today unless you have some very specific needs. Back then I preferred borland turbo pascal though, it was faster and it didn't matter it generated worse code, you needed assembly for anything speed sensitive anyway Wink

mouser: Delphi and BCB/CGTC++ are indeed pretty nifty for glueing GUIs together quickly, Borland did succeed in Rapid Gui Design (I don't want to call it Rapid Application Design, even though components can be more than just GUI elements).

But if you take away the VCL (Visual Component Library, the GUI component library, for those that aren't familiar with Delphi and BCB), not many advantages are left - and the VCL isn't something you want to start with if your goal is to learn the C++ language and become proficient in it. I dunno if VCL can even be used with other C++ compilers than Borland's?
Logged

- carpe noctem
mouser
First Author
Administrator
*****
Posts: 33,580



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #19 on: October 27, 2007, 06:42:04 PM »

Quote
But if you take away the VCL (Visual Component Library, the GUI component library, for those that aren't familiar with Delphi and BCB), not many advantages are left - and the VCL isn't something you want to start with if your goal is to learn the C++ language and become proficient in it.


agreed 100%.

Quote
I dunno if VCL can even be used with other C++ compilers than Borland's?
nope.  and this is a real downside to using it.
Logged
f0dder
Charter Honorary Member
***
Posts: 8,774



[Well, THAT escalated quickly!]

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #20 on: October 27, 2007, 06:52:22 PM »

Dunno if MFC can be used with other compilers than Microsoft, btw, and I'm not sure about WTL/ATL either (but at least there you get the full source, so you aren't screwed wrt. license and no-source libraries).

So... learn the language without focusing too much on GUIs, then consider if you want vendor lock-in or a bit more complication and even more code bloat, but portable apps with a 3rd-party widget toolkit. Yeah, I know, clicking buttons is more fun and more awarding than the console, but you learn more the other way.

I also do agree that once you're beyond the basics + a bit more, you need to work on a project the interests you.
Logged

- carpe noctem
superboyac
Charter Member
***
Posts: 5,702


Is your software in my list?

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #21 on: December 28, 2007, 06:01:58 PM »

Buy a book.

Which book shall I get?  I'm trying to learn C++ in the way they use it at financial institutions for statistics and analysis.  I'm trying to get into a master's program and knowing C++ would help, so that's the application for me.  It's called finance engineering.  I'm not sure if you guys know how they use C++.  I'll try to find out more about it and post later, but if you have any ideas, please let me know.
Logged

tinjaw
Supporting Member
**
Posts: 1,926



I'm so glad breakbeat techno isn't an illegal drug

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #22 on: December 28, 2007, 08:30:25 PM »

superboyac,

The world of financial software isn't dominated by any particular language. The low-level control C++ provides is not a requirement like it is for 3D games. Much of it is also written in Java. However, that also means that you don't need to learn anything special or do anything differently. A standard course of study in C++ should suit you just fine. Just don't get distracted by flashy graphics or physics, etc. Just learn solid programming skills.
Logged

 
superboyac
Charter Member
***
Posts: 5,702


Is your software in my list?

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #23 on: December 29, 2007, 11:28:10 AM »

superboyac,

The world of financial software isn't dominated by any particular language. The low-level control C++ provides is not a requirement like it is for 3D games. Much of it is also written in Java. However, that also means that you don't need to learn anything special or do anything differently. A standard course of study in C++ should suit you just fine. Just don't get distracted by flashy graphics or physics, etc. Just learn solid programming skills.
Well, just to clarify, I just want to familiarize with the language.  I'm not trying to actually do any functional programming.  I just don't want to be rejected from the program because a lack of programming skills.  Most people in the field say it's best to know the C++ language in general.
Logged

nosh
Supporting Member
**
Posts: 1,388


View Profile Give some DonationCredits to this forum member
« Reply #24 on: December 29, 2007, 02:59:27 PM »

I learnt C reading Herb Schildt's "Turbo C/C++ - The complete reference" and loved every minute of it. I know he gets slammed badly in a lot of programming circles and I really don't know how much sense it makes to fire up a 16 bit compiler to learn programming today... so yeah, I'm absolutely no help. smiley
But Schildt was a really good read, fun to go through - can't say that for most other programming books I've [attempted to] read.
Logged
Pages: [1] 2 Next   Go Up
  Reply  |  New Topic  |  Print  
 
Jump to:  
   Forum Home   Thread Marks Chat! Downloads Search Login Register  

DonationCoder.com | About Us
DonationCoder.com Forum | Powered by SMF
[ Page time: 0.066s | Server load: 0.06 ]