Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Re: Existential Crisis (Or: On Becoming a Better Monk)

by mstone (Deacon)
on Dec 05, 2002 at 01:34 UTC ( #217646=note: print w/replies, xml ) Need Help??

in reply to Existential Crisis (Or: On Becoming a Better Monk)

From your post, it sounds like you want to learn more about programming as a general subject.. the theoretical stuff you're more likely to learn in a classroom than in day-to-day programming. The kind of stuff that will give you enough foundation to teach yourself even more.

I could suggest a whole stack of books that would teach you some aspect of programming theory or other. The problem is that none of them provide enough through-line to show you how learning the theory will have any bearing on your day-to-day programming experience. That tends to be a weakness among self-taught programmers, in fact: getting stuck at the "why should I care about this if it doesn't help me solve problem X?" stage.

Formally-trained programmers go through that same phase, but they get the information anyway. Their colleges say, "you'll care about it because part of the curriculum, and if you don't learn it we'll flunk your ass," which basically holds the book up to the student's nose long enough for the light bulb to go on.

The light-bulb in question has more to do with changing your world view than with solving any specific problem. Programming theory teaches you how to recognize fundamental classes of problems, rather than just "I want to do X," problems. It's less about "how do I do X?" and more about "why should I do X?"

Now, I happen to have spent a fair amount of time mediatating on programming theory, and would be willing to make you a deal: I'll write a series of posts about programming theory if you'll suspend your "okay, but how do I apply this?" instinct long enough to see how everything fits together.

Writing that series would be good exercise for me. It would force me to put my ideas in order, and to think back to the mindset of someone who hasn't been living and breathing the stuff for the last few years. It would also shine a spotlight on any weaknesses in my own understanding: if I can't explain something to someone else, I probably need to spend more time thinking about it myself.

Sound interesting?

  • Comment on Re: Existential Crisis (Or: On Becoming a Better Monk)

Replies are listed 'Best First'.
Re: Re: Existential Crisis (Or: On Becoming a Better Monk)
by jreades (Friar) on Dec 05, 2002 at 09:41 UTC


    In my own defense, the problem for has not so much been why should I care (I could tell that the contents of the Perl algorithm book would be good for me), but how do I even get my head around the daunting terminology.

    The analogy here might be the construction worker to the architect -- the construction worker puts on a pair of old jeans, goes down to the site, checks the plan, lays out his tools and gets to work. Then the architect swings by with all his talk about form, habitable spaces, and so on. Much of this goes right over the construction worker's head -- not because he (or she) is dumb or uninterested, but because it's wrapped in a lot of impenetrable jargon that only the initiated can know.

    The construction worker can tell you that if you put strut A over there your building will fall down, while the architect can tell you why it's ugly. They're talking about the same thing, but from different vantage points, and often the latter will have a greater sense of the whole.

    I hope I'm not offending anyone with an construction background, I'm speaking in a grossly general way here in order to make a point.

    My favourite programming book of all time was the Llama book. It was the third book from which I tried to learn Perl, and it was the one that worked because it was so clearly working from the premise that the reader was not stupid, was there to learn, but really didn't know his or her a** from his elbow when it came to programming. And what made it stand out as far superior to other books was that it took a progressive approach to teaching by example -- each program was an extension to the one that you had just done for the preceeding chapter. So you could see things coming together in front of you. Each program contained 9 things that you had already done, and one that you hadn't. If you became confused you only had to step back a chapter and re-read.

    If you can make the CS vocabulary intelligible then not only will I erect a small shrine in the corner of my flat, but, frankly, you should be writing a book.

    Awaiting his enlightenment,


      <pm>There is an incredible wealth of good stuff in the Wikipedia on CS subject matter. It may even be a good place for the posts on CS theory to go. If not there, stick them in the PM Tutorials section.

      I really like the two Tannenbaum texts we had in my CS courses. I wish we would have used all of his books. You may want to check them out. I read all of Structured Computer Organization in a few weeks, and enjoyed it immensely. This is not my usual experience with textbooks. His networking text is almost as good a read, but still excellent from a technical standpoint.

      TGI says moo

      Hey everybody.. sorry for the delay in responding. I'm a stagehand in one of my other lives, and am currently busy with a show that runs for a week (a Disney ice show.. pity me).

      I'll start cranking out notes for the first post of the series, and will try to have something ready by monday. If you don't see anything, feel free to flood my inbox with "what's up?" messages to prod me into moving.

Re: Re: Existential Crisis (Or: On Becoming a Better Monk)
by BUU (Prior) on Dec 05, 2002 at 02:21 UTC
    This idea sounds very interesting.. at least i'm interested as well. (not really in same situation, but i enjoy this stuff anyways.) But this sounds like it deserve more then a series of soon to be forgotten posts on a this board.. Why not (assuming decent quality... no offense) post them to or something as well? Some kind of 'article archival', rather then just posts..
Re: Re: Existential Crisis (Or: On Becoming a Better Monk)
by toadi (Chaplain) on Dec 05, 2002 at 13:28 UTC
    Actually I would be rather interested in something like you suggested!

    I'm a self thaught programmer, also read general programming books and liked them. How to optimise, logic theories. I'm not as eloquent to describe or give a good explanation of them. But I know how they work...

    My opinions may have changed,
    but not the fact that I am right

Re: Re: Existential Crisis (Or: On Becoming a Better Monk)
by jjdraco (Scribe) on Dec 05, 2002 at 21:40 UTC
    I'm all for it, I would love to see some of those post, it would help me out because I'm in a similar rut as the origanl poster. That and I like theroy stuff anyway

    learning Perl one statement at a time.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://217646]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (4)
As of 2018-02-26 02:04 GMT
Find Nodes?
    Voting Booth?
    When it is dark outside I am happiest to see ...

    Results (316 votes). Check out past polls.