Click here to monitor SSC
SQLServerCentral is supported by Redgate
 
Log in  ::  Register  ::  Not logged in
 
 
 


Learning C


Learning C

Author
Message
Steve Jones
Steve Jones
SSC-Forever
SSC-Forever (40K reputation)SSC-Forever (40K reputation)SSC-Forever (40K reputation)SSC-Forever (40K reputation)SSC-Forever (40K reputation)SSC-Forever (40K reputation)SSC-Forever (40K reputation)SSC-Forever (40K reputation)

Group: Administrators
Points: 40903 Visits: 18861
Comments posted to this topic are about the item Learning C

Follow me on Twitter: @way0utwest
Forum Etiquette: How to post data/code on a forum to get the best help
My Blog: www.voiceofthedba.com
P Jones
P Jones
Right there with Babe
Right there with Babe (776 reputation)Right there with Babe (776 reputation)Right there with Babe (776 reputation)Right there with Babe (776 reputation)Right there with Babe (776 reputation)Right there with Babe (776 reputation)Right there with Babe (776 reputation)Right there with Babe (776 reputation)

Group: General Forum Members
Points: 776 Visits: 1510
Why C? Why not just programming skills in general? Language constructs and use are the important part. Fixing on the syntax of one language is too focused - the emphasis should be on the commonality between all languages and examples should show how various languages do the same job and how some are more suited for particular tasks than others.

Personally I've managed a computing degree and over thirty years in the software industry without touching C. Fortran, pascal, Assembler code, vb.net, cobol, php and lots of other languages (and of course SQL) but never C or C++
Todd Townley
Todd Townley
SSC Veteran
SSC Veteran (281 reputation)SSC Veteran (281 reputation)SSC Veteran (281 reputation)SSC Veteran (281 reputation)SSC Veteran (281 reputation)SSC Veteran (281 reputation)SSC Veteran (281 reputation)SSC Veteran (281 reputation)

Group: General Forum Members
Points: 281 Visits: 475
Like P Jones, I've never used C / C++ in my 26 years in the IT industry But similar to P Jones, I cut my teeth on 6502 Assembler, Pascal, creating sprites on a Commodore 64, PEEKing and POKEing bits on a Timex Sinclair, studying operating systems and file system hashing techniques and compilers in college, etc. I've always been convinced that I am the developer / troubleshooter / manager that I am today BECAUSE I have a basic understanding of the underlying architectural principles.

In my current position, I often see technical people struggle, especially when troubleshooting a problem, simply because they don't have knowledge of or understand the underlying principles. (Which could lead to the whole degree / non-degree issue, but that is another topic. :-) )

I agree with the general concept - where people are training for a technical computer career, that training should include topics that allow for deeper interaction/experimentation between the hardware and software. Even if you never use that particular setup in your career, the basic knowledge can be applied in many different ways. In my case, C / C++ were not the tools selected for my course of study. But the languages / courses we had gave us a broad foundation from which to launch our careers.

(My college study included these languages / courses: Pascal, 6502 Assembler, Honeywell Level 6 Assembler, APL, SNOBAL, COBOL, ADA, PL/1, FORTRAN 77, LISP, Compiler design, Dynamic System design, File System design, Operating Systems, Data structures (sorting, looping), Computer Language Design and Construction, Business Systems, plus a math minor.)
OCTom
OCTom
SSCrazy
SSCrazy (2.9K reputation)SSCrazy (2.9K reputation)SSCrazy (2.9K reputation)SSCrazy (2.9K reputation)SSCrazy (2.9K reputation)SSCrazy (2.9K reputation)SSCrazy (2.9K reputation)SSCrazy (2.9K reputation)

Group: General Forum Members
Points: 2859 Visits: 4152
Forget C. That really teaches you very little about programming to the iron. You need to program in some sort of assembly language for that. I started out learning assembly on an IBM S/360 mainframe.

Does that make me a better Visual Studio or T-SQL programmer? Maybe. But, it makes for great stories about large decks of cards and spinning tape drives. :-)
roger.plowman
roger.plowman
Right there with Babe
Right there with Babe (794 reputation)Right there with Babe (794 reputation)Right there with Babe (794 reputation)Right there with Babe (794 reputation)Right there with Babe (794 reputation)Right there with Babe (794 reputation)Right there with Babe (794 reputation)Right there with Babe (794 reputation)

