Thursday, May 17, 2007

About coding

I'm a coder. A long time ago, in a galaxy far, far away, you might have called me a programmer. I still think of myself as such, but it seems that word has fallen out of favor, so... tink of me as a coder.

Coders these days think they come in two varieties... Web coders and Application coders. I'll explain the difference in the two ways of thinking, and also why a coder is a coder, no matter what code is written, and why the two varieties of coder are really the same in my mind.

First, a web coder worth his/her salt will be conversant with not only HTML, but a client-side scripting language (Javascript?!), a server side scripting language (php, ASP, asp.net, perl...), and some flavor of SQL (MySQL, MS SQL, Postgre, Oracle, whatever...). An at least nod and wink aquaintance with CSS is also desirable, as well as a knowledge of what can and cannot be done on various mobile platforms, such as CE, Windows Mobile, and devices capable of running an Opera browser. In simpler terms, a web coder needs to know how to interface with multiple technologies to provide an interface to a database back end, through middleware, to a client front end.

Let's contrast this with the job of an application coder. The application coder's job is to present data, allow the user to edit/add/delete data (likely from a database residing on a server somewhere), and to produce reports showing the current state of said data. In other words, the same sort of data processing done by a competent standalone application coder is also the job of a competent web coder.

My point (and, yes, Virginia, there is always a point...) is that good coding is good coding. It isn't the language or technology that is important, it is the algorhythm that is the really important thing. Good code can be written in C#, asp.net, VB, C, or assembly language. Bad code likewise. Code is about exactly two things: functionality and efficiency.

The shop I run is currently in the late alpha stages of a product that allows any business to upload their current web pages into an interface that will produce a "windowed" application inside a browser. The goal is to allow any business anywhere to bring their current web site up to a common "look and feel" understandable to all users, with opening and closing of windows, dragging of windows, and the usual functions of Maximize and Minimize.

If you are interested in the current state of this technology, leave a comment to this Blog entry, or send an email to Simplicus.

2 comments:

Randal L. Schwartz said...

"postgre" doesn't exist. perhaps you meant "postgresql", which is pronounced "post-gres-cue-ell", and abbreviated to "post-gres", aka "postgres"?

Simplicus said...

Correct, I meant to type "postgres." I was in a hurry when posting this, and also in a bit of a rant; ergo typing faster than thinking. But that is no excuse for imprecision, so thank you for your correction.

By the way, thanks also for the excellent writing and many examples you have given us all over the years on perl. I consider it somewhat of an honer to have been corrected by you.