C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

I want to think in C++
Goto page 1, 2  Next
 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ Language (Moderated)
View previous topic :: View next topic  
Author Message
Eric Cotter
Guest





PostPosted: Wed Nov 24, 2004 9:32 am    Post subject: I want to think in C++ Reply with quote



Ok I'm a pretty darn good C# programmer and a fine Enterprise Java man
as well. I can do some C but really feel lacking in the heavy metal
coding department. Call it code envy. :)

I think in the lowest level programming language I know...which for me
is machine or all the way up to C#. I know some C++ but only
syntactal santiy. I really want to take the blue pill and go down
that rabbit hole.

Is C++ worth my time? I mean it seems that I can pretty much do
anything I want in C#...well accept games, shrink wrap, operating
systems etc....

As a business language C# is the king in my book. It's simply to
expensive to have a slew of C++ persons on staff to write a web app.

So I'm trying to find good books on the subject and they just dont'
exist to my knowledge. I have Ivar Hortons book I bought about 4
years ago.....

I just purchased Effective C++ and now I'm getting Accelerated C++ as
well.

Anything else I'm missing?

I want to think in C++ .....

Eric

[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
Back to top
tigrisek@interia.pl
Guest





PostPosted: Wed Nov 24, 2004 11:56 pm    Post subject: Re: I want to think in C++ Reply with quote



Hi,

Quote:
I want to think in C++ .....

Then read "Thinking in C++" ;-)

http://mindview.net/Books/TICPP/ThinkingInCPP2e.html
Best regards,
Robert


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Back to top
Hendrik Belitz
Guest





PostPosted: Wed Nov 24, 2004 11:57 pm    Post subject: Re: I want to think in C++ Reply with quote



Eric Cotter wrote:

Quote:
Ok I'm a pretty darn good C# programmer and a fine Enterprise Java man
as well. I can do some C but really feel lacking in the heavy metal
coding department. Call it code envy. :)

I think in the lowest level programming language I know...which for me
is machine or all the way up to C#. I know some C++ but only
syntactal santiy. I really want to take the blue pill and go down
that rabbit hole.

Is C++ worth my time? I mean it seems that I can pretty much do
anything I want in C#...well accept games, shrink wrap, operating
systems etc....

As a business language C# is the king in my book. It's simply to
expensive to have a slew of C++ persons on staff to write a web app.

So I'm trying to find good books on the subject and they just dont'
exist to my knowledge. I have Ivar Hortons book I bought about 4
years ago.....

I just purchased Effective C++ and now I'm getting Accelerated C++ as
well.

Anything else I'm missing?

I want to think in C++ .....

So how about "Thinking in C++" by Bruce Eckel?

