Wedge

Public area => The Pub => Off-topic => Topic started by: Auk on June 16th, 2013, 03:00 AM

Title: What type of programmer are you?
Post by: Auk on June 16th, 2013, 03:00 AM
I found this(http://stevenbenner.com/2010/07/the-5-types-of-programmers/) page after googling "OCD programmer" since  I'm curious if there's a term to describe the type of programmers who's always worried about little things such as variable names, the order of words that appears in a variable name, camel-toe vs insert-naming-convention-here, how the output such as HTML appears and alternatives to "if (strlen($string) == 0)" and such. [1]

The theoretical one describes me too because I do stare blankly at my computer and rant about time :lol: while I OCD my way towards a stable version of my code. While my stuff are very stable, I never view it as a complete project... With that said, what type of programmer are you?
 1. That happens to be me :-/, I can't stand to see imperfection in my code, I hate trailing spaces and most things better line up properly or it'll be edited to line up.
Title: Re: What type of programmer are you?
Post by: Arantor on June 16th, 2013, 03:12 AM
I'm a bit of all of them.

Some of what I do is duct-tape code. Usually that's stuff buried deep in the bowels where neither extreme performance nor extreme portability (smallness) are required. Usually it is functional and rugged enough to not break unless other things are already broken, but it won't necessarily be pretty or 'nice'. But since it's internal-guts code, it doesn't have to be pretty, nice, fast or tiny. Reliability is the prime consideration in those cases, and we all know duct tape fixes any damn problem.

Some of it is OCD perfection. Usually this is more an aspect of design rather than implementation. To me, the design of the warning system falls into this category, even if some of the code is duct-tape ish. This is the stuff I *like* to make happen, where it is beautiful on the outside and beautiful on the inside. Practicality and sanity tend to discourage *too* much of this for me.

Some of what I do is anti-programming. I like code reuse as much as the next person, and if I can reshape something to reuse existing code, so be it. I'm also not entirely against reusing other peoples' work if the licence and conditions are favourable (because invariably they know their specific subject better than I do, e.g. the draggable thing I'm using for the boards and categories list is very clever and while I could have written it given time, caffeine and some moral support, they made what is likely a better job of it because they know jQuery UI better than I do, for example)

Some of what I do is half-assed. Usually that's because it's the first draft, where functional rather than beautiful is the goal. A bunch of UI stuff I've done is firmly in this category - it's good enough to be useful but not good enough to be 'perfect' and has rough edges. I don't sit down and design UIs to perfection, I tend to leave that to people better qualified. But I provide the bits underneath that do work (see the other categories)

Probably a little more of what I do is the theoretical category. I spend a lot of time figuring out what people are trying to do and the best way(s) to make that happen. Though for me it's 80/20 thinking/coding and I try and aim for the 'One True Way' aspect perhaps a little too much.

But yeah, all of the above.
Title: Re: What type of programmer are you?
Post by: xrunner on June 16th, 2013, 03:20 AM
Duct tape baby.

The only programming I do these days is for my hobby [1]. The programming involves a microcontroller called an Arduino. Right now I'm putting together a traffic light project that simulates the operation of traffic lights at two intersections using LEDs.

Nobody will ever see the code nor have to understand it except me, and I don't have to worry about anyone telling me how inefficient the code is. If it appears to do it's job to the casual observer - it's considered by me to be a complete success. :)
 1. model railroading
Title: Re: What type of programmer are you?
Post by: Dragooon on June 16th, 2013, 08:08 AM
I'm half-assed most of the time :P, basically I do iterations of everything I do, improving and fixing things after quickly coding the first draft.
Title: Re: What type of programmer are you?
Post by: live627 on June 16th, 2013, 08:37 AM
Hallf-assed theoretical perfectionist.
Title: Re: What type of programmer are you?
Post by: Dragooon on June 16th, 2013, 08:39 AM
Quote from live627 on June 16th, 2013, 08:37 AM
Hallf-assed theoretical perfectionist.
So you're only perfect in theory?
Title: Re: What type of programmer are you?
Post by: live627 on June 16th, 2013, 09:08 AM
hahaha

Obviously not. That's where two heads are better than one.
Title: Re: What type of programmer are you?
Post by: Norodo on June 16th, 2013, 11:55 AM
Duct tape definitely. I copy paste tutorial code and modify it to suit my needs. My most complex code is a SVG graph (Raphaƫl). I have no idea how it works, but it works for me. I'm also getting pretty decent at modifying other code (ie: mods for SMF) to make it work or to suit my needs. The toughest loop I can honestly say I understand is the for loop.

So yeah, duct tape.
Title: Re: What type of programmer are you?
Post by: Arantor on June 16th, 2013, 12:26 PM
To be honest, there are only actually two kinds of loop, for and while. Everything else, including foreach, as well as bastardised for[1] is straight up syntactic sugar variations around for and while. A foreach is really just a for that iterates over an array, you could write the foreach as a for but it'd be longer and uglier especially with a hash key array - but it doesn't change the fact it could be done.

If you understand the for loop, that's pretty much the only one you need to really worry about (because every language I've ever used has *some* variation of it... even assembler itself essentially does this)
 1. Of the kind like for (;; i++) syntax which is perfectly valid.
Title: Re: What type of programmer are you?
Post by: xrunner on June 16th, 2013, 11:46 PM
Quote from Auk on June 16th, 2013, 03:00 AM
... what type of programmer are you?
On the other hand - some people don't appreciate the term "programmer" when applied to them. :)

I've known some people that I worked with, that got pissed off if you called them "programmers". They had to be called "Software Engineers".
Title: Re: What type of programmer are you?
Post by: Arantor on June 16th, 2013, 11:47 PM
Ah, yes, the overly self important breed... usually a sort of theoretically-minded OCD perfectionist.
Title: Re: What type of programmer are you?
Post by: godboko71 on June 17th, 2013, 12:55 AM
Every "Software Engineer" I have done work for has been a socalled jack-of-all trades who was master of negative one.
Title: Re: What type of programmer are you?
Post by: ethankcvds on June 17th, 2013, 02:14 AM
Right now I'm a lazy programmer I don't get any programming done.
Title: Re: What type of programmer are you?
Post by: xrunner on June 17th, 2013, 04:12 AM
No matter what type you are, perhaps it comes down to two criteria:

A. The program must respond to calibrated, inanimate, physical inputs correctly.

B. The program must guide humans, with flawed reasoning and understanding, through the available selections/options presented to them, and give as much help as foreseeable.



Title: Re: What type of programmer are you?
Post by: Arantor on June 17th, 2013, 04:25 AM
1. A program may not injure a human being or, through inaction, allow a human being to come to harm.

2. A program must obey the orders given to it by human beings, except where such orders would conflict with Line 1.

3. A program must protect its own existence as long as such protection does not conflict with Line 1 or Line 2.
Title: Re: What type of programmer are you?
Post by: Oracle on June 17th, 2013, 08:27 AM
Quote from Arantor on June 17th, 2013, 04:25 AM
1. A program may not injure a human being or, through inaction, allow a human being to come to harm.

2. A program must obey the orders given to it by human beings, except where such orders would conflict with Line 1.

3. A program must protect its own existence as long as such protection does not conflict with Line 1 or Line 2.
Sounds like something from I Robot. :cool:
Title: Re: What type of programmer are you?
Post by: Norodo on June 17th, 2013, 03:47 PM
Aren't those Asimovs three laws?
Title: Re: What type of programmer are you?
Post by: Johnny54 on June 17th, 2013, 05:31 PM
Arantors version of the three laws by Isaac Asimov. :eheh:
By the way there are 4 laws. Asimov defined a fourth one called zeroth law.