I just started c programming. I want to migrate to c++. I know a little
bit about class/inheritance.
I am asking for good books to read. Elementary will be good.
Thanks for any comments
Jan 9 '06
17 1898
I_got_questions ? wrote: I just started c programming. I want to migrate to c++. I know a little bit about class/inheritance. I am asking for good books to read. Elementary will be good.
Thanks for any comments
Hi
If I were you I would start with the books mentioned on http://www.rudbek.com/books.html
in that particular oder.
Thanks!! and have a nice day!!
Jaspreet
On 9 Jan 2006 14:52:21 -0800, "I_got_question s?"
<un************ @hotmail.com> wrote: I just started c programming. I want to migrate to c++. I know a little bit about class/inheritance. I am asking for good books to read. Elementary will be good.
Thanks for any comments
It's a bit old now, but if you want a book detailing excellent
software design, try Design Patterns by Erich Gamma et al.
It's not specific to C++ (but it does contain C++ code), but it's a
wonderful book about reusable design patterns and an example of how
you should be aiming to code.
Mike Wahler wrote:
[snip] If you want to learn C, learn C. If you want to learn C++, learn C++. If you want to learn both, learn both. Either one first. But trying to learn both simultaneously is imo a recipe for insanity. :-)
[snip]
Indeed! Learning two computer languages at once causes
me to have what I call "centipede problems." A parable:
A centipede was busily getting on with his centipede day.
An ant walking by looked at the centipede and remarked
"I don't see how you keep track of all those legs. I have
enough problems with just six."
The centipede thought for a moment, looked at the ant,
and was never able to walk again.
Socks
Jerry Coffin wrote: I don't think it's "necessary" to learn C first, but it would probably be optimum, since, for the most part, C is a subset of C++, and new concepts are usually better-learned in smaller chunks rather than larger chunks.
IMO, it's far from optimum. The problem is simple. what you learn at the very first with both languages (e.g. x=y+z;) is identical. Almost as soon as you move much beyond that, you have to learn _more_ with C than with C++ to really do much. E.g. to write even a trivial program to read in a text file, sort the lines, and print them back out, is considerably more work to do at all well with C than with C++.
For one thing you have to start dealing with pointers before you even
understand what they are. Some of your first programs are going to
have scanf("%d", &i) in them and then later will have something like
scanf("%s", st). I've always found that beginners are baffled by that
difference because pointers are just too much to start with so you
don't teach them, but they see the diff and want to know why...no good.
In C++ all that crap is still there but it is hidden from the user.
You can really put off pointers until they are ready for them...you
don't have to make them use them, say, "Trust me," and then tell them
why 2 months from now.
"Randy Yates" <ya***@ieee.org > skrev i meddelandet
news:1w******** **@ieee.org... "Mike Wahler" <mk******@mkwah ler.net> writes: [...] "I_got_question s?" <un************ @hotmail.com> wrote in message Thank you all for the suggestions. It is very helpful. I perhaps should know more about C programming before I move to C++. No. This is a very common misconception. No knowledge of one langauge is necessary in order to learn the other. (As a matter of fact it can sometimes be a hindrance).
Strange that anyone would say this, since the overlap between the two is large.
Most of C is present in C++, but it not used much. The C++ standard
library is much more powerful, so many old C relics can be forgotten.
You don't have to start by learning about strcat(), malloc(),
pointers, mysterious arrays that are sometimes like pointers, why you
use pointers as parameters, etc, etc. Not to mention format strings!
I don't think it's "necessary" to learn C first, but it would probably be optimum, since, for the most part, C is a subset of C++, and new concepts are usually better-learned in smaller chunks rather than larger chunks.
It's not optimum, as you will have to un-learn a lot (see above :-) to
write good C++. The low level stuff can be saved for later, not used
as in introduction.
If you haven't tried out "Accelerate d C++", you really should. Too me
it was quite amazing that C style arrays and pointers are put off
until chapter 10, where they are introduced as:
"An array is a kind of container, similar to vector but less powerful.
A pointer is a kind of random-access iterator that is essential for
accessing elements of arrays, and has other uses as well."
At this point the student already knows how to define his own classes
and write generic functions. Standard containers and iterators are
used to explain how pointers work!
The "other uses" for the pointer is really not explained much either,
because there is no good use for it! Instead the book goes on to
explain how to write abstract data types and value classes, which are
much more useful.
C++ just is another language!
Bo Persson
"Jerry Coffin" <je**********@g mail.com> writes: Randy Yates wrote:
[ ... ]
> No. This is a very common misconception. No knowledge > of one langauge is necessary in order to learn the other. > (As a matter of fact it can sometimes be a hindrance).
Strange that anyone would say this, since the overlap between the two is large.
Yes and no -- the overlap between the languages proper is quite large, but the overlap between the parts a beginner wants/needs to learn first are substantially smaller.
I don't think it's "necessary" to learn C first, but it would probably be optimum, since, for the most part, C is a subset of C++, and new concepts are usually better-learned in smaller chunks rather than larger chunks.
IMO, it's far from optimum. The problem is simple. what you learn at the very first with both languages (e.g. x=y+z;) is identical. Almost as soon as you move much beyond that, you have to learn _more_ with C than with C++ to really do much.
I think I see your point. You're saying it's a waste to invest time
learning the C library functions (strstr(), printf(), etc.) if your
goal is to learn C++ since C++ has much more powerful mechanisms for
these types of things. I agree with that.
But..., I don't know about you, but I would still rather take a small
bite (byte?) with C rather than choke on C++ if I were just beginning
to program, i.e., to at least learn the basic, non-class language
syntax in a simpler environment.
--
% Randy Yates % "My Shangri-la has gone away, fading like
%% Fuquay-Varina, NC % the Beatles on 'Hey Jude'"
%%% 919-577-9882 %
%%%% <ya***@ieee.org > % 'Shangri-La', *A New World Record*, ELO http://home.earthlink.net/~yatescr
learn Pascal or Python and jump to C++ directly
and AFTER THAT, learn C, if you want to write low level code
Diego This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: Christine |
last post by:
I am looking for some good C/C++ tutorials either online or in book form.
I am using Dev C/C++ 4 (from www.bloodshed.net) and I am using WindowsXP
operating system. I don't have the money for MS Visual C++ at this point.
Can anyone tell me if I have a good compiler/IDE? I don't plan on doing
anything huge.
Using tutorials, I have already written a few very basic programs and a game
using SDL library(from www.libsdl.org) and I...
|
by: tada991 |
last post by:
Hello Everyone,
I just purchased Visual Studio .Net Architect 2003 and want to know what's a
good book for begginers to start with. I know nothing about programming
whatsoever, but I do have a desire to learn- as obvious with this purchase.
So please let me know where I can start and thanks. Also, what newsgroup
should I post my queries to?
|
by: Terry Andersen |
last post by:
If I have:
struct one_{
unsigned int one_1;
unsigned short one_2;
unsigned short one_3;
};
struct two_{
unsigned int two_1;
|
by: MiniStreak |
last post by:
Hi fellow programmers...................
I am trying to learn ASP .NET ver 1.1 using VB .NET only on a windows
200 Pro machine. I have done quite a bit with ASP 3 but have been off
programming for about a year... Can any of you recommend a good book from a
reputable author?
Thanks in advance for your comments and suggestions.
Best Regards,
Mark
|
by: boostngti via DotNetMonster.com |
last post by:
I have 4 years of programing exp. with Coldfusion, and I am begining to
learn ASP.NET C# and was wondering if some people could suggest some good
books.
I went to Barnes & Noble the other day and kind of looked over a few book.
If anyone has read any of the following I would like to know what you thought
of the book.
Beginning ASP.NET 1.1 in C#: From Novice to Professional...
| |
by: Khaled Hussein |
last post by:
Hi every body,
I am working as freelancer, and I wanted to start posting my CV and ask for
job offers... But as I know that this is a public newsgroups so I am not
allowed to do all what comes up to my mind.
I wanted to ask about the rules. Am I allowed to post my CV in here, and ask
for a job offer?
Thanks
Khaled Hussein
|
by: Sumit |
last post by:
Hello! I I am new to this group and a beginner in C programming. I
want to know that now should I give more importance in learning
programming fundamentals and program solving or on good programming
practices like including comments in programmes and using functions.
Can anyone help me out there
|
by: SF |
last post by:
Hi,
I have done some coding with Access and I want to try using VB.NET. I am
looking for a good book with examples specially on data access (database).
Could someone in this group recommend?
Does 'Hitchhikers Guide to Visual Studio and SQL Server Best Practice
Architectures and Examples (7th Edition)' use VB.NET platform?
SF
|
by: lorlarz |
last post by:
Crockford's JavaScript, The Good Parts (a book review).
This shall perhaps be the world's shortest book review (for one of the
world's
shortests books).
I like Douglas Crockford (because I am a crabby old man too; plus he
_is_
smart and good).. But, how can he write a book on the good parts of
JavaScript
and not mention functions that address CSS & DOM? Weird. It's like
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look !
Part I. Meaning of...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it.
Here is my compilation command:
g++-12 -std=c++20 -Wnarrowing bit_field.cpp
Here is the code in...
| |
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth.
The Art of Business Website Design
Your website is...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own....
Now, this would greatly impact the work of software developers. The idea...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert into image.
Globals.ThisAddIn.Application.ActiveDocument.Select();...
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
| |
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |