[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Programming first steps.

On Sun, Nov 16, 2003 at 08:45:51PM +0800, David Palmer wrote:
> I thought that I might make a beginning at learning.

Good call :)
> I've searched the web, found information that goes beyond the definition
> of plethora, so I thought that I'd ask here.

"Go not to Usenet - for you will be told Yes, No and "try another 
newsgroup" :)
> (1) What is the best language to start with?
> Some say C. Others say C++.
> Some say learn C, then go on to C++.

If you have to maintain any code you haven't written: C is almost a 
must.  There is a _lot_ of C code out there.  C is relatively small:
the number of concepts to grasp is smaller than C++

If you need to look at object oriented code in any language: you will
probably want to at least get a grounding in C++ -- after C.

> Others say go straight to C++, if you learn C first, it's too confusing,
> you've got to unlearn too much when you go to C++, so you're better off
> starting with it in the first place.

They may be right - but, as noted elsewhere, much C++ is written by 
C programmers who don't necessarily use all the features of C++

> (2) Perl or Python. This seems to be another divided camp.
> What are the capabilities of each? What are the applications of each?

Perl - wherever you used to use a shell script, consider Perl.  Perl
also has concepts from sed and awk.  Wherever you have to pattern match
which means more than a relatively straightforward grep, consider Perl.

Perl is essentially sysadmin glue and text chunking - but a whole lot
besides.  The reason I say consider perl is because there are times
when a four line shell script will do it well. There's More Than One
Way To Do It :)

Python is a "proper programming language" but I know nothing much
more about it to comment.
> I've already decided to use Vim, steep learning curve apparently, but
> comprehensive functionality when you get there. Also extended capability
> with lots of plugins.

If you can use simple vi commands, it may get you out of a lot of 
trouble :)


Reply to: