Learning

Discussion in 'C Programming' started by Niv, Nov 16, 2006.

  1. Niv

    Niv Guest

    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.
    Niv, Nov 16, 2006
    #1
    1. Advertising

  2. Niv

    Chris Dollin Guest

    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.
    Chris Dollin, Nov 16, 2006
    #2
    1. Advertising

  3. Niv

    Niv Guest

    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.
    Niv, Nov 16, 2006
    #3
  4. "Niv" <> writes:

    > 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
    Jean-Marc Bourguet, Nov 16, 2006
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Vilvox

    learning VHDL

    Vilvox, Jul 16, 2003, in forum: VHDL
    Replies:
    5
    Views:
    6,846
    Ralf Hildebrandt
    Jul 20, 2003
  2. timh

    learning perl and cgi

    timh, Dec 16, 2003, in forum: Perl
    Replies:
    6
    Views:
    629
    Leif K-Brooks
    Dec 19, 2003
  3. James White

    A question about learning/schools.

    James White, Feb 16, 2004, in forum: Perl
    Replies:
    1
    Views:
    453
  4. Hal Vaughan
    Replies:
    7
    Views:
    464
  5. Andrey Popp

    [I'm learning C]: Learning to use ucontext

    Andrey Popp, Jan 29, 2012, in forum: C Programming
    Replies:
    5
    Views:
    693
    Keith Thompson
    Jan 31, 2012
Loading...

Share This Page