• My background is programming, most of my career has been in application development. Over 30 some-odd years I've learned a wide array of languages and dialects, from C to Basic to Python to some real oddballs like MOBOL, TADS, and ADVSYS.

    I would NOT recommend C as a first language--or at all. The problem with C in particular (and this applies as well to C++ with a bunch of huge additional problems) is that C is way too primative to teach beginning programming concepts. It's *too* close to the metal.

    Not to mention C has horrid syntax and encourages bad habits very easily. The only language I can think of that's even worse is LISP, which is parenthetical hell.

    Python is a very good first language, especially for teaching. It has simple consistant syntax and consistant language structures, including a wide array of very useful data types.

    C--well, doesn't. C is a good object lesson in why higher level languages exist. 🙂

    But then again DBAs live in T/SQL. Don't even get me started on the horror that is T/SQL...