C Programming Self-Help: Introduction

I’ve been teaching C programming to peers for as long as I was in high school, and it still puzzles me how people have a hard time learning it. Now that I’ve taught the subject to college students in a university, I’m beginning to understand why C programming is so damn hard to learn, and teach, for that matter.

Teachers and students see C programming, and computer programming, in general, as something of a science. But from my experience, programming is more than that. C programming, and programming, in general, is not mere science. It is an art. In fact, I see it as as an abstract, literary form of art mixed with fancy, twisted-logic.

If you have experience programming, programming is so abstract that it’s mind-boggling just thinking about it. How can something be created out of nothing? How can software be created just by typing something? Add it to the fact that we see programming as a science, so it’s all about numbers, math, equations, and all that technical stuff.

To make matters worse, a lot of people who had programming experience would say programming is indeed hard, adding to its bad image. If you’re new to programming, you’re very much intimidated right now.

I want you to pause for a while and heed what I have to say. It will change the way you see programming forever, and you’ll actually start liking it instead of hating it. Here goes:

Isn’t programming just like painting, composing music, or writing a literary piece?

Look at the striking similarities. Does an image, a melody, or a story exist before it was created by the artist? Hell no. It only exists once the artist converts his or her abstract ideas into something concrete: a painting, a song, or a literary piece.

An algorithm, the idea inside the programmer’s head, the series of steps that make up a program, is converted to something that the computer can run, through the process of programming. Programming is nothing different from composing music, painting, or writing a piece of literature. Isn’t software just the concrete form of an abstract idea?

Conversion of an abstract idea to something concrete that the senses can capture requires skill. Therefore, programming, in its purest essence, is merely a skill!

Right now you would probably disagree with me. Music is artsy. Writing is artsy. There’s no science or logic in that unlike programming.

But doesn’t the musician follow music theory in order to make a song? Composing music is all about scales, notes, rhythm, and music-theory. How about writing a novel? Well… The writer has to know how to construct a sentence, follow the syntax and semantics of grammar, etc. to come up with very good narratives. Music theory and grammar are all sciences, and science, whether you like it or not, should incorporate some form of logic to make sense.

In computer programming, the programming language (C, in particular, for this series of articles), is the English grammar to writing English novels.

By know you should be getting the idea that programming is really nothing different from any skill you can master. It is not hard-core mathematics and it is not hard-core genetic engineering. Programming is just like any other skill that you can learn and master through practice, interest, time, and dedication.

These series of articles is all about just that: helping yourself master the skill of C programming through self-help. My goal in writing these articles is to help beginner C programmers to ease up the learning curve in learning the skill of programming using the C language, in particular. C is a widely-used programming language, and while some may not agree with this, other programming languages are patterned to C (Java and Ruby, just to name a few), so learning the language really hits a lot of birds with one stone.

Aside from beginners, I also would like seasoned C programmers and teachers to learn from these articles (and correct me if I’m wrong!) and to add to the vast body of knowledge we already have about C programming.

Ready? Let’s begin.

Advertisement

2 Comments »

  1. Edric said

    I agree :)

    P.S. Sir Noriel, why don’t you try posting in Associated Content din :) haha

  2. [...] January 16, 2010 at 8:21 pm · Filed under Uncategorized (This page redirects from my previous article.) [...]

RSS feed for comments on this post · TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.