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++
anyway.
> (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 :)
Andy
Reply to: