Learning to Program
Madison Kelly
linux-5ZoueyuiTZhBDgjK7y7TUQ at public.gmane.org
Mon Oct 1 13:15:00 UTC 2007
Henry de Valence wrote:
> Hi. I'm 15, and I started using Linux last February, and haven't looked back.
> I started with Ubuntu, but then I switched to Kubuntu. Right now I'm running
> Gutsy Gibbon, because Fiesty doesn't support my video card. Anyways, I know a
> bit about Java and C++ (I have the basic stuff about datatypes, control
> structures, functions and recursion, etc, and some OOP stuff.) What I know I
> learned partly by myself and partly in a summer course I took (the Grade 11
> CS course, but according to my teacher we went beyond what we were supposed
> to).
>
> Anyways, I'm looking for a good, comprehensive guide to learning about
> programming GUI applications for KDE using QT, and I figured this would be a
> good place to ask. Ideally, I'd like something that I can do a bit at a time,
> because I have homework and other stuff. The other thing is that I'd like to
> learn programming for KDE 4 applications, but right now I'm running 7.10,
> which uses KDE 3.5. I thought this would be a good place to ask for
> suggestions.
>
> Harry de Valence
I can't make much of suggestion, being a perl-type myself. :)
I did want to say "Welcome to the industry!" though. I am also entirely
self-taught, and owe a *huge* debt to TLUG and other great mailing
lists. Check the archives to see how often I ask questions, and the
quality (and patience) of the replies!
I have three general suggestions though;
a) Whatever language you settle on (Python, etc), find a dedicated
mailing list and join it. For example, perl being my drug of choice,
Toronto Perl Mongers was the list for me. TLUG rocks, but sometimes you
find a wierd quirk that you need to ask a dedicated community about.
b) Write clean code. Period, full stop. It doesn't really matter what
style you adopt, but stick to it and be consistent. It's frightening how
quickly a great program can go to hell because of sloppy code
formatting. My last job was working on a 9yo program that had never been
properly formatted. I would lose upwards of an hour whenever I started
for on a new file just cleaning up the code so I could follow the logic.
c) Don't be a show off and write self-documenting code. As you learn,
you will be tempted to use more and more complex code that incorporates
new tricks you have learned... Don't fall into this trap! *Always* use
the simplest, most obvious steps, tools and commands to accomplish a
task. There is a true beauty in simplicity!
The senior programmer at my last job showed me a short article on the
progression of a programmer by showing a simple "Hello, World!" script.
I wish I could find it again, but it went something like this:
- Beginner:
#!/usr/bin/perl
print "Hello, World!\n";
- Intermediate:
#!/usr/bin/perl
my @words;
my $foo="Hello";
my $bar="World";
push @words, $foo;
push @words, $bar;
my $string;
for (0.. at words)
{
if ( $_ == 1 )
{
$string.=", ";
$string.=$words[$_];
}
else
{
$string.=$words[$_];
}
}
$string.="!\n";
print $string;
- Expert;
#!/usr/bin/perl
print "Hello, World!\n"
Maybe someone here can find the original (much better written)
example of what I am trying to get at, but hopefully you see what I mean. :P
My $0.02!
Madi
--
The Toronto Linux Users Group. Meetings: http://gtalug.org/
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://gtalug.org/wiki/Mailing_lists
More information about the Legacy
mailing list