473,473 Members | 1,864 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

Learning

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
3 1444
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
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
"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 thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

5
by: Ron Stephens | last post by:
The newly rechristened Python Learning Foundation is a web site dedicated to the assistance of people learning the Python programming language. Features include: 1. Daily lists of new and recent...
29
by: Jhon smith | last post by:
Hi,all,I was just wondering if I am likly to have any problems trying to learn C from older books,I have some from the late 80`s,mid/late 90`s. I am using Dev-C++ on the pc windows platform,But I...
4
by: Christian Blackburn | last post by:
Hi Gang, I saw this for sale online: Microsoft Visual Basic.NET Deluxe Learning Edition Version 2003. I'm wondering is the CD that's bundled with the learning edition just a digitized version of...
1
by: David Van D | last post by:
Hi there, A few weeks until I begin my journey towards a degree in Computer Science at Canterbury University in New Zealand, Anyway the course tutors are going to be teaching us JAVA wth bluej...
7
by: Max | last post by:
On monday I start a semester course in Python (the alternative was Java). I was looking through the course outline and noticed the following: 1) UserDict is used. This is deprecated, right? 2)...
36
by: utab | last post by:
Dear, I have experince in C( numerical projects, like engineering problems, scientific applications) I have the basic notion of C++ also, I have read Accelerated C++ until Chapter 7, however it...
2
by: bokiteam | last post by:
Hi All, Here is my idea to save learning time - Personal learning book. What we really need is somebody really familiar our learning experience, and then takes the example to teach us. Save...
78
by: arnuld | last post by:
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...
0
by: LK~ICT | last post by:
Sri Lanka rural e-learning project seeks corporate support Dec 04, 2007 (LBO) - A Sri Lankan e-learning initiative for rural students is seeking corporate sector support to expand and cover 400...
16
by: John Salerno | last post by:
Just something that crosses my mind every time I delve into "Learning Python" each night. Does anyone see any value in learning Python when you don't need to for school, work, or any other reason?...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
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,...
0
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...
1
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...
0
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...
0
agi2029
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,...
1
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...
0
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?

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.