[sf-lug] Tutor me in Programming?
Dennis J Harrison Jr
dennisharrison at gmail.com
Mon Sep 8 12:40:49 PDT 2008
You said it better then I did Jim :)
That is exactly what I am talking about encapsulating one part of your
program and asking for help relating around one tiny part, when the
help is better used on overall instruction. It makes everything
better in the end. Even when you have to rewrite code (and you
will... often... oh so often)
On Sun, Sep 7, 2008 at 12:12 PM, jim <jim at well.com> wrote:
> wow! dennis is right: present the entire problem
> so others understand or can re-interpret what's
> going on.
> it seems to me that sometimes (hopefully often)
> you can encapsulate parts of the program into parts
> (such as classes/objects or functions) so that you
> can present data and ask about activities within
> the object or function. beware that as you develop
> your whole program, you might be going in a less
> than optimum direction, and asking about an isolated
> part of a poorly structured program might get help
> with a small part that lets you continue down a
> wrong path.
> also, it's a matter of experience (note dennis'
> story). don't beat yourself up: the fact that you
> recognize the aspect is great! it'll take time to
> get better, enjoy the process (again, per dennis'
> advice, although i'd say switch to shoe repair or
> sailing rather than marketing).
> (there are people who write programs similar to
> emulating bubble-wrap: the essence of these designs
> is generally some mathematical modeling that
> expresses algorithms abstracted from any particular
> programming language.)
> look up algorithms. the older literature tends
> to concentrate on various data structures and is
> oriented to procedural programming, but that's a
> good starting point.
> On Sun, 2008-09-07 at 11:40 -0500, Dennis J Harrison Jr wrote:
>> All of this is very excellent advice. Everything revolves around
>> problem solving. Even if the problem might be something as
>> nonsensical as; "How do I emulate bubble-wrap to the fullest degree on
>> a computer?"
>> Once you figure out the actual problems to solve, (oh, and, it will
>> hardly ever be a full list on your first shot) the rest is fun :) If
>> it isn't fun... switch to marketing ;)
>> The only other piece of advice I would really really hope you listen
>> to, is this:
>> 1) When asking for help; Do not ask for help out of context. I mean,
>> do not come up with a 'solution' to a problem, then get what you
>> believe to be 80% of it complete, and ask questions only revolving
>> around that (what you believe to be) last 20%.
>> Somone: How do I make it so blah blah blah can tell who got on the
>> green square first?
>> Someonewhowantstohelp: I have no idea what you are talking about.
>> SomeoneElse: If A and B blah blah blah then C blah blah, green XYZ.
>> Chances are, this will almost never work for you (unless you are
>> asking a syntax question)
>> You are much better off explaining the problem you are trying to
>> solve, rather then the solution you think you need.
>> I know it seems like simple advice, but it took me a while to learn,
>> so hopefully this helps :)
>> 2) Learn Python as soon as possible. You will come across many,
>> many, many languages (as you should) in your days as a programmer.
>> These things don't exist for no reason. There is really no 'Chosen
>> One' do it all, and do it the best language. No matter how many
>> fanboys a particular language has. However, if you are learning
>> 'today' then Python will (in my opinion) give you the best set of
>> 'best practices' to take with you across projects, and even into other
>> languages. i.e., My C looks better now, is easier to manipulate, and
>> requires less eyeball hurt to grok... Then it did 5 years ago. I
>> attribute most of this to having learned lisp and python (along with
>> dabbling, in everything else) in the meantime.
>> On Sun, Sep 7, 2008 at 12:08 AM, Justin Ryan <justizin at vongogo.org> wrote:
>> > On Sat, Sep 6, 2008 at 7:59 PM, jim <jim at well.com> wrote:
>> >> (brazenly: ) back away and ask
>> >> * what kind of data is your program handling,
>> >> is it uniform (a bunch of numbers or a bunch
>> >> of names), does it have a beginning and an
>> >> end (user input from a keyboard has a beginning
>> >> but no predictable end), are there relations
>> >> between data elements (a name and a phone
>> >> number, a number and its square).
>> >> * what result is wanted? sort the data,
>> >> compress it, eliminate as much as possible,
>> >> record (log) it in a certain fashion....
>> >> * what tools are available to you to use?
>> >> various programming languages, various
>> >> libraries or modules?
>> >> how to think like a programmer:
>> >> http://blogs.techrepublic.com.com/programming-and-development/?p=43
>> >> how to think like a computer scientist:
>> >> http://www.greenteapress.com/thinkpython/
>> > A nice Java and C++ book also. I was going to post this link:
>> > http://www.google.com/search?q=how+to+think+like+a+computer+scientist&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a
>> > But then I saw yours, so I did anyway. :-P
>> >> (those who know me, forgive me: ) consider
>> >> learning python
>> >> * it's human readable to the max
>> >> * colleges are switching to python from C as
>> >> their intro to programming language
>> >> * one of the backbone principles is not to
>> >> be "clever"
>> >> * python literature and modules are well-
>> >> documented and with respect to expressing an
>> >> elegant problem solution
>> >> * python programmers, i.e. the people to whom
>> >> you'd be turning to help, have a reputation,
>> >> as a group, to be better than average
>> >> programmers in the very sense you mean.
>> > We like to say that we know ten programming languages on average, I'm
>> > not sure if we'll collectively admit to being as cocky as you've
>> > pinned us, but you can't scoff at a group whom debate whether the most
>> > productive programmer produces ten lines of code a day, or negative
>> > ten. ;)
>> > PyPy++, people at Sun, such as the author of Duby, are following the
>> > Python community's discarded mavericks. :)
>> > Peace,
>> > J
>> > --
>> > Justin Alan Ryan
>> > Independent Interaction Architect
>> > http://www.bitmonk.net/
>> > * : +1-415-226-1199 x2600
>> > "All because of a bunch of stuff that happened.."
>> > -Homer Simpson
>> > "The best way to get in touch with me is PayPal.
>> > -Alexander Limi
>> > _______________________________________________
>> > sf-lug mailing list
>> > sf-lug at linuxmafia.com
>> > http://linuxmafia.com/mailman/listinfo/sf-lug
>> sf-lug mailing list
>> sf-lug at linuxmafia.com
More information about the sf-lug