Group: General Forum Members
Points: 794 Visits: 1173
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. Smile

But then again DBAs live in T/SQL. Don't even get me started on the horror that is T/SQL...
GSquared
GSquared
SSCoach
SSCoach (16K reputation)SSCoach (16K reputation)SSCoach (16K reputation)SSCoach (16K reputation)SSCoach (16K reputation)SSCoach (16K reputation)SSCoach (16K reputation)SSCoach (16K reputation)

Group: General Forum Members
Points: 16097 Visits: 9729
Don't bother with C. Make everyone learn Malboge (http://en.wikipedia.org/wiki/Malbolge).

More fun that way.

- Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
Property of The Thread

"Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon
Carlo Romagnano
Carlo Romagnano
Hall of Fame
Hall of Fame (3.8K reputation)Hall of Fame (3.8K reputation)Hall of Fame (3.8K reputation)Hall of Fame (3.8K reputation)Hall of Fame (3.8K reputation)Hall of Fame (3.8K reputation)Hall of Fame (3.8K reputation)Hall of Fame (3.8K reputation)

Group: General Forum Members
Points: 3827 Visits: 3276
I agree with Steve. C and C++ help to understand how to handle memory/cpu/io/other devices. They help to develop very good performance applications or batch processing.

In 1986, I started with ADVANCED COBOL 85 on Honeywell mainframe. Two years later, I started working with C and I wrote a lot of very perfomant applications on 8086 12MHZ. All other languages to follow. (C++, VB, Pascal, Assembler for 86/386, DB2, Clipper, T-SQL, HTML, XML, Powerbuilder, Javascript, C#, VB.NET)

I run on tuttopodismo
jcrawf02
jcrawf02
SSCommitted
SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)

Group: General Forum Members
Points: 1568 Visits: 19324
GSquared (8/15/2012)
Don't bother with C. Make everyone learn Malboge (http://en.wikipedia.org/wiki/Malbolge).

More fun that way.
It's so hard to program in, you can't even spell it...Hehe

---------------------------------------------------------
How best to post your question
How to post performance problems
Tally Table:What it is and how it replaces a loop

"stewsterl 80804 (10/16/2009)I guess when you stop and try to understand the solution provided you not only learn, but save yourself some headaches when you need to make any slight changes."
Russell Fields-270604
Russell Fields-270604
Valued Member
Valued Member (57 reputation)Valued Member (57 reputation)Valued Member (57 reputation)Valued Member (57 reputation)Valued Member (57 reputation)Valued Member (57 reputation)Valued Member (57 reputation)Valued Member (57 reputation)

Group: General Forum Members
Points: 57 Visits: 595
I do think that working with more primitive languages gives you some insight that higher level languages do not. Assembler was essential at one time, even on mainframes. Not something that you used all the time, but something that you needed to know.

(I remember asking a younger, but very versatile programmer with a problem about "one's complement" and getting a blank look in return. But for that particular bug, it was essential to understanding the problem. (This was a bug with SQL Server, bcp, and datetime data from version 6.0 or 6.5.))

Anyway, regarding C, my oldest extant program was written in C about 29 years ago. Still running today. Ha.

Russell Fields
TravisDBA
TravisDBA
SSCommitted
SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)SSCommitted (1.6K reputation)

Group: General Forum Members
Points: 1554 Visits: 3069
My first programming language that I learned from the bottom up was C, and I have never regretted having that as a base programming knowledge level. A mentor of mine once said, "if you are going learn how cars tick, start with the engine, not the headlights." :-D

"Technology is a weird thing. It brings you great gifts with one hand, and it stabs you in the back with the other. ...:-D"
Go


Permissions

You can't post new topics.
You can't post topic replies.
You can't post new polls.
You can't post replies to polls.
You can't edit your own topics.
You can't delete your own topics.
You can't edit other topics.
You can't delete other topics.
You can't edit your own posts.
You can't edit other posts.
You can't delete your own posts.
You can't delete other posts.
You can't post events.
You can't edit your own events.
You can't edit other events.
You can't delete your own events.
You can't delete other events.
You can't send private messages.
You can't send emails.
You can read topics.
You can't vote in polls.
You can't upload attachments.
You can download attachments.
You can't post HTML code.
You can't edit HTML code.
You can't post IFCode.
You can't post JavaScript.
You can post emoticons.
You can't post or upload images.

Select a forum

































































































































































SQLServerCentral


Search