Esotropiart

Blog

first last

If I Look Tired, It's Because...

Don't worry, I feel worse than I look!

This last week has been a fairly rough one. In reality, the project that has kept me up late at night and very busy during the day is one of the most enjoyable I've worked on in some time. It is not so much the work itself that has drained me, but the deadline. Last night I stayed up until midnight, fitting together some key pieces of the puzzle.

A couple months ago our web team (John and me) were presented with an idea for a web application that would provide a convenient service to our customers while saving our art department much work through automation that is mostly free of Anti-Benefit and Inorganic qualities (inside joke). I was excited to see that we would take it on, but the time frame made me a little nervous. It was a very ambitious undertaking, especially for me.

Fortunately John made all the underlying classes that acted like the deepest "layer'o'guts". However, I had to connect his logic and utilize his classes to build a fairly robust, yet simple to use interface. I find this sort of work quite enjoyable because it keeps my brain stimulated. I am a creative individual and don't at all enjoy day-in, day-out busywork.

What made this project so challenging for me (I was admittedly a little nervous when I heartily accepted my piece of the pie) was the fact that I had such a short time to learn so much. Out of the couple months we had to finish, I was left with about 7 working days to do what I needed to do, since it took John quite some time to get his classes and database structure arranged (and understandably so, especially with distractions and other looming projects). Not only that, but until a few days ago I had only a cursory knowledge of the ASP scripting language (using VB Script). You could basically say that prior to last Wednesday I only knew a couple statements and tiny bits of the syntax. PHP has been my server-side scripting language of choice, and I feel much more confident using it. At any rate, I had to learn ASP in a week's time, using it to do my part in creating a viable, fairly sophisticated web application.

While ASP is a perfectly operable server-side scripting language, so far I still prefer PHP to it. Of course we are working with an earlier version of ASP, not brand-new .NET, and I'm sure there are a whole lot of bells and whistles that come along with that. In general, however, I find PHP a far more robust web authoring tool with all its built-in functions. It seems that there is a quite limited array of functions in ASP. If you want something done, you quite literally have to do it yourself, often writing lengthy code-bits to do seemingly simple tasks that you would expect to have a built-in function to do. PHP has so many built in functions, with tons being added all the time (one advantage to a huge-scale, multi-author open source project), it makes programming a breeze. Of course writing my own code and functions is not foreign to me, but I figure why do it, if there is an efficient built-in function that does it already? Another advantage to PHP is the extremely thorough site, php.net, with very well organized documentation on everything. Finding documentation on ASP is hit and miss. I have just had to rely on Google searches, which is always difficult. Another plus of PHP is the ability to stop execution of a script. This is invaluable for print variables while debugging. I use this constantly! You know, print [some variable]; exit;.

No matter how idealists may bicker and argue and scoff at my point of view, I far prefer PHP's loose typing. Sure, you may have to watch the variables so they don't do unexpected things, but I don't find that hard at all. To me, their behavior and values are very predictable and well-documented, and I can't stand the idea of "re-dimming", excessive type casting, and the lot - such a bother! (British slipping in again, Justin - not that you'll ever read this bore, this rubbish!) I know when something is working as a string, integer, float, etc, because as the programmer, I create a situation where the variables are fostered, shaped and controlled to do my bidding. However, with strongly typed languages, if one variable is slightly off somewhere, you might spend hours trying to find and correct it. I know, it's really a matter of preference, and those that prefer strong typing and are familiar with it's advantages and pitfalls are validated by the fruit of their labor just as well. Neither way is unquestionably and technically better. I just find it easier to program in PHP. I don't feel I'm losing out on anything by preferring it, other than perhaps a little bit of linguistic idealism. My thought is that some programming ideals create more work than it is worth to uphold them, and it's more relaxing to let loose a little and still know that the product will perform as expected. Oh, and technically this flavor of ASP isn't truly strongly typed. It falls somewhere in the middle. I did get my fair share of Type Mismatch error messages, furthermore :)

I don't want to fail to mention that I also have virtually no prior experience with OOP (object oriented programming). It's just not a method of programming I have pursued passionately. I am aware of the general concepts involved and have read about it here and there through the years. I've just never taken it upon myself to learn it thoroughly or make use of it. Luckily it was John who formed the underlying class structures that I used, so I didn't have that big burden for the time crunch. But I did have to learn how to interact appropriately with his objects.

This is really the first time I've experienced an equal, give-and-take team programming situation. John did one part and I another. Our code has to interact seamlessly. The part I found strange was to simply be provided a set of methods, properties and such but have no real access to the underlying code. I can't really see how his objects work internally, so I had to trust that he was doing his part and that the objects would work as expected. Naturally there were a number of bugs that I reported back. I had to guess by the context of the bug and attempt to rule it out as "my bug" before asking John to look his code over, since I myself couldn't see it. All-in-all, it was a relatively smooth process, being that we were in such a rush. I give glory to God for that because I prayed that He would give me strength and ability to comprehend and complete my part of the task. John's two-by-four of knowledge helped out a bit also!

The product is not entirely finished, but it will be demoed to an important sales audience tomorrow, so it has enough functionality to strut its stuff so to speak. May it be known that I don't even pretend to take credit for this feat. There were a number of people involved in the planning stage. And I would rank John's role in it as far more crucial than my own. However, I was thrilled to be tossing ideas back and forth as equals. It really boosted my confidence that virtually all my ideas and suggestions were respected and well-received. Naturally this would be different depending on the team members involved. Often people clash and have stubborn, close-minded power trips and so on. I currently enjoy, for the most part, good relationships and cordiality with everyone I work with.

...I don't like to say "I am" with much emphasis because only God is the Great I Am, "who Was, and Is, and Is to Come".

first last