Also take a look at two of the books of N. Josuttis (I don't know the third
one. But with high probability it's also very good...):

The C++ Standard Library - A tutorial and reference
C++ Templates: The complete guide

--
To get my real email adress, remove the two onkas
--
Hendrik Belitz
- Abort, Retry, Fthagn? -

[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Back to top
Guest






PostPosted: Thu Nov 25, 2004 12:07 am    Post subject: Re: I want to think in C++ Reply with quote

Quote:
I want to think in C++ .....

Eric

"Thinking in C++" Vol. 1 & 2, by Bruce Eckel, also free electronic versions
available.
http://mindview.net/Books/TICPP/ThinkingInCPP2e.html


--------
zielony0



[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Back to top
Victor Bazarov
Guest





PostPosted: Thu Nov 25, 2004 2:06 am    Post subject: Re: I want to think in C++ Reply with quote

"Eric Cotter" <ecotter (AT) gmail (DOT) com> wrote...
Quote:
Ok I'm a pretty darn good C# programmer and a fine Enterprise Java man
as well. I can do some C but really feel lacking in the heavy metal
coding department. Call it code envy. Smile

I don't share your sentiments you seem to ipmly here. You can do "heavy
metal" in any language. The only reason to learn another language is if
it is either better for a particular task at hand or a requirement arising
from your customer needs.

Quote:
I think in the lowest level programming language I know...which for me
is machine or all the way up to C#. I know some C++ but only
syntactal santiy. I really want to take the blue pill and go down
that rabbit hole.

Is C++ worth my time? I mean it seems that I can pretty much do
anything I want in C#...well accept games, shrink wrap, operating
systems etc....

I think you're underestimating what can be accomplished with C#...

Quote:
As a business language C# is the king in my book. It's simply to
expensive to have a slew of C++ persons on staff to write a web app.

I am not sure I share this sentiment. A good programmer is expensive
no matter what language you ask him/her to use. It's not the language
that makes the programmer. If it so happens that C# programmers are
now dime-a-dozen it doesn't reflect negatively on the language, it only
reflects negatively on the people who, instead of finding one or two
good ones, hire "a slew" of mediocre coders, ending up wasting too much
money anyway with a half-baked product or system as the result.

Quote:
So I'm trying to find good books on the subject and they just dont'
exist to my knowledge.

Everybody has his own opinion as to what makes a good book. If they
don't exist, to your knowledge, how can we help?

Quote:
I have Ivar Hortons book I bought about 4
years ago.....

I just purchased Effective C++ and now I'm getting Accelerated C++ as
well.

Anything else I'm missing?

Perhaps you're not seeing the forest behind the trees. The language
is a mere tool. Knowing any particular one takes time, and should not
be seen as the goal. The goal is to become proficient in what you do,
and learning the tools needed for the job is a by-product. Another
side of the same coin here is that you can't really learn a language
without applying it. If the projects you're working on do not require
you to apply C++, you'll be wasting your time trying to learn it. You
would be much better off perfecting your techniques and learning common
methods, patterns, and designs, which should help you in your day-to-day
activities.

Quote:
I want to think in C++ .....

I've heard of a book titled "Thinking in C++" or something like it.
I've also heard that the electronic version of it is free. Try the
Web.

You should also go to www.accu.org and visit their book review section.
Even though to your knowledge there aren't any good books "on the subject"
perhaps you will entertain somebody else's opinion on the matter...

V


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Back to top
Jonathan Mcdougall
Guest





PostPosted: Thu Nov 25, 2004 2:07 am    Post subject: Re: I want to think in C++ Reply with quote

Quote:
I just purchased Effective C++ and now I'm getting Accelerated C++ as
well. Anything else I'm missing?

The C++ Programming Language for sure, see www.accu.org for other
recommendations.

Quote:
I want to think in C++ .....

1. read a.c.l.l.c++, c.l.c++. c.l.c++.c and c.s.c++ regularily and try
answering the questions (first in your head then on the newsgroup)
before reading the answers provided by regulars.

2. practice

3. get the books recommended by the accu, read them and do the exercises.


Jonathan

[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Back to top
Antoun Kanawati
Guest





PostPosted: Thu Nov 25, 2004 2:08 am    Post subject: Re: I want to think in C++ Reply with quote

Eric Cotter wrote:
Quote:
I think in the lowest level programming language I know...which for me
is machine or all the way up to C#. I know some C++ but only
syntactal santiy. I really want to take the blue pill and go down
that rabbit hole.

Is C++ worth my time? I mean it seems that I can pretty much do
anything I want in C#...well accept games, shrink wrap, operating
systems etc....

As a business language C# is the king in my book. It's simply to
expensive to have a slew of C++ persons on staff to write a web app.

That's because you can do it a lot faster with these same persons,
using perl Smile In theory, if you have the equivalent libraries and
embedding for C++, you wouldn't have that much trouble or expense.

The mechanics of the underlying framework are a different story.
But, again, in principle they would be much like those of Java-based
mechanisms; except that we don't have .class files for C++ classes,
and the dynamic loader is not exactly comparable.

Quote:
...

I want to think in C++ .....

Personally, I found that thinking at a higher level works best :)

The programming language is essentially a medium of expression, like
natural language. The best way to learn it is by immersion; find
yourself a non-trivial problem, and solve it using C++. Then, move
towards problems that are C++ specific (eg: templates, iterators,
memory management w/o garbage collection).
--
A. Kanawati
[email]NO.antounk.SPAM (AT) comcast (DOT) net[/email]

[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]


Back to top
White Wolf
Guest





PostPosted: Thu Nov 25, 2004 8:53 am    Post subject: Re: I want to think in C++ Reply with quote

Eric Cotter wrote:
[SNIP]
Quote:
coding department. Call it code envy. Smile

OK. Code envy. :-)

Quote:
I really want to take the blue pill and go down
that rabbit hole.

You have decided well. Welcome to the Real World, my friend. :-)

Quote:
Is C++ worth my time?

That is really something you have to decide for yourself. C++ does exist on
the .NET platform, and the new C++/CLI version is a huge step from the
__ugly __managed_to_break_the_underscore_on_my_keyboard __C++__ what was
before. Whidbey is it called?

Quote:
I mean it seems that I can pretty much do
anything I want in C#...well accept games, shrink wrap, operating
systems etc....

Accept as except?

Quote:
As a business language C# is the king in my book. It's simply to
expensive to have a slew of C++ persons on staff to write a web app.

Well, you should hear language experts (such as Herb Sutter) to say a few
words about some unfortunate language design choices present in C#... :-)

But seriously. Herb does have an excellent(*) presentation showing why
people should consider using C++/CLI on the .NET platform. I cannot go into
many details, but the deterministic destruction model of C++ (objects on the
stack) working together with the .NET garbage collection is something what
gets the good of both worlds. C#'s use blocks (if I recall the name
correclty) and Java's finally are only approximations to the code
correctness achiveable using RAII. To make it more simple: both Java and C#
"leaves it to the programmer" to ensure cleanup of sensitive/scarce
resources - other than memory, while C++ ensures automagically that it
happens. But please do not take my word (do not decide on my word), listen
to the expert (Herb).

