By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,188 Members | 993 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,188 IT Pros & Developers. It's quick & easy.

Introduction

P: n/a
Hello everyone.

I just wanted to introduce myself, and maby get a few of you...

Well, anyway...

I am pretty new to programming...

At first i looked at the "python" language for a couple of weeks, but
decided to try C or C++...
I am not still shure of what is the best choice, so if you could give
me some info about the strenghts and weaknesses of the two languages,
it would be nice...
I have tried searching on google, but i moastly found the
"differences",
not the strenghts and weaknesses.

I have looked a little at C++, but i have not yet found a good
"recource", and i don't think i have gone so far that i have come
"deeply" into the "C++ only" stuff that I cannot change to C...

I have heard some times that it is easiest for beginners to learn C,
and then C++. Should i do this?

The reason i am trying C or C++ instead of Python, is that for some
weird reason,
i find the C and C++ "simpler" and the commands "easier" ("cout<<" vs
"print" !).
Well... Back to me:
I live in Norway, not so far from the capital "Oslo".
I have been through a lot of aliases while looking for one
wich i thought "fitted"... Once I were playing a MMORPG, and needed
a name for a character. I came up with "Ralathor", and now I am using
it,
usually along with a "title", like "Lord Ralathor" for a Fantasy
game... You get the idea?

I am not learning any programming at school, but I probably will
later...

But right now, I want to learn it "as soon as possible"...
As in "I am going to do my best to be a decent programmer
in the shortest time possible, because this is something I find
interesting and is eager to learn".

By the way... Can you give me a tip for a good online guide for C/C++
along
with what I should start with...

I don't want to spend money on books as long as there is a
place called "The world wide web" where anybody can write a
guide for anyone to acsess without paying...

And sorry if my english is bad... I hate to brag, but I am one of the
best at my school...
But then, most of my school aren't computer geeks who write and read
english
all day long...
Ralathor -- Programming Newbie
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Jun 21 '06 #1
Share this Question
Share on Google+
29 Replies


P: n/a
Ralathor wrote:
I just wanted to introduce myself, and maby get a few of you...
This is not really a social gathering, you know.
Well, anyway...

I am pretty new to programming...

