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