What type of programmer are you?
Poll

What type of programmer are you?

The duct tape programmer
The OCD perfectionist programmer
The anti-programming programmer
The half-assed programmer
The theoretical programmer
I'm one of a kind! (describe please)

Auk

  • Can I get a Box?
  • Posts: 64
What type of programmer are you?
« on June 16th, 2013, 03:00 AM »Last edited on June 16th, 2013, 03:08 AM
I found this 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.

Nothing is more despicable than respect based on fear.

Arantor

  • As powerful as possible, as complex as necessary.
  • Posts: 14,278
Re: What type of programmer are you?
« Reply #1, 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.
When we unite against a common enemy that attacks our ethos, it nurtures group solidarity. Trolls are sensational, yes, but we keep everyone honest. | Game Memorial

xrunner

  • Posts: 192
Re: What type of programmer are you?
« Reply #2, 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

Dragooon

  • I can code! Really!
  • polygon.com has to be one of the best sites I've seen recently.
  • Posts: 1,841
Re: What type of programmer are you?
« Reply #3, 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.
The way it's meant to be

live627

  • Should five per cent appear too small / Be thankful I don't take it all / 'Cause I'm the taxman, yeah I'm the taxman
  • Posts: 1,667
A confident man keeps quiet.whereas a frightened man keeps talking, hiding his fear.

Dragooon

  • I can code! Really!
  • polygon.com has to be one of the best sites I've seen recently.
  • Posts: 1,841

live627

  • Should five per cent appear too small / Be thankful I don't take it all / 'Cause I'm the taxman, yeah I'm the taxman
  • Posts: 1,667

Norodo

  • Oh you Baidu, so randumb. (60 sites being indexed at once? Jeez)
  • Posts: 469
Re: What type of programmer are you?
« Reply #7, 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.

Arantor

  • As powerful as possible, as complex as necessary.
  • Posts: 14,278
Re: What type of programmer are you?
« Reply #8, 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.

xrunner

  • Posts: 192
Re: What type of programmer are you?
« Reply #9, 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".

Arantor

  • As powerful as possible, as complex as necessary.
  • Posts: 14,278
Re: What type of programmer are you?
« Reply #10, on June 16th, 2013, 11:47 PM »
Ah, yes, the overly self important breed... usually a sort of theoretically-minded OCD perfectionist.

godboko71

  • Fence accomplished!
  • Hello
  • Posts: 361
Re: What type of programmer are you?
« Reply #11, 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.
Thank you,
Boko

ethankcvds

  • Good news I finally have a new computer. Bad news I have to RMA the memory got a bad stick of RAM.
  • Posts: 35

xrunner

  • Posts: 192
Re: What type of programmer are you?
« Reply #13, 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.




Arantor

  • As powerful as possible, as complex as necessary.
  • Posts: 14,278
Re: What type of programmer are you?
« Reply #14, 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.