Questions for all programmers willing to help a beginner
lazer1
lazer1 at blueyonder.co.uk
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
definition.
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
doing.
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
proficient
at programming requires huge amounts of time.
Also you learn by not being too ambitious, but starting by writing simple
programs.
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
thing
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
ride
properly yet.
with Linux, gdb is a godsend for locating bugs, but using gdb effectively is
itself
an art.
the problem today is that computers are too advanced and its too daunting to
get
started.
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
disk
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
primitive
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 gmail.com> wrote:
>> On Wed, Apr 28, 2010 at 00:39, Daniel <asmosis.asterix at gmail.com> 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 lists.ubuntu.com
>> Modify settings or unsubscribe at:
>> https://lists.ubuntu.com/mailman/listinfo/ubuntu-users
>>
More information about the ubuntu-users
mailing list