At first i looked at the "python" language for a couple of weeks, but
decided to try C or C++...
I am not still shure of what is the best choice, so if you could give
me some info about the strenghts and weaknesses of the two languages,
it would be nice...
Try http://groups.google.com
I have tried searching on google, but i moastly found the
"differences",
not the strenghts and weaknesses.
Probably because there aren't any. What would you say is the strength
or a weakness of a hammer? [that's a rhetorical question]
I have looked a little at C++, but i have not yet found a good
"recource", and i don't think i have gone so far that i have come
"deeply" into the "C++ only" stuff that I cannot change to C...

I have heard some times that it is easiest for beginners to learn C,
and then C++. Should i do this?
No. They are two different languages. If you don't need one of them,
don't learn it.
The reason i am trying C or C++ instead of Python, is that for some
weird reason,
i find the C and C++ "simpler" and the commands "easier" ("cout<<" vs
"print" !).
Different people find different things easy or convenient.
Well... Back to me:
[..personal stuff snipped..]
Thanks for sharing.
By the way... Can you give me a tip for a good online guide for C/C++
along
with what I should start with...
http://groups.google.com/group/comp.lang.c++/
http://groups.google.com/group/comp.lang.c++.moderated/
I don't want to spend money on books as long as there is a
place called "The world wide web" where anybody can write a
guide for anyone to acsess without paying...
You can't find as much useful and *good* information on WWW as you would
in books, and even if you can, it would all be scattered in small pieces.
Books are there to consolidate and collect in one place what is otherwise
difficult or requires too much time to find.
[..]


V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask
Jun 21 '06 #2

P: n/a
"Ralathor" wrote:

<newsgroups pruned>
At first i looked at the "python" language for a couple of weeks, but
decided to try C or C++...
I am not still shure of what is the best choice, so if you could give
me some info about the strenghts and weaknesses of the two languages,
it would be nice...
I have tried searching on google, but i moastly found the
"differences",
not the strenghts and weaknesses.


I often have the same problem and it is annoying as hell. "Visual
Enterprise Aspect version 5.1 is much improved from version 5.0. It now
features a green globbis ..."

As far as C is concerned, its main strength is that is, as such things go, a
very simple language. At one time people spoke of it as a portable assembly
language. Concise and cryptic. Since C++ evolved from C it shares the
cryptic roots but the stuff added to make it C++ is more verbose.

I think this site probably has about as good an answer as you are likely to
find on what C++ is all about. The page belongs to the "father" of C++.

http://www.research.att.com/~bs/bs_faq.html#oop

Jun 21 '06 #3

P: n/a

"Ralathor" <Ra******@gmail.com> wrote in message
news:11**********************@i40g2000cwc.googlegr oups.com...

By the way... Can you give me a tip for a good online guide for C/C++
along
with what I should start with...
http://ma.rtij.nl/acllc-c++.FAQ.html
I don't want to spend money on books as long as there is a
place called "The world wide web" where anybody can write a
guide for anyone to acsess without paying...


Imo books are the best way to learn. The problem with the web
is that there's far more wrong information available than
correct information, and a novice won't be able to tell the
difference. See www.accu.org for experts' reviews of books
about C and C++ (and others).

-Mike
Jun 21 '06 #4

P: n/a

Mike Wahler wrote:
Imo books are the best way to learn. The problem with the web
is that there's far more wrong information available than
correct information, and a novice won't be able to tell the
difference. See www.accu.org for experts' reviews of books
about C and C++ (and others).


Same problem with books really...at least as much wrong information as
correct. Maybe there should be an accu for websites.

Jun 21 '06 #5

P: n/a
Noah Roberts wrote:
[..] Maybe there should be an accu for websites.


I thought there was one: http://groups.google.com
Jun 21 '06 #6

P: n/a
In article <8U****************@newsread2.news.pas.earthlink.n et>, Mike
Wahler <mk******@mkwahler.net> writes
Imo books are the best way to learn. The problem with the web
is that there's far more wrong information available than
correct information, and a novice won't be able to tell the
difference. See www.accu.org for experts' reviews of books
about C and C++ (and others).

Well that is also true of books on C and C++ for novices :-(

--
Francis Glassborow ACCU
Author of 'You Can Do It!' and "You Can Program in C++"
see http://www.spellen.org/youcandoit
For project ideas and contributions: http://www.spellen.org/youcandoit/projects
Jun 21 '06 #7

P: n/a
Mike Wahler wrote:
Imo books are the best way to learn. The problem with the web
is that there's far more wrong information available than
correct information, and a novice won't be able to tell the
difference. See www.accu.org for experts' reviews of books
about C and C++ (and others).


I understand what you mean, but do you know of any books who
have been made into PDFs?
I might buy a book later, but at the moment,
I have decided to just learn it on my PC.
If you know of any links to a guide you know is right,
please post it. The only thing worse than a bad guide,
is a wong guide.
After all, I want to learn "C++" ( I decided to go with that ),
not "C+??".
Thank you for warning me.

Ralathor -- Programming Newbie

Jun 21 '06 #8

P: n/a
Ralathor wrote:
Mike Wahler wrote:
Imo books are the best way to learn. The problem with the web
is that there's far more wrong information available than
correct information, and a novice won't be able to tell the
difference. See www.accu.org for experts' reviews of books
about C and C++ (and others).
I understand what you mean, but do you know of any books who
have been made into PDFs?


Look for "Thinking in C++"
I might buy a book later, but at the moment,
I have decided to just learn it on my PC.
<shrug> You are allowed to change your mind based on good advice
from knowledgeable people...
If you know of any links to a guide you know is right,
please post it. The only thing worse than a bad guide,
is a wong guide.
What's a "wong guide"? And how is it different from a bad one?
After all, I want to learn "C++" ( I decided to go with that ),
not "C+??".


If you want to do that without pulling your hair out and without
learning bad things which you will need to un-learn later, listen
to what Mike has to say.

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask
Jun 21 '06 #9

P: n/a
A great place to learn about C++:
http://www.research.att.com/~bs/C++.html

Jun 21 '06 #10

P: n/a
Victor Bazarov wrote:
Ralathor wrote:

If you know of any links to a guide you know is right,
please post it. The only thing worse than a bad guide,
is a wong guide.


What's a "wong guide"? And how is it different from a bad one?


Like books, you can have web sites that have accurate information but
are poorly written, indexed, or formatted.


Brian
Jun 21 '06 #11

P: n/a
Default User wrote:
Victor Bazarov wrote:
Ralathor wrote:

If you know of any links to a guide you know is right,
please post it. The only thing worse than a bad guide,
is a wong guide.


What's a "wong guide"? And how is it different from a bad one?


Like books, you can have web sites that have accurate information but
are poorly written, indexed, or formatted.


Uh... And which are they, then? Bad ones or wong ones? And how
can "bad" be "wite"? (or what's the opposite of "wong"?)

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask
Jun 21 '06 #12

P: n/a

Victor Bazarov wrote:
Noah Roberts wrote:
[..] Maybe there should be an accu for websites.


I thought there was one: http://groups.google.com


That place has all sort of yahoos giving out bad advice...

Jun 21 '06 #13

P: n/a
Noah Roberts wrote:
Victor Bazarov wrote:
Noah Roberts wrote:
[..] Maybe there should be an accu for websites.


I thought there was one: http://groups.google.com


That place has all sort of yahoos giving out bad advice...


I didn't mean he should read our posts. I mean he should
read the reviews of web sites there.

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask
Jun 21 '06 #14

P: n/a
> > If you know of any links to a guide you know is right,
please post it. The only thing worse than a bad guide,
is a wong guide.


What's a "wong guide"? And how is it different from a bad one?


Oh! Sorry...

It was a writing error... I ment a "wrong" guide...

The "R" button on my keybord sometimes don't work...

Don't know why, but it might be because the keyboard
is beginning to get old... I am getting a new one soon, anyway...

Ralathor -- Programming Newbie

Jun 22 '06 #15

P: n/a
"Ralathor" <Ra******@gmail.com> writes:
Hello everyone.

I just wanted to introduce myself, and maby get a few of you...

Well, anyway...

I am pretty new to programming...

At first i looked at the "python" language for a couple of weeks, but
decided to try C or C++... I am not still shure of what is the best
choice,
Interesting. Well, they have very different strengths.
so if you could give me some info about the strenghts and
weaknesses of the two languages, it would be nice... I have tried
searching on google, but i moastly found the "differences", not the
strenghts and weaknesses.
http://www.boost-consulting.com/writ...l#introduction might
be of some help.
I have looked a little at C++, but i have not yet found a good
"recource", and i don't think i have gone so far that i have come
"deeply" into the "C++ only" stuff that I cannot change to C...

I have heard some times that it is easiest for beginners to learn C,
and then C++. Should i do this?
Absolutely not!

IMO, C is much more difficult for a beginner than C++ for all but the
most low-level systems programming, because it lacks nearly all the
nice high-level abstractions that you might find in Python such as
strings, lists, and tuples.

I suggest you start with "Accelerated C++," by Koenig & Moo, which
presents C++ in an order that makes it easy for beginners to grasp.
The reason i am trying C or C++ instead of Python, is that for some
weird reason, i find the C and C++ "simpler" and the commands "easier"
("cout<<" vs "print" !).
Chacun a son gout.

(Everyone has his own syntactic affinities.)
I am not learning any programming at school, but I probably will
later...

But right now, I want to learn it "as soon as possible"... As in "I
am going to do my best to be a decent programmer in the shortest time
possible, because this is something I find interesting and is eager to
learn".
Starting with Koenig&Moo is a good way to go, then.
By the way... Can you give me a tip for a good online guide for C/C++
along with what I should start with...

I don't want to spend money on books as long as there is a place
called "The world wide web" where anybody can write a guide for anyone
to acsess without paying...
I advise you to spend a little on very good books anyway. Especially
where documentation and guides are concerned, you usually get what you
pay for. Writing is much more difficult than coding for most
programmers, so we don't usually invest the effort to put out really
top-notch tutorials as free webpages.

.....and it's so easy to teach C++ badly, I'm sure you'll find a lot of
that on the web.
And sorry if my english is bad... I hate to brag, but I am one of
the best at my school... But then, most of my school aren't
computer geeks who write and read english all day long...


That's pretty funny. Most english-speaking computer geeks aren't the
best writers ;-)

--
Dave Abrahams
Boost Consulting
www.boost-consulting.com

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

Jun 22 '06 #16

P: n/a

Ralathor wrote:
Hello everyone.

I just wanted to introduce myself, and maby get a few of you...

I think it is better to learn C before u learn c++ . Ofcourse there are
some books which explain c++ without prior knowledge on c . In my
opinion u anyhow need to learn c concepts to leran c++. So better learn
c.
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Jun 22 '06 #17

P: n/a
On 2006-06-21, Ralathor <Ra******@gmail.com> wrote:
I am pretty new to programming...
And likely new to Usenet news too. Pay attention to the grammar,
especially when cross-posting and you'll get much more positive
feedback. (I don't intend to argue about why grammar is important,
just stating this as an empirical observation.)

I set follow-up to comp.lang.c++ since that seemed most appropriate
to me.
I am not still shure of what is the best choice, so if you could give
me some info about the strenghts and weaknesses of the two languages,
it would be nice...
I have tried searching on google, but i moastly found the
"differences",
not the strenghts and weaknesses.
What is strength for one programmer may be weakness for another.
Python is powerful high level language and I've heard many
positive opinions about it. C++ is an extremely powerful language with
both high level and low level constructs. It is not the language
I would recommend to a novice programmer, since the sheer complexity
of C++ makes it difficult to master. You should also consider Java as
your first programming language.

Whatever you choose matters very little in the long run if you really
want to learn programming. Knowing many languages and their differences
is actually good since it gives perspective and once you know a few
languages, learning new ones is not difficult at all. Whatever is
the hottest thing now won't probably be that hot after ten years or
at leats it hast to evolve to maintain it's position.
I have looked a little at C++, but i have not yet found a good
"recource", and i don't think i have gone so far that i have come
"deeply" into the "C++ only" stuff that I cannot change to C...
If you compare C and Python, you should notice that Python's design
philosophy is very different from C.
I have heard some times that it is easiest for beginners to learn C,
and then C++. Should i do this?
IMHO no, you shouldn't. I don't know where that idea comes from, but
while C++ certainly has more features than C, there is little point
learning C as the first language nowadays. The things which are better
done in C are not things a beginner programmer should try to do.
The reason i am trying C or C++ instead of Python, is that for some
weird reason,
i find the C and C++ "simpler" and the commands "easier" ("cout<<" vs
"print" !).
That is weird indeed since "print" is a clean english word while
"cout" doesn't mean anything unless you happen to know C++. I have
liked (Turbo/Object) Pascal from the very first sight since the
language looks so much like plain english that reading the code is
very easy.
As in "I am going to do my best to be a decent programmer
in the shortest time possible, because this is something I find
interesting and is eager to learn".
Just yesterday I read a text written in 1975 by Dijkstra.
This guy is a quite respected fellow world wide and he proposed
that one should learn to think and avoid being fascinated by individual
programming languages. Programming is a skill which is independent
from any particular programming language, but unfortunately a lot
of teachers and students do not make this distinction.

I personally agree 100% with this notion. This doesn't mean you
can learn to program without learning any programming language, but
try to capitalize on the general ideas and not the language.

About the "shortest time", I must say that Internet is
something extremely valuable for a novice. When I started
programming there was little literature and teachers
available and internet was just far away. To become an
expert it takes a lot of time with the help of internet
so don't be discouraged if you are not recognized as
such after two years of hard work.
By the way... Can you give me a tip for a good online guide for C/C++
along
with what I should start with...
"Thinking in C++" by Bruce Eckel has been available online and it's
pretty good. SGI has C++ standard library online reference, which
you'll need to check things out.
I don't want to spend money on books as long as there is a
place called "The world wide web" where anybody can write a
guide for anyone to acsess without paying...


I suppose you could also consider going to a real world facility known
as "library" where you should find vast amounts of literature for free.

--
// Antti Virtanen -//- http://www.students.tut.fi/~virtanea

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

Jun 22 '06 #18

P: n/a
In article <11**********************@c74g2000cwc.googlegroups .com>,
pa******@gmail.com writes

Ralathor wrote:
Hello everyone.

I just wanted to introduce myself, and maby get a few of you...
I think it is better to learn C before u learn c++ . Ofcourse there

aresome books which explain c++ without prior knowledge on c . In my
opinion u anyhow need to learn c concepts to leran c++. So better learnc.

Why? Because you did? Or because the books you read are written by
authors who think that is the right way to go?

It also helps strengthen your opinions if you take the time to express
them in good English. Typos are acceptable, we all make them in this
medium but lazy writing is not.
--
Francis Glassborow ACCU
Author of 'You Can Do It!' and "You Can Program in C++"
see http://www.spellen.org/youcandoit
For project ideas and contributions:
http://www.spellen.org/youcandoit/projects
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Jun 23 '06 #19

P: n/a
In article <u1***********@boost-consulting.com>, David Abrahams
<da**@boost-consulting.com> writes
Absolutely not!

IMO, C is much more difficult for a beginner than C++ for all but the
most low-level systems programming, because it lacks nearly all the
nice high-level abstractions that you might find in Python such as
strings, lists, and tuples.

I suggest you start with "Accelerated C++," by Koenig & Moo, which
presents C++ in an order that makes it easy for beginners to grasp.


That book is for those who already have some programming experience or
are quick studies. 'You Can Do It!' is much slower paced and focuses on

the needs of the raw novice (yes, obviously I am biased:-)

BTW both AC++ and YCDI are reasonable size books and not that expensive

(in the programming context)
--
Francis Glassborow ACCU
Author of 'You Can Do It!' and "You Can Program in C++"
see http://www.spellen.org/youcandoit
For project ideas and contributions:
http://www.spellen.org/youcandoit/projects
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Jun 23 '06 #20

P: n/a
* Ralathor:

Can you give me a tip for a good online guide for C/C++
along with what I should start with...

I don't want to spend money on books as long as there is a
place called "The world wide web" where anybody can write a
guide for anyone to acsess without paying...


The C++ FAQ is a good place to start.

You might check out the FAQ item ‹What other "newbie" guides are there
for me?›, currently at <url:
http://www.parashift.com/c++-faq-lite/newbie.html#faq-29.21>.

Obviously I'm a bit biased in recommending that, since I'm the author of
the only tutorial/guide currently referred to by that item, currently at
<url: http://home.no.net/dubjai/win32cpptut/html/>. Unfortunately I
haven't had the time to bring that tutorial further; it's been on hold
for about a year, I think it is now. One exception: I added a small
separate document on using pointers, currently at <url:
http://home.no.net/dubjai/win32cpptut/special/pointers/ch_01.pdf>, <url:
http://home.no.net/dubjai/win32cpptut/special/pointers/ch_01_examples.zip>.

--
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?

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

Jun 23 '06 #21

P: n/a
<pa******@gmail.com> wrote in message
news:11**********************@c74g2000cwc.googlegr oups.com...

Ralathor wrote:
Hello everyone.

I just wanted to introduce myself, and maby get a few of you...

I think it is better to learn C before u learn c++ . Ofcourse there are
some books which explain c++ without prior knowledge on c . In my
opinion u anyhow need to learn c concepts to leran c++. So better learn
c.

I very much disagree. Though for historical reasons many C++ programmers are
former C programmers, it doesn't make C expertise a prerequisite or even
desirable. The worst C++ programmers I've seen all came with a strong C
background. I tend to agree with Bertrand Meyer's advice, "beware of C hackers."

--
Gene Bushuyev (www.gbresearch.com)
----------------------------------------------------------------
To see what is in front of one's nose needs a constant struggle ~ George Orwell
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Jun 23 '06 #22

P: n/a
> desirable. The worst C++ programmers I've seen all came with a strong C
background. I tend to agree with Bertrand Meyer's advice, "beware of C hackers."


I taught myself C before learning C++ and I think it makes me a better
C++ programmer. Being a C programmer first teaches you how to
accomplish things explicitly what C++ does implicitly. It makes you
aware of the hidden costs of various C++ features. C++ can be a bad
language to use for speed critical applications if you are not aware of
all the little things that C++ automatically does (e.g. auto
constructors, destructors, copy construction, etc). If you don't have
that awareness then you can make dumb mistakes that rob your apps of
speed.

I don't think it necessarily hurts you to learn C first. I still think
it is important to understand machine organization to be a good
programmer. (That's also why I think the Universities using Java as
their primary language in C.S. are doing a disservice to the
students---but that's a whole other debate.)

The reason some C hackers are bad with C++ is because they have
focussed on learning the C++ lanuage and not on learning OOP
methodologies. IMO, learning the language and learning OOP design are
two completely different things. After programming C++ for a couple
years, I started reading OOP design books by Meyers, Koenig, Moo, and
Alexandrescu. It took my game to a whole new level.

If I was teaching somebody how to program, I would probably teach them
the following languages in this order:

1. Basic or Pascal---these are good starting languages that teach
variables, functions, and thinking algorithmically. IMO, starting with
functional languages is easiest for people to grasp.

2. C---this is the "next level" when it comes to functional languages.
I would teach basic machine organization, memory, pointers, and data
structures with it.

3. Python or Ruby--these are easy OOP languages to learn. I would use
them to introduce higher-order OOP concepts such as classes,
inheritence, and polymorphism.

4. C++---lastly, I would teach them C++ to bring everything together:
the machine organization, memory management, and OOP concepts and
design.

Note how I alternated loosely typed with strongly typed languages.
That's an important "background" topic to always be talking about
through the whole process.

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

Jun 24 '06 #23

P: n/a
Dave wrote:
[...]

1. Basic or Pascal---these are good starting languages that teach
variables, functions, and thinking algorithmically. IMO, starting with
functional languages is easiest for people to grasp.

2. C---this is the "next level" when it comes to functional languages.
I would teach basic machine organization, memory, pointers, and data
structures with it.

[...]

Just a little confusion:
AFAIK, the programming languages you listed are not /funtional/ languages, but
/imperative/ languages. One difference is that in true functional languages
like, e.g., Haskell or ML you do not have variables and assignments, so you have
to implement things like loops using recursion.

- Holger

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

Jun 25 '06 #24

P: n/a
In article <11**********************@m73g2000cwd.googlegroups .com>,
da**@linuxprogrammer.org says...

[ ... ]
The reason some C hackers are bad with C++ is because they have
focussed on learning the C++ lanuage and not on learning OOP
methodologies.
There's a lot more to C++ than OOP. Somebody who chose to concentrate
on generic programming (for one example) might learn to use C++ quite
well without learning anything about OOP or OOD (at least IMO).

[ ... ]
1. Basic or Pascal---these are good starting languages that teach
variables, functions, and thinking algorithmically. IMO, starting with
functional languages is easiest for people to grasp.


A short note on terminology: in programming, "functional" has a
fairly widely agreed-upon meaning, and neither BASIC nor Pascal fits
very closely with that meaning at all.

Sometime when you're bored or curious, you might want to look ML,
Haskell, Lisp, or (if you want to delve into history) FP. Many people
find functional programming difficult to grasp (I certainly did at
first) but I think it's well worth the time and effort to do so.
Learning functional programming to a reasonable degree will probably
change your perspective on programming far more than learning all the
languages you listed.

--
Later,
Jerry.

The universe is a figment of its own imagination.

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

Jun 25 '06 #25

P: n/a
Dave wrote:
If I was teaching somebody how to program, I would probably teach them
the following languages in this order:

1. Basic or Pascal---these are good starting languages that teach
variables, functions, and thinking algorithmically. IMO, starting with
functional languages is easiest for people to grasp.
How about 1.5 - Assembly Language?

Once you "get it" and have a good feeling for what "it" is,
essentially, it makes sense to expand ones knowledge right up to the
boundary where it does not make sense to go any further. Electrical
engineers have an inherent advantage here - there are certain nuances
of low-level programming that might mystify a traditional programmer
but would not confuse an electrical engineer. For example, in a
recently class in C++ at a large software corporation, I ask, "What
does 64-bit mean anyway?", and only 2 of 17 students were able to
answer. It was a bit embarrassing, as many of them had studied
computer science. I think every C/C++ programmer should be well-versed
in at least one assembly language. The boundary is very sharp and
terminal, and knowing assembly language (and hence computer
architecture) will make disccusions about many elements of C++ a lot
more pleasant.
2. C---this is the "next level" when it comes to functional languages.
I would teach basic machine organization, memory, pointers, and data
structures with it.

3. Python or Ruby--these are easy OOP languages to learn. I would use
them to introduce higher-order OOP concepts such as classes,
inheritence, and polymorphism.
Ufff! Why waste time on these languaes?. Life is short. Go to the
good stuff hard and fast. If anything, it is easier to learn downhill
than to learn uphill.
4. C++---lastly, I would teach them C++ to bring everything together:
the machine organization, memory management, and OOP concepts and
design.

Note how I alternated loosely typed with strongly typed languages.
That's an important "background" topic to always be talking about
through the whole process.


Yep. The most desirable objective in all of programming, IMO, is to
achieve a good form in the resulting system. Since type is that which
facilitates structure, an affinity for type is generally better than
the the "it's just all data" philosophy.

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

Jun 25 '06 #26

P: n/a

Ralathor wrote:
Hello everyone.

I just wanted to introduce myself, and maby get a few of you...

Well, anyway...

I am pretty new to programming...

The most important thing is to find an easy, forgiving enviroment to
play in. For example, If you are using Microsoft computer, then try
Microsoft Visual Studio 8 Express (this is the one I use when not doing
systems programming on UNIX). Or if you are on Linux get the Eclispe
IDE which have plug ins for the gnu compilers and debuggers.
There are very few people approaching C++ from C nowadays. More likely,
they are coming from Java. Both language have a similiar syntax, but
C++ enables far far more.
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Jun 26 '06 #27

P: n/a
In article <11*********************@p79g2000cwp.googlegroups. com>,
la*********@nyc.rr.com writes

Ralathor wrote:
Hello everyone.

I just wanted to introduce myself, and maby get a few of you...

Well, anyway...

I am pretty new to programming...

The most important thing is to find an easy, forgiving enviroment to
play in. For example, If you are using Microsoft computer, then try
Microsoft Visual Studio 8 Express (this is the one I use when not
doing
systems programming on UNIX). Or if you are on Linux get the Eclispe
IDE which have plug ins for the gnu compilers and debuggers.
There are very few people approaching C++ from C nowadays. More
likely,
they are coming from Java. Both language have a similiar syntax, but
C++ enables far far more.


Well I prefer JGrasp (for just about all platforms) + G++ (but you can
use other compilers if you like) or Al Stevens' Quincy IDE (only for MS
Windows machines) if you are really new because it is a much simpler IDE
which means that the learner is not distracted by having to cope with
making errors in using the IDE.
--
Francis Glassborow ACCU
Author of 'You Can Do It!' and "You Can Program in C++"
see http://www.spellen.org/youcandoit
For project ideas and contributions: http://www.spellen.org/
youcandoit/projects
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

Jun 29 '06 #28

P: n/a
On Wed, 21 Jun 2006 08:39:41 -0400, Victor Bazarov <v.********@comAcast.netwrote:
Ralathor wrote:
>I have tried searching on google, but i moastly found the
"differences",
not the strenghts and weaknesses.

Probably because there aren't any. What would you say is the strength
or a weakness of a hammer? [that's a rhetorical question]
.... which means someone will inevitably answer it ;-)

Strengths:
- cheap to manufacture
- widely known and spread
- easy to operate
- possible to improvise using low-tech (stick and rock)
- versatile (anything you want to smash, you can use a hammer)
- non-blunt end open for extension (nail removal add-on)
- no non-renewable fuel needed
...

Weaknesses:
- does not scale; needs to be light enough to lift
- may cause thumb injury
...

I could go on with this mental exercise for hours, and it would be even
easier if I had something to compare it /with/, like a rock or a nailgun.

Sure C and C++ have strengths and weaknesses. They may be fuzzier than a
hammer's and harder to agree on, but they are there. It's a relevant
question.

/Jorgen

--
// Jorgen Grahn <grahn@ Ph'nglui mglw'nafh Cthulhu
\X/ snipabacken.dyndns.org R'lyeh wgah'nagl fhtagn!
Jul 2 '06 #29

P: n/a
Jorgen Grahn wrote:
On Wed, 21 Jun 2006 08:39:41 -0400, Victor Bazarov
<v.********@comAcast.netwrote:
>Ralathor wrote:
>>I have tried searching on google, but i moastly found the
"differences",
not the strenghts and weaknesses.

Probably because there aren't any. What would you say is the
strength or a weakness of a hammer? [that's a rhetorical question]

... which means someone will inevitably answer it ;-)

Strengths:
[..]

Weaknesses:
[..]

I could go on with this mental exercise for hours, [..]
The only thing it illustrates is that such enumeration is useful
as a "mental exercise" (whatever that means to you). There is no
use for such enumeration in the real world.

What we should be asking is, "Is C++ suitable to implement A?" or
"Is there any other tool (or language) that is more suitable when
implementing A?" Yes, to answer *those* questions you might need
to understand the strengths or/and weaknesses, but without a goal
or a target naming strengths or weaknesses is a waste of time.
Sure C and C++ have strengths and weaknesses. They may be fuzzier
than a
hammer's and harder to agree on, but they are there. It's a relevant
question.
It's about as relevant as "is there a correlation between how people
are named and what their lives are like?" Can we answer this? Yes.
And some people actually make a career out of answering that. Is
there any [real-life] use for the answer? Not IMO.

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask
Jul 2 '06 #30

This discussion thread is closed

Replies have been disabled for this discussion.