which progrraming language to learn first

Stephen R Laniel steve at laniels.org
Fri Jul 15 17:46:07 UTC 2005


On Fri, Jul 15, 2005 at 10:33:06PM +0500, Mustafa Abbasi wrote:
> i was thinking C or visual basic but i am not sure if visual basic can be used
> in linux ( can it???)

VB is a Microsoft thing. I don't see why it *couldn't* work
under Linux; it seems like a fairly platform-independent
object model, but then again I have little experience with
it. Microsoft's Visual Basic for Applications (VBA) has
Excel- and Word-specific object models. VBA is actually
pretty awesome: when Excel came out, it pretty well
annihilated the crappy macro language inside of Lotus 1-2-3.
But I digress.

> are these easy to learn, if only at the begginer level.
> is there some place that would offer me a certificate for completing this
> thing.

I'd suggest Perl. It gives you shell-programming experience,
and it's also the basis for a large portion of the websites
out there. Plus Perl is very much like PHP, I'm told (I do
all my web stuff in Perl, not PHP), so it probably buys you
PHP without much work.

I've also found that Perl has the smallest gap between "what
comes to the programmer's head" and "what the programmer has
to type". Here's how you'd convert all instances of
<b>[Some text]</b> in a given document into
<strong>[Some text]</b>:

#!/usr/bin/perl
use strict;
use warnings;
my $infile = join '',<>;
$infile =~ s|<b>(.*?)</b>|<strong>$1</strong>|gsmi;
print $infile;

Now if you save that as 'progname.pl', you can run

progname.pl testfile.html

and get the converted file on standard output. Six lines to
do a basic task that *should* take only six lines. Try doing
this in C.

I've heard Python is very good, too, and cleaner that Perl.
It's supposed to be a better language for object-oriented
programming.

One question is: what do you want to do with the languages
you learn? C is best for low-level programming that requires
you to play directly with RAM. C++ is more object-oriented,
but is really a hack -- a good hack, though. (Check out
Stroustrup's "The Design and Evolution of C++" to understand
why it works the way it does. He had no choice.)

The whole world really ought to be OOP, except for a small
number of people who need low-level hardware access. So you
probably ought to learn Python or C++.

-- 
Stephen R. Laniel
steve at laniels.org
+(617) 308-5571
http://laniels.org/
PGP key: http://laniels.org/slaniel.key
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <https://lists.ubuntu.com/archives/ubuntu-users/attachments/20050715/6270fd1c/attachment.sig>


More information about the ubuntu-users mailing list