473,835 Members | 2,368 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

learning Modern C++

hai all,

i am standing on a "crossroad to C++". I am here in front of you as i
have a problem. i will be brief. Please do not think: "arnuld is sick",
i am really struggling & doing hard-work to become a Modern C++
Programmer & i am feeling as if i am standing on a crossroad. i am
asking because every time i made a decision on my own, in my past, i
always ran into huge wastage of time, money & effort. that is why i am
posting it here:

--Problem-- as you folks know that i want to learn Modern C++ & in my
country "C++ Primer" 4/e & "Accelerate d C++" are not available & being
a jobless person i dont have money to order anything from abroad. i
have these books on my shelf:

1.) "Thinking in C++" 2/e
2.) "C++ Primer" 3/e
3.) "The C++ Programming Language" by Bjarne Stroustrup
4.) An illegal version of "C++ Primer" 4/e as a .chm file on my
Desktop.

i have these 5 options:

1.) read "C++ Primer 4/e" online: cant be done. with online copies
productivity goes down to 20%. reading "physically " really makes the
difference in understanding & learning the language.

2.) i took print-outs of 2-3-4 chapters of C++ Primer 4/e & read them &
found them excellent, though i took a while to understand. it has 800
pages, for me, it means 1000 pages of print outs from my EPSON
dot-matrix in 8 separate folders. it will be very difficult to learn
this way & what if i want to search for some phrase/ideas in C++, i am
"gone" in this case. i speak from experience, i tried this with
"Practical Common Lisp" & trust me, it was huge time wastage with much
less productivity & output (well, that is why Stroustrup created C++
:-)

3.) read "Bruce Eckel": tried that, he makes heavy-use of C. i dont
know C, i dont want to, i want C++.

4.) read "C++ Primer" 3/e: utterly incomprehensibl e to me.

4.) Learn C first -OOA & D book -C++. an excellent way to confuse
myself as i have found that learning "vectors, strings, new-delete"
1st, makes learning "C character arrays & free-malloc" much easier.
(while the opposite is not true, i tried it 2 months ago)

5.) Go directly with Stroustrup: +ve point is i will learn "Pure C++",
-ve point is i dont have any real-life coding experience, hence i found
it *too* dense & 50% of the times i did not understand what exactly he
was talink about. (but i do know what are variables, functions &
classes + strings, vectors, new delete from C++)

from all of this, i concluded Stroustrup is the only way to go. i just
need to dwell into it. what do you suggest?

thanks for your time

- arnuld
http://arnuld.blogapot.com

Oct 25 '06
78 4222
Greg Comeau wrote:
Indeed, we're probably way off from the OPs questions at
this point, but COBOL ain't dead.
Ok, i tried both books [ Stroustrup & Eckel ] & finally after much
*work* i gave up. i think i also lack on experience. reverting to my
*unmanaged* bundle of C++ Primer 4/e.

still, i will be here for any comments or advice.

thanks

Oct 27 '06 #41

arnuld wrote:
Greg Comeau wrote:
Indeed, we're probably way off from the OPs questions at
this point, but COBOL ain't dead.

Ok, i tried both books [ Stroustrup & Eckel ] & finally after much
*work* i gave up. i think i also lack on experience. reverting to my
*unmanaged* bundle of C++ Primer 4/e.

still, i will be here for any comments or advice.
SORRY for multiple-posts. that happened because of the
disgusting-internet connection i have.

Oct 28 '06 #42
In article <11************ *********@m73g2 000cwd.googlegr oups.com>,
arnuld <ar*****@gmail. comwrote:
>Greg Comeau wrote:
>Indeed, we're probably way off from the OPs questions at
this point, but COBOL ain't dead.

Ok, i tried both books [ Stroustrup & Eckel ] & finally after much
*work* i gave up. i think i also lack on experience. reverting to my
*unmanaged* bundle of C++ Primer 4/e.

still, i will be here for any comments or advice.
You tried both books in what 24 hours? Programming requires
a lot of patience and head banging, even when dealing with some
of the better educational sources.

Anyway, I can tend to "feel your pain". I would suggest
having a look at http://www.comeaucomputing.com/booklist
and seeing which of the "softer" introductions rub you the
right way, making note that many of them are not perfect
either (more inacurracies, especially that never get fixed,
as well as less insights, which IMO are vital).
--
Greg Comeau / 20 years of Comeauity! Intel Mac Port now in beta!
Comeau C/C++ ONLINE == http://www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
Oct 28 '06 #43
Greg Comeau wrote:
You tried both books in what 24 hours? Programming requires
a lot of patience and head banging, even when dealing with some
of the better educational sources.
NO, not 24 hours. i read "Ecekel" for more than 1 month continuously &
trust me "knowing C" is not the prerequisite, the prerequisite is "you
must have programmed in C, for some time, at least"

Stroustrup: i banged my head with this book for 4-5 days & it is really
far-above my head. i feel he is some sort of Software Engineer who has
taken the responsibilty to solve the most important problems/issues of
Soft. Engg (notice i did not say CS). i say so because i *think* one
needs to have "2-5" years of experience of Software-Development besides
C, for understanding his book.
Anyway, I can tend to "feel your pain". I would suggest
having a look at http://www.comeaucomputing.com/booklist
and seeing which of the "softer" introductions rub you the
right way, making note that many of them are not perfect
either (more inacurracies, especially that never get fixed,
as well as less insights, which IMO are vital).
i lurked there & found you mentioned 4 books new to me & none of them
is available in India :-( thanks anyway for the help.
Greg Comeau / 20 years of Comeauity!
i dont know but i want to ask: you are doing programming from last 20
years?

Oct 28 '06 #44
arnuld wrote:
[..]
i lurked there & found you mentioned 4 books new to me & none of them
is available [..]
Just out of the blue, unrelated altogether, but I wanted to mention
an old Russian proverb: "He who wants to have things done, finds
a way, he who doesn't, finds an excuse".

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask
Oct 28 '06 #45
Anyway, I can tend to "feel your pain". I would suggest
having a look at http://www.comeaucomputing.com/booklist
and seeing which of the "softer" introductions rub you the
right way, making note that many of them are not perfect
either (more inacurracies, especially that never get fixed,
as well as less insights, which IMO are vital).

i lurked there & found you mentioned 4 books new to me & none of them
is available in India :-( thanks anyway for the help.
except the one, "Essential C++", sorry i forgot to mention.

i checked ACCU
http://brian.accu.org/bookreviews/pu.../e/e002118.htm but was
not able to come up with anything. what do you say about this one?

Oct 28 '06 #46
Just out of the blue, unrelated altogether, but I wanted to mention
an old Russian proverb: "He who wants to have things done, finds
a way, he who doesn't, finds an excuse".
do you really expect a novice to understand this:

template<class T>class vec : public vector<T{
public:
Vec() : vector<T>() { }
Vec(int s) : vector<T>(s) { }

T& operator[](int i) { return at(i); }
const T& operator[](int i) const { return at(i); }
};

or this:

int add(CStash* s, const void* element) {
if(s->next >= s->quantity) //Enough space left?
inflate(s, increment);
// Copy element into storage,
// starting at next empty space:
int startBytes = s->next * s->size;
unsigned char* e = (unsigned char*)element;
for(int i = 0; i < s->size; i++)
s->storage[startBytes + i] = e[i];
s->next++;
return(s->next - 1); // Index number
}
i found the following way:

K&R2 C Project Eckel/Stroustrup C++ Project

& trust me it really looks disgusting, C before C++. OK..., what path
you say?

Oct 28 '06 #47
* arnuld:
Greg Comeau wrote:
>You tried both books in what 24 hours? Programming requires
a lot of patience and head banging, even when dealing with some
of the better educational sources.

NO, not 24 hours. i read "Ecekel" for more than 1 month continuously &
trust me "knowing C" is not the prerequisite, the prerequisite is "you
must have programmed in C, for some time, at least"

Stroustrup: i banged my head with this book for 4-5 days
I gave you the advice to do one page per day, /trying out things on your
computer for each page/.

In 4-5 days you should have completed 4-5 pages; that's not much to
judge a book by. If you have tried to go much faster then you don't
even have 4-5 pages assimilated. Perhaps just the equivalent of 1.

Keep in mind that no-one answering you here, and I include Greg (beg
forgiveness, Greg) and of course myself, consider themselves to know the
complete language, even after years and years of using it, and in Greg's
case, implementing the commercial compiler that most completely adheres
to the standard. And in one sense it's impossible to know the complete
language since new ambiguities, errors, self-contradictions and so on
are discovered in the standard all the time, so really, don't expect to
learn it in 4-5 days: expect to be able to do 4-5 pages, or thereabouts.

--
A: Because it messes up the order in which people normally read text.
Q: Why is it such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
Oct 28 '06 #48
In article <11************ **********@k70g 2000cwa.googleg roups.com>,
arnuld <ar*****@gmail. comwrote:
>Just out of the blue, unrelated altogether, but I wanted to mention
an old Russian proverb: "He who wants to have things done, finds
a way, he who doesn't, finds an excuse".

do you really expect a novice to understand this:
...
No. That would be unreasonable. But it would not be unreasonable
to expect a novice to:

1) Get more than one text
2) Be expected to read and reread paragraphs, sections, chapters
3) Go back to earlier chapters for info they didn't grasp first time
4) Try many of the examples gives by the author.
5) Try many of the exercises suggested by the author.
6) Spend hours and hours on it.
7) Take it slow
8) Understand that a tour of something is not necessarily a novice description
>i found the following way:

K&R2 C Project Eckel/Stroustrup C++ Project

& trust me it really looks disgusting, C before C++. OK..., what path
you say?
Personally I don't find it disgusting at all. But it may not be
optimal. Also, K&R can be very hard for many, even those who do
not find it hard.
--
Greg Comeau / 20 years of Comeauity! Intel Mac Port now in beta!
Comeau C/C++ ONLINE == http://www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
Oct 29 '06 #49

Greg Comeau wrote:
i found the following way:

K&R2 C Project Eckel/Stroustrup C++ Project

& trust me it really looks disgusting, C before C++. OK..., what path
you say?

Personally I don't find it disgusting at all. But it may not be
optimal. Also, K&R can be very hard for many, even those who do
not find it hard.
and those of you who are not complete novices may like to read this
paper contrasting the C-first and C++first approaches:
http://www.research.att.com/~bs/new_learning.pdf

-- Bjarne Stroustrup: http://www.research.att.com/~bs

Oct 30 '06 #50

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
330
by: kooolega | last post by:
Hi, that's me! I've decided to learn C++, but I'm still thinking about the books about C++. Which one is the best one and so on. I've made a list of books I'm going to read. I'd be glad if you checked it and told me your opinion. So, that's the list: 1. "Thinking in C++. Tom I" by Bruce Eckel 2. "Thinking in C++. Tom II" by Bruce Eckel and Chuck Allison 3. "C++ Unleashed" by Jesse Liberty 4. "C++ Gotchas: Avoiding Common Problems in...
3
2573
by: Sean McCourt | last post by:
Hi I am doing a JavaScript course and learning from the recommed book (JavaScript 3rd Edition by Don Gosslin) Below is one of the exercises from the book. I get this error message when I try to use the calculator. "document.Calculate.Input is null or not an object" Can someone please tell me why this is?
8
1970
by: Mantorok | last post by:
Hi all I'm looking to learn C and/or C++ and I was wondering if there were any good on-line resources and books. I am currently a C# developer but I'm keen to discover C/C++ as I feel it would be a benficial experience. Any suggestions?
4
1822
by: AmateurScripter | last post by:
I'm interested in learning C. What is the best way to learn this language? I know some JavaScript and know HTML very well. I can't afford any programs, but I can get books. What should I do?
26
3677
by: puzzlecracker | last post by:
It'd be interesting to compare the learning practices of c++ practitioners. I'll start with mine The C++ Programming Language C++ Primer Effective C++ More Effective C++ Effective STL The C++ Standard Library : A Tutorial and Reference (most of it) Exceptional C++
14
1659
by: master_programmer | last post by:
Hi I hope that I am posting to the right place. I want to learn programming and am looking at a language too choose. I thought about C++ but my friend told me thats its old fashioned and will be replaced by more modern computer languages like Visual Basic and Cold Fusion. Is it true that not many people use C++ anymore? What is the best language to learn?
3
1461
by: Niv | last post by:
Hi, I will shortly need to learn C or C++ as a high level hardware description language, modelling hardware at a more abstract level than VHDL. (I'm competent at VHDL & semi-competent at Tcl). I've done some minor dabbling in C before, but should I now, assuming I'm starting out afresh, start with C or go straight to C++. Will C give me a good grounding for C++ or add to my (likely) confusion? Regards, Kev P.
0
9810
marktang
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...
0
10815
Oralloy
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...
0
10526
jinu1996
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...
0
10237
tracyyun
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...
1
7770
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6970
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();...
0
5808
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
3999
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
3094
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.