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

Learning

P: n/a
Niv
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.

Nov 16 '06 #1
Share this Question
Share on Google+
3 Replies


P: n/a
Niv wrote:
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).
Would /either/ of C or C++ be appropriate for that? It's not obvious.
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?
My advice would be to pick whichever language you have the best
local support for (ie people who understand & have used the language).

My caricature:

C is simpler. C++ is more expressive.

C lets you shoot yourself in the foot. C++ prevents that,
but sometimes gives you the opportunity to shoot
yourself in the guts instead. With great power comes
great responsibility.

C lets the careful programmer write code that is both
elegant and maintainable. C++ lets the careful programmer
write code that is both elegant and maintainable.
Be a careful programmer.

C compilers and the code they generate need relatively
little resources. C++ compilers and the code they
generate (may) need more. Sometimes the difference
matters. Sometimes it doesn't.

--
Chris "hantwig efferko VOOM!" Dollin
The shortcuts are all full of people using them.

Nov 16 '06 #2

P: n/a
Niv

Chris Dollin wrote:
Niv wrote:
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).

Would /either/ of C or C++ be appropriate for that? It's not obvious.
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?

My advice would be to pick whichever language you have the best
local support for (ie people who understand & have used the language).

My caricature:

C is simpler. C++ is more expressive.

C lets you shoot yourself in the foot. C++ prevents that,
but sometimes gives you the opportunity to shoot
yourself in the guts instead. With great power comes
great responsibility.

C lets the careful programmer write code that is both
elegant and maintainable. C++ lets the careful programmer
write code that is both elegant and maintainable.
Be a careful programmer.

C compilers and the code they generate need relatively
little resources. C++ compilers and the code they
generate (may) need more. Sometimes the difference
matters. Sometimes it doesn't.

--
Chris "hantwig efferko VOOM!" Dollin
The shortcuts are all full of people using them.
Thanks for that Chris.
In fact, the language I may need to learn is SystemC, a bit more
complex than I thought.
So I may have to go to something else altogether!

Kev P.

Nov 16 '06 #3

P: n/a
"Niv" <ke*********@mbda.co.ukwrites:
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 wouldn't call C more abstract than VHDL -- I'm quite competant in C, C++
and VHDL, but I haven't used VHDL for years -- especially if you go out of
the subset used by synthesizers.
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?
If your goal is to learn C++ go straight for C++. Learning C before will
not help you at all to learn modern idiomatic C++.

If your goal is systemC (you don't speak about it but I'm still in the
field enough to think about it when I learn HDL and C++ in the same
sentence) -- well I don't know enough about it to recommand a learning
path. A priori skipping C should not be a problem.

Yours,

--
Jean-Marc
Nov 16 '06 #4

This discussion thread is closed

Replies have been disabled for this discussion.