Questions for all programmers willing to help a beginner

lazer1 lazer1 at
Wed Apr 28 19:42:15 UTC 2010

uni doesnt teach you to program, it just teaches you how to look at problems:

modularity, portability, robustness, relevant efficiency etc.

so for instance people tend to code in C even though asm is faster, 

because C makes the code portable and SUFFICIENTLY fast.

Unix is the embodiment of what they teach at uni,

just as a good story isnt about good grammar but looking at the problem 

the right way, eg character definition, plot. character definition is that 

each character should have a well defined and consistent personality:

whenever the character is described the personality should be consistent.

All classic fictional characters have constant characters which stand

outside of the stories. 

uni gets you looking at the meta level of your actions, the same way for

a story you can try to have a villain, and essentially design the villain.

That stands outside of the story, once the villain is well designed you 

then bring the villain into the story acting in accordance with the

with the marvel comics you need to design a costume for the villain as well.

the story needs to bring the villain to the attention of the hero.

it makes a story more interesting if this is done in a positive way where

the hero sees the villain as a good guy initially. Its important to 

avoid cardboard cutout stories where everything is completely predictable.

Its better if the villain does various good things and the hero does 

various bad things.

some villains act completely within the law, eg betrayal, greed, 

a good story should be sympathetic to the villain, the villain's behaviour

should have a reasonable basis. eg in "How the Grinch stole christmas" the

villain is the Grinch and all the Grinch's behaviour has a reasonable basis.

the front edge of stories today is cinema, and they often write the script

around a specific actor. The entire film is written out in cartoon form

called storyboarding because each scene is essentially a cartoon.

at uni 90% of the work has nothing at all to do with programming, 

eg hardware design, digital electronics eg the circuit diagram for

different kinds of flip flops, understanding how circuitry is manufactured,

understanding the structure of CPU's: registers, MMU, interrupts, 

program counter, RISC, buses. The only real programming I did on my degree

was my project, and that was all my own effort. The supervisor just

gave very vague advice.

at uni you learn various languages, but the courses just define the languages,

You only "learn" the languages by writing programs yourself: you learn by

And the learning is quite superficial as you just dont have the time to become

really proficient. And the uni doesnt have the time to teach you as to be

at programming requires huge amounts of time. 

Also you learn by not being too ambitious, but starting by writing simple

The most important thing to learn is how to write bug free code which is 

an art. Because until you have bugs under control you will spend all your time

trying to locate bugs. its like to learn to ride a bike the most important

is to learn how not to fall off. once you have THEN you can think about places

to ride to. But there is no point riding to places if you dont know how to

properly yet.

with Linux, gdb is a godsend for locating bugs, but using gdb effectively is

an art.

the problem today is that computers are too advanced and its too daunting to


most proficient programmers learnt to program when computers were really basic

where you had a much greater chance of getting into the subject as there were

major limits and the work was to try and get around the limits.

eg pipes are a way to get around limited disk space. if you only have 5K of

space then pipes are the only way to do some things.

 They say that 

the most important theoretical ideas in computing are from the early days.

eg the 1950s, 1960s, 1970s. The more advanced the technology the more

the thinking! One of the most important theoretical ideas in fact was the 

invention of the subroutine, and also the invention of the stack as the 

way to realise subroutines.

On 28-Apr-10, Daniel wrote:
>Yes, it makes sense. :)

>On Wed, Apr 28, 2010 at 7:57 AM, J <dreadpiratejeff at> wrote:

>> On Wed, Apr 28, 2010 at 00:39, Daniel <asmosis.asterix at> wrote:
>> > Karl F. Larsen, shure. You can send me if you want.
>> > J I think you are right. I was a little bit to strict. At the end it
>> doesn't
>> > matter, both methods need your attention in order for you to become a
>> > programmer just that yes, when going to Uni you will learn more things in
>> a
>> > quicker time that by yourself. I will consider this idea of going to Uni,
>> > but right now I want to start learn alone.
>> I should quantify that with my own little bit of history.  I started
>> writing programs at about 10 years old using an embedded BASIC that
>> came with the old TRS-80 from Radio Shack.  From there, I took a
>> couple Adult Ed classes at Roanoke College and learned more Basic and
>> Pascal.  Then I tinkered through high school, but took Computer
>> Science classes there and learned qBasic and Pascal.
>> Then I spend a semester at college and got into C++ and VB, but that
>> ended abruptly due to life getting int the way..So I self taught,
>> based on what I'd learned previously and finally got back into school
>> and picked up VB.NET, C++, C, SQL, PLSQL, *HTML, JavaScript, Java, CSS
>> and XML.  Then back to self taugh after I graduated.... :-)
>> There's no reason why the both can't work together.  You can self
>> teach all the code in the world, just as if English was not your
>> native tongue , you could learn it by reading  a dictionary.  However,
>> you'll only have words at that point, and no grammar.  So you take an
>> eAdditional instructions are available for this testcase, click here
>> to read them.
>> English class and there you get the structure and the grammar of the
>> language and build on what you already know.
>> Does that make any sense?
>> --
>> ubuntu-users mailing list
>> ubuntu-users at
>> Modify settings or unsubscribe at:

More information about the ubuntu-users mailing list