I am not completely brilliant, so I have to assume that this language, while surprisingly powerful, is extremely simple in its syntax. Though it is quite picky about white space, it makes it up in its forgiveness of other things. Learning how to pass by reference was sort of a pain, and there are some other things I did in C++ that are not immediately obvious in TCL, but overall it is a great scripting language.
Well, as far as I know. I have only done basic research in Perl or Python or Ruby. But I think I will learn them next semester in my free time. I am purchasing a student edition of the IDE that I use at work. $100 bucks for an integrated development environment that covers pretty much all the scripting languages I could ever hope to play with is a good deal.
I also just downloaded a new version of Visual Studio Professional. Like a grand for that program and I get it for the cost of bandwidth. I love being a student. I also got a full version of MSOffice 2007 Ultimate for $70 bucks. That is like a $600 program. It is amazing what is out there if one looks for it. And all legal. woot woot.
I am not saying I have never downloaded something off of the internet, but I generally go back and get a full version if I like it. I suppose I do have a few hundred megabytes of music that weren’t legally purchased, but I think I have supported the music industry pretty well. Besides, most of the stuff I downloaded was old music. 70s funk et al., and not new stuff. I am not completely innocent, is my point. I just try to be when I think about it.
I was talking to a friend the other night about how I write code, and it struck me that I am still sculpting, I just don’t use clay anymore. I had never thought of my process in that light, before, but it fit surprisingly well, and so I wanted to annotate it for further reflection later.
When I would sculpt I would start with just huge lumps of clay and then pound them into the basic geometry I was looking for, maybe hollowing them out if they were thick (no one wants a kiln grenade). Then I would make gross adjustments; adding here, taking away there, until the basic shape was recognizable. Then came the fine adjustments, and finally the silt polishing before letting it air cure. Then I might even polish it up further with a fine wet sanding before glazing.
It has always been easier for me to start with generalities and whittle them down then to build from the ground up. I think that is why drawing has always been so hard for me; a blank page and a single line to start with is so intimidating to me.
I code the same way. I start with just a brute force initial code that does basically what I want, and then I whittle it down and compartmentalize it once I see where all the pieces fit. I start with a massive sequential script in one file. Then I see where regression and iteration could be used; what parts are unnecessary, what needs to be added. Then I polish and make it pretty. Finally I give a nice glaze of comments for posterity.
I love what I am doing. I get frustrated sometimes, because sometimes I just don’t understand. It is not because I don’t try or that I give up too soon. Sometimes it is just outside my realm of understanding. I had never dealt with telecommunications technology or these languages at all before a few months ago, and most of my time has been taken up building streams and emulations using ready made technology. I am finally getting to do what i wanted to do, but I still don’t know very much. But I learn quickly as I go. I may not know it today, but I will by god know it tomorrow. If I don’t, it will not be from lack of effort.
My knowledge, my soul, my life. They are still works in progress.
EDIT: The other day I was dressed like Dilbert and we had our weekly staff meeting where all these brilliant engineers (and me) get together to discuss projects. The boss had already sent some very kind emails about the work I was doing to my superiors but that day he singled me out in front of everyone and told me what a good job I was doing. I think I blushed. I am a whore for praise, I suppose, but there is still a part of me that doesn’t feel worthy and so it embarrasses me.
I guess that is why I love praise so much (even though I blush); it adds weight to my self-affirmations that, “I’m good enough, I’m smart enough and, doggone it, people like me.”