Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

Impending Friardom

by NovMonk (Chaplain)
on Jun 29, 2004 at 13:52 UTC ( #370475=perlmeditation: print w/replies, xml ) Need Help??

Esteemed Monks,

I am approaching a milestone here and wanted to share my thoughts about it. Although everybody Knows XP means nothing, I am nearing the exalted level of friar, thus proving conclusively that the axiom about XP meaning nothing is True. "NovMonk??" you may well ask. "Isn't she the same novice whose habit is always dirty/ falls asleep in chapel/ is always off mucking about in the Catacombs when there's work to be done?" Yet while I have been here, quietly studying and listening from the corner, I have at least learned to use strict/ warnings/ diagnostics, and better still, to use Super Search. I have worked on little problems at my job and taken inordinate joy in making scipts for simple text manipulations that take my cow orkers hours to accomplish by hand. That is all good.

But the main thing I've learned is that I am not a programmer, and I really want to be. I see, reading many posts, present and past, what a programmer's life is like. The cool kinds of problems you get to solve. The way you can make things happen if you just use the right incantations in the right order-- and the style with which so many of you do it, all the while dispensing wisdom, kindness, and the occasional well-deserved sharp adminishment to folks like me. I watch you with same awe my little son does when he sees the firemen in their station down the street.

But the sad fact is, I did not get the math/ computer science background in school to begin to understand what most of you are doing-- or what I want to be doing for that matter, and going back just now is not an option. Being able to read Old English helps a bit-- I'm used to looking at incomprehensible symbols/ patterns and puzzling them out via rules and a dictionary. But without a framework to apply all those patterns to, I am pretty much stuck.

The point of all this is, I don't deserve to be a friar-- or a monk for that matter. But I have been doing a lot of reading over the past few days-- the Reviews section, and some of the Selected Best Nodes dealing with book recommendations, and I have started a reading list. I'd like to solicit additional recommendations, of course. But mostly I'd like to tell you that this community has been an inspiration for me, and even though I haven't said much, I have been quietly learning from your example. And now, if you'll excuse me, I think I have some carrots to chop.

Thanks, Everyone.

NovMonk (who is no longer new, except in wisdom.)

Replies are listed 'Best First'.
Re: Impending Friardom
by dragonchild (Archbishop) on Jun 29, 2004 at 14:29 UTC
    More than anything else, CS is based on logic, not math. A strong grounding in predicate logic will do more for you than algebra or set theory, in the short term. And, frankly, I have a degree in both CS and Math and I get lost in some of the discussions. Don't sweat it! :-)

    We are the carpenters and bricklayers of the Information Age.

    Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose

    I shouldn't have to say this, but any code, unless otherwise stated, is untested

Re: Impending Friardom
by andyf (Pilgrim) on Jun 29, 2004 at 16:11 UTC
    I wish to recommend a book for you, it requires no hard math, but it will expand your programming abilities. "Godel, Echer Bach" by Douglas Hofstadter. Mandatory reading for all non-maths CS undergrads. When you read it it will seem like complete strange nonsense that has nothing to do with computers. That is just a clever trick. It has lots to do with computers and programming. BOL. Andy
Re: Impending Friardom
by hardburn (Abbot) on Jun 29, 2004 at 14:39 UTC

    You don't need CS or a strong math background to be a decent programmer. It might help (or it might not . . . ), but it isn't required. Math majors put a lot of emphisis of rigor, which is necessary for understanding complex algorithms. However, a good programmer knows how to abstract problems, which in some ways is the opposite of rigor.

    send money to your kernel via the boot loader.. This and more wisdom available from Markov Hardburn.

Re: Impending Friardom
by Old_Gray_Bear (Bishop) on Jun 29, 2004 at 15:46 UTC
    First, Congratulations!

    Second, can you add some neeps to the carrots, please?

    A CS degree may be helpful, but I suspect that any rigorus training in critical thinking is a good foundation for computer programming. Programming is more a way of looking at Problems and decomposing them into handle-able chunks than it is compiler design or theoretical algorithmic analysis.

    A Programmer (Hacker, Systems Analyst, what's in the name) sees the World differently, not as a monolithic Thing, but as a set (albeit a very large set) of inter-related and inter-dependent parts. The trick is to understand the information flow between the various parts so you can modify its path and make something new out of it. Understanding how to understand the relationships between things inside (and outside) The Machine is often more important that the pure book-learnin'.

    Knowing that the theory exists is useful, but application is everything. (I once told a manager "No, I don't know what the multi-threaded Poly-Redundant sort algorithm does. I do now _how_ it does it, and that's enough." It was one of the more interesting performance reviews I ever had. We were still exploring the implications of my statement at my next quarterly review.)

    Keep reading, keep exploring, keep coding. We are all Beginners here.

    I Go Back to Sleep, Now.


Re: Impending Friardom
by mpeppler (Vicar) on Jun 29, 2004 at 14:23 UTC
    Hang in there - keep reading, both here, and books, and maybe a few mailing lists, and you'll pick it up - you already appear to be well on your way!

    Michael (who doesn't have a CS background either...)

Re: Impending Friardom
by zentara (Archbishop) on Jun 30, 2004 at 13:29 UTC
    You would be surprised how much you learn by just hanging around and reading other's posts. You might not be able to sit down and whip off a perfect script like some of the experts around here; but you do pick up the "vocabulary" and you get a feeling for what the problems are. That means you can more effectively Google for you deserve what you have attained.

    It is a "sign of intelligence" to realize "how much you do NOT know".

    I'm not really a human, but I play one on earth. flash japh
Re: Impending Friardom
by dfaure (Chaplain) on Jun 30, 2004 at 11:13 UTC

    Roughly speaking about my own (real) XP ;-), the only purely technical things I kept from academic CS are:

    • Boolean algebra
    • Algorithm design

    and theses basic topics are quite well explained in books, FAQs,... This is just easier having a teacher helping you to push the stuff into your brain than sitting on the books and waiting for the knowledge coming thanks to capilarity action (I tried this way, but this doesn't work very well).

    More seriously and IMHO, the key is more (pedantically speaking) a matter of methodology, which is not a CS dedicated topic. There's a lot books about the subject which applied to CS leads to practices like SADT, UML, MERISE, and more recently eXtreme Programming. There you'll find helpful being subscribed to a public/university library. Lot's of these books are interesting to read but not worth to have always at home.

    HTH, Dominique
    My two favorites:
    If the only tool you have is a hammer, you will see every problem as a nail. --Abraham Maslow
    Bien faire, et le faire savoir...

Re: Impending Friardom
by sintadil (Pilgrim) on Jul 04, 2004 at 08:22 UTC

    I don't claim to be a master programmer myself, and I lack the professional position and educational backing to properly label myself as one. But it makes me extremely proud to be able to say that I can solve most computing problems that cross my path, using the tools that I have available, constructing new ones when necessary. If anything, I would venture to say that that makes me a programmer.

    Sure, reading a lot (both code and instructional material) has helped. But I think that what has made me a programmer (if I may be permitted to don extraordinary Hubris{tm} to describe myself thusly) most is that I use my skills as often as I can. Even when I'm working on one item, I test other things using one-liners. Some people have described programming as an art, and some other people have described programming as a science. I personally see it as a merging, a synthesis, of both. Developing one's ability in both is a function of practise: the more one practises, the better one's skill will become as a result of said practise.

    I believe that Old_Gray_Bear described programming very accurately, though I have a couple of things to add. I personally see using computer languages to be very homologous to using natural languages. Many have said that learning a new language (natural or otherwise) is like learning a new way to think. It helps to understand at least one language well to serve as a basis for comparison, and to be able to recognise and thus grasp similar constructs. Language itself is part art, part science, and part something else. Unless you have a brilliant natural talent, you need to practise to become skilled with a language. Just as understanding the world can make you a better artist and a better scientist, so too can it make you a better programmer. I applaud Old_Gray_Bear for sharing their wisdom as I attempt to expand it to the slight degree that I can.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlmeditation [id://370475]
Approved by Corion
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (4)
As of 2022-05-22 02:38 GMT
Find Nodes?
    Voting Booth?
    Do you prefer to work remotely?

    Results (78 votes). Check out past polls.