Complete.Org: Mailing Lists: Archives: discussion: March 2000:
[aclug-L] Re: Weekly C quiz (or what is CS)
Home

[aclug-L] Re: Weekly C quiz (or what is CS)

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: discussion@xxxxxxxxx
Subject: [aclug-L] Re: Weekly C quiz (or what is CS)
From: Brian Chapman <tchapman@xxxxxxxxxxxxx>
Date: Sun, 12 Mar 2000 13:47:53 -0600
Reply-to: discussion@xxxxxxxxx

At 3/12/00 01:16 AM , Larry Bottorff wrote:
>
> It failed for me too, but it's the thought that counts, and I appreciate
> the opportunity to explore. I'm taking an algorithms course (CS300) at
> WSU. These questions are tangental to something we're doing usually. I'm
> learning a lot of C, but I'd like to ask some of the folks out there why
> in this day and age I should strive to become a crack C programmer?
> After all, everyone knows the best language is Perl, or Java, or C++, or
> Modula-X, or, or.... I looked at the Mozilla site and saw a lot of
> interesting things being blended (XML, CORBA, a new widget set), but
> mainly with C++ (as far as I understood). In addition, a big knock
> against Linux on the desktop is the relative primitiveness of the
> development tools. MS has pretty IDE's for high-level languages. Your
> average Joe programmer can do a VB app fairly quickly, and now Java is
> trying to unseat VB in that category. I don't mean to ask "hey, where
> are the jobs?", because I know the answer to that: database. But where
> is C going? Can you realistically base a career on it, and not have be
> highly specialized and move to Silicon Valley to find work? Actually, me
> and a few others at WSU want to know.



I think that you've made a flawed assumption in the fundamental reasoning
of why your here. From your words it sounds as if you think that what you
are learning is simply a training session for a job in the computer
industry. I don't mean this to sound harsh so please bare with me. I wish
more fellow CS students would understand the following. To master a
programming language is not simply an exercise in brute force memorization
of syntactical constructs but the understanding of a paradigm used as a
basis to solve any number of problems at hand. You see, the road to
becoming a "crack C programmer" does not lie in remembering to end every
statement with a ';' and not forgetting to include the appropriate header
file. The road to becoming a "crack programmer" (not C specifically) lies
in understanding the processes needed to accurately solve a given problem.
You'll have a hard time understanding the technologies you've mentioned if
you don't understand how their fundamental paradigms differ (especialy if
you can't understand C's). Its about picking the right tool for the job or
developing your own through the scientific method. 

John Carmack (wolfenstein, doom, quake) once said in his .plan that
"knowledge builds on knowledge". He explained that the same principals he
learned in assembly on the old apple computers still hold true today. The
syntax is completely different, but the fundamental concepts are still
quite valid. In CS 300 your learning about certain algorithms such as
linked lists, hash tables, and what not. C is just the currently selected
medium. You should be focusing on what and why, not just how. Ask your
instructor if you seem to be missing the point of the excersise.
Unfortunately, they don't seem to explain much of that during class time.
Something of which I have been quite disappointed about. 

I've been trying to help some of my friends in CS class, but I feel like
I'm wasting my time because I doubt they understand what it's really all
about. One has even confessed that she doesn't want to be a programmer. So
I guess I'm doing little more than helping her get a good grade now.
*sigh*

BTW, C is still one of the most commonly used languages in practice. Don't
forget the Linux kernel is written in it. There probably isn't a platform
in common use right now that doesn't have an optimizing C compiler. It may
also be uplifting to know that the Nintendo 64 and the Sony Playstation
development environments are both ANSI C based! ...well, that cheers me up
anyway :-)

And lastly, in time you will learn to feel sorry for VB programmers rather
than envy them.


-- This is the discussion@xxxxxxxxx list.  To unsubscribe,
visit http://tmp2.complete.org/cgi-bin/listargate-aclug.cgi


[Prev in Thread] Current Thread [Next in Thread]