When learning new programming languages, a lot of times just knowing the syntax and functions is only 50% of the battle. The other 50% is style and methodology. In a spoken language, one might call it fluency. It’s going beyond the basic knowledge to learn the most efficient and elegant ways to accomplish the task at hand. A particular programming task most likely can be completed in a multitude of ways, but knowing the best way is the challenge.
I’ve got the first 50% of Javascript, AJAX, and jQuery under control. Now I’m learning the other 50% as I work on my projects. I had a fairly simple interface to build for a bandwidth management application that turned out pretty well. I’ve got sortable tables, automatic table row striping, entry forms, and nice smooth jQuery AJAX calls to interact with the backend database without loading new pages. Now I’m going back to my main project, which is a front-end search and reporting tool for a billing system. I’m rebuilding it to incorporate all the new bells and whistles that I’ve learned. Looking at the old code, I know that a lot of it I wrote just knowing that first 50%. My new fluency will produce a better, faster, and more appealing web application this time around.
My latest programming project has been fairly interesting. Part of the project involved a cron script that opened a telnet session to a remote device, gathered information, and logged all of the info to a text file for review.
The script has since been fleshed out. Now it pulls a list of devices from a mysql database. It loops through the devices, gathers the information and saves the data to another table in the database. A web interface has been created that allows an administrator to make configuration changes to the settings that are stored in the device table. It also gives the user the current device status and the ability to search for historical information gathered from the devices.
Years ago, I would have ended up with lots of individual scripts, all written in Perl and HTML. It would have been clunky and ugly, and I would have been unhappy with the results but unsure what to do about it.
These days, I’m able to combine many different tools, all of which have different uses. The cron script is written in Perl, mainly because the original script was in Perl and I didn’t want to start over on it. The web interface is in PHP. I use Javascript to do some neat DHTML stuff, like adding new rows to tables and switching between DIV tags. The backend databases are Mysql for storing the data and Progress (I pull information from our billing system to cross-reference and find user name and other information).
Yes, those are a lot of different tools, and yes, it’s hard to keep up with all of them and be proficient in all of them. However, that’s what it takes to be able to produce quality, professional-looking web-based applications. I know I’m much happier with my final results than I would have been several years ago.
Wow, it’s been a long time since my Oracle DBA days. I’m getting deeper and deeper into my latest project that includes a lot of MySQL DB work, and I need to spend some time looking into things that I long forgot about, like foreign keys, constraints, and indexes.
What fun! I love this stuff!