(*) I assume that it is excellent, as I have listened to its early form, and
I liked it a lot.

Quote:
So I'm trying to find good books on the subject and they just dont'
exist to my knowledge. I have Ivar Hortons book I bought about 4
years ago.....

I just purchased Effective C++ and now I'm getting Accelerated C++ as
well.

The C++ Programming Language, 3rd or special edition is one book you also
want to have. Probably not as a beginners book. Smile But since you know
(professionally) many languages, I think that Bjarne's book is an excellent
choice after Accelerated C++ and Effective C++.

Quote:
Anything else I'm missing?

I want to think in C++ .....

Well, now that you have asked.... Have you tried Googling for "Thinking in
C++" ? You are up to a surprise... Just copy-paste the text and press I'm
feeling lucky. :-)

--
WW aka Attila
:::
Buy land - they've stopped making it. - Mark Twain
http://www.aleksey.com/xmlsec/images/bart.gif ;-)



[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]


Back to top
Terje Slettebų
Guest





PostPosted: Thu Nov 25, 2004 8:58 am    Post subject: Re: I want to think in C++ Reply with quote

"Eric Cotter" <ecotter (AT) gmail (DOT) com> wrote

Quote:
Ok I'm a pretty darn good C# programmer and a fine Enterprise Java man
as well. I can do some C but really feel lacking in the heavy metal
coding department. Call it code envy. :)

I think in the lowest level programming language I know...which for me
is machine or all the way up to C#. I know some C++ but only
syntactal santiy. I really want to take the blue pill and go down
that rabbit hole.

Is C++ worth my time? I mean it seems that I can pretty much do
anything I want in C#...well accept games, shrink wrap, operating
systems etc....

As a business language C# is the king in my book. It's simply to
expensive to have a slew of C++ persons on staff to write a web app.

So I'm trying to find good books on the subject and they just dont'
exist to my knowledge. I have Ivar Hortons book I bought about 4
years ago.....

I just purchased Effective C++ and now I'm getting Accelerated C++ as
well.

That should give you a good start.

As to the question "Is C++ worth my time?": Some of the key contributions I
think C++ can give is in your way of thinking. Even if you never use C++ in
a job context, the abstractions and concepts it provides may help you become
a better programmer, regardless of what language you may be using.

The above may be said about any language, actually, but not at least C++, I
think. Many languages forces a particular "paradigm" on you, being OO,
functional programming, or whatever, by only supporting one paradigm. C++ is
a multi-paradigm programming language, supporting:

- Procedural programming (aka structured programming, like C, etc.)
- Object-oriented programming
- Generic programming (templates. Learning about STL is a good idea, too)
- And, especially with library support, functional programming, etc.

Some of the real power of C++ comes from combining the paradigms, making it
possible to do things that neither paradigm by itself supports.

The ability to get efficiency _and_ elegance is also something I find
attractive about C++.

And, oh, it's in lively development: there exists a lot of proposals for
improving the language, for the next version of the standard. They can be
found at the standards site (http://www2.open-std.org/JTC1/SC22/WG21/) (the
"Papers" section).

