Wednesday 23 September 2015

Genius Lash Back

Yesterday's post about the "Genius Programmer" effect has had a ricochet, had a colleague, come over and bemoan me for not appreciating ability, and he had me fire up his new website... lots of PHP, lots of HTML and a smidgen of JavaScript... "There" he declared "proof I'm a decent programmer".

*cough* I interjected

"What?" he asked, puzzled.

"No you really don't want to hear my thoughts" I said, concentrating on the screen "it's a very nice site, very swish, is this javscript drive?"

But he already wouldn't let it go, "tell me what you're thinking?"

"All right, I think this isn't programming, this is scripting, coding at best, it's making a virtual environment do something, lots of the site here is from other libraries you've just brought them in by copying and pasting, that menu is just copied and pasted from one on another site, the art work is generic, and you've more stuck existing blocks and ideas together than created anything new"

For you see, I do see the Software Engineer category to be sub-dividable, you have classic programmers, working on the bare metal, or at least working on an emulation of the bare metal.  Then you have coders, who are essentially working in an interpreted language, so for the most part they're coaxing a virtual environment to do their bidding, and working around it's quirks whilst that environment obfuscates the metal below them, many programmers find themselves stuck being coders when they walk into java or C# roles.  But Python, java, perl, C# even some variants of Basic are all making coders out of people and fair do's to them.  Then there are scriptwriters, these are people writing scripts for other uses, so you have bash shell, DOS batch, JavaScript all manner of scripts, I find scripts to be a little like programming the VCR used to be, they have their nuances, but they're all basically the same and like programming the VCR they are very direct and set to a purpose, you can't make the VCR bake bread, but it will record Emmerdale without a fuss.

You could take this as a disparaging belief, but please don't, I think anyone creating actionable code, be that in a language, a script or via physical direction, all have their place and each technology has it's niche, many of us know and work in multiple languages for this very effect, I for example have been heavily using Python for two months, but I still consider my main role as a programmer to be C++, and then coding as C#.  I know Java enough to get by, but I don't consider myself a java expert.  I like C for certain things, but I compile it with a C++ compiler, so I'm not doing pure C unless it's on my old Atari's, so that's just a hobby language, and the same goes for Pascal.

But knowing I have this depth of experience to draw on, lets me move an algorithm, or a solution to a problem from one realm to the other... Take this all back to my colleague...

He copied blocks, used pre-written libraries, and generated the vast majority of his site through not knowing anything, but my copying.  "Great Artists Steal", and yes he stole this site and it looks great... But does that make him a programmer?  Far from it.

No comments:

Post a Comment