For any other book suggestions and in general resources, there's been
several threads on this subject, which you might find by searching for it.
Besides, I recommend having a look at:

- Boost ([url]http://www.boost.org)[/url], and
- ACCU ([url]http://www.accu.org)[/url], especially the accu-general mailing list,
which is open for all

"Welcome... To the real world." ;)

Regards,

Terje



[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]


Back to top
Gerd Orfey
Guest





PostPosted: Fri Nov 26, 2004 4:38 pm    Post subject: [OT] Design of C#. was: I want to think in C++ Reply with quote

White Wolf wrote:
Quote:
Well, you should hear language experts (such as Herb Sutter) to say a
few words about some unfortunate language design choices present in
C#... Smile

Do you have some links at hand?


Gerd


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Back to top
Scott Simontis
Guest





PostPosted: Fri Nov 26, 2004 11:52 pm    Post subject: Re: I want to think in C++ Reply with quote

Quote:

Is C++ worth my time? I mean it seems that I can pretty much do
anything I want in C#...well accept games, shrink wrap, operating
systems etc....

I think learning any programming language that has a practical
application is worth it. Not everyone shares this view, but I think
that it helps you think in new paradigms and languages, and thus helps
you think about programming in general. However, I do not program
professionaly, and right now am just programming to learn and have
fun, so my view could change in the future.



Quote:

I just purchased Effective C++ and now I'm getting Accelerated C++ as
well.

If your up to it, Bjarne Stroustrup wrote The C++ Programmimng
Language, which is pretty much THE guide to C++.

Good luck!

[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Back to top
Thomas Hansen
Guest





PostPosted: Fri Nov 26, 2004 11:54 pm    Post subject: Re: I want to think in C++ Reply with quote

If you really want to see what makes C++ different then C# and Java you
should fill up with Andrei Alexandrescus "Modern C++ Design" also.
But finish Accelerated and Effective FIRST!

Also the "C++ Programming Language" by Bjarne Stroustrup is a must!
But read Accelerated before Bjarnes book!

BTW!
I saw a good signature once about C++ and it's "purpose"...
I think it was something like this:
"C++ is to programming what sex is to reproduction, you could probably
do without but then you wouldn't get nearly as much fun."
Seriously you have choosen very right, you may not realize this before
in a couple of months (or years) but C++ is what you wish you had when
you were doing Java or C#!



Thomas


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
Back to top
Terje Slettebų
Guest





PostPosted: Sat Nov 27, 2004 2:42 am    Post subject: Re: I want to think in C++ Reply with quote

"Victor Bazarov" <v.Abazarov (AT) comAcast (DOT) net> wrote

Quote:

Another
side of the same coin here is that you can't really learn a language
without applying it.

That's a fair comment. At least, you won't learn it well, for the same
reason that you need to use a natural language, to be good at it.

Quote:
If the projects you're working on do not require
you to apply C++, you'll be wasting your time trying to learn it.

This, however, I don't agree with. There's value in learning a language,
even if you never apply it in a job situation. Much of the real power
of a
programming language lies in the abstractions it provides, and
perspectives
and insights it may give. These are often language-neutral, i.e. might
be
transferable to other languages. I'd say it's the other way around: Good
programmers are typically proficient in several languages. If you only
know
one language, how will you be able to choose an appropriate language or
technology for a project, for example? Won't you then use it as a
"default
choice", even if there may be more appropriate choices for the
situation?
The expression "When all you have is a hammer, everything looks like a
nail", comes to mind. Use the right tool for the job, and the only way
to do
that, is to have more tools at your disposal.

For example, knowledge of functional programming languages can be quite
useful for C++ programming, and STL and other libraries certainly are
influenced by it (std::accumulate -> fold, std::transform -> map, etc.).

As with natural languages, there are advantages of being at least
bi-lingual.

Regards,

Terje



[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Back to top
Victor Bazarov
Guest





PostPosted: Sun Nov 28, 2004 11:36 am    Post subject: Re: I want to think in C++ Reply with quote

"Terje Slettebo" <tslettebo (AT) hotmail (DOT) com> wrote...
Quote:
"Victor Bazarov" <v.Abazarov (AT) comAcast (DOT) net> wrote in message
news:9v3pd.386516$wV.107928 (AT) attbi_s54 (DOT) ..

Another
side of the same coin here is that you can't really learn a language
without applying it.

That's a fair comment. At least, you won't learn it well, for the same
reason that you need to use a natural language, to be good at it.

For the sake of this discussion we call it "condition 1". You learn it
well only if you apply it. OK?

Quote:
If the projects you're working on do not require
you to apply C++, you'll be wasting your time trying to learn it.

This, however, I don't agree with. There's value in learning a language,
even if you never apply it in a job situation. Much of the real power
of a
programming language lies in the abstractions it provides, and
perspectives
and insights it may give.

What insights besides massive confusion caused by the syntax, the rules,
the idioms and techniques, would one expect to discover if the condition 1
(with which you happen to agree) is not fulfilled? If the language is not
learned in depth (and it cannot be if not used on the job), how can it
provide perspectives and abstractions?

Only when you get past the necessity to synchronise the movement of your
feet and your arms/hands, when you get past having to remember all the
traffic laws and what road signs mean, can driving a car become something
that can give you insights to how car behaves, what inertia does when you
turn, how the height and width of the tyres affects the handling, what is
handing in general, et cetera, et cetera. That only comes with practice
and after _years_ of doing it at least twice a day for more than ten
minutes on a busy street and not an empty parking lot.

Quote:
These are often language-neutral, i.e. might
be
transferable to other languages. I'd say it's the other way around: Good
programmers are typically proficient in several languages. If you only
know
one language, how will you be able to choose an appropriate language or
technology for a project, for example? Won't you then use it as a
"default
choice", even if there may be more appropriate choices for the
situation?
The expression "When all you have is a hammer, everything looks like a
nail", comes to mind. Use the right tool for the job, and the only way
to do
that, is to have more tools at your disposal.

That's all fine... in theory.

What is the point of having an oscilloscope in my workshop if I never
use it and have very faint idea of what can be solved with it or how
to actually turn it on? And the example with an oscilloscope is not
really a good one. An oscilloscope is way too simple a tool to compare
to a programming language of the C++ caliber.

Quote:
For example, knowledge of functional programming languages can be quite
useful for C++ programming, and STL and other libraries certainly are
influenced by it (std::accumulate -> fold, std::transform -> map, etc.).

Yes, but would you really ask a modern college student to learn FORTRAN
for the sake of understanding functional programming?

Quote:
As with natural languages, there are advantages of being at least
bi-lingual.

Yes, but you can't call yourself bi-lingual if the second language you
know only at the alphabet level (if it does have an alphabet at all).

So, it all comes back to only needing to spend time on something if you
actually are using it on the daily basis, which allows you to become
fluent in it.

V


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Back to top
James Talbut
Guest





PostPosted: Sun Nov 28, 2004 6:10 pm    Post subject: Re: I want to think in C++ Reply with quote


"Victor Bazarov" <v.Abazarov (AT) comAcast (DOT) net> wrote

Quote:
Only when you get past the necessity to synchronise the movement of
your
feet and your arms/hands, when you get past having to remember all
the
traffic laws and what road signs mean, can driving a car become
something
that can give you insights to how car behaves, what inertia does
when you
turn, how the height and width of the tyres affects the handling,
what is
handing in general, et cetera, et cetera. That only comes with
practice
and after _years_ of doing it at least twice a day for more than ten
minutes on a busy street and not an empty parking lot.

But, by merely seeing cars drive by every day you might well conclude
that they are a better way to travel (arguably not true, but certainly
faster and warmer than most others).
And with experience of cycling (he knows other languages) by having a
go in one you can gain an insight into driving - I spend most of my
time on a motorbike, but by driving a car I know how ignorant of us
the car drivers are.
And finally, by not knowing the 'correct' way to do something one is
free to do things any way one likes - maybe steering cars should be
done by leaning and maybe template metaprogramming should be handled
completely differently.

There is benefit in all learning, and only by starting can we
progress.

There is no benefit in having an oscillosscope in your workshop if you
never turn it on.
But I'd hazard that if you do have one you'll know more than a little
about frequency.
There is no benefit in buying a book, there is benefit in reading one.

I wouldn't try to get a modern student to learn FORTRAN 'cos I have a
personal belief that it's a dead language.
But I would certainly encourage them to learn it if they wanted to;
and I'd probably expect them to be able to read it.

J.T.
Please reply via the newsgroup.



[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ Language (Moderated) All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.