Story 2014-05-03 3JW Programming ruining my memory?

Programming ruining my memory?

by
in ask on (#3JW)
Over the past few months I've been successively spending more and more time working on developing a computer game. Now, it was hardly noticeable at the beginning, but as time has gone on, I've been having more and more trouble remembering things. Sometimes it's in my every day life, like, I forget where I'm going, but more often than not, I'll be working, and I'll switch between two files, and then completely forget why I did or what I'm doing in the new file.

Has anyone had this problem? Or do I just have a case of programmer's-island-fever?
Reply 13 comments

Reading your old code (Score: 3, Insightful)

by bryan@pipedot.org on 2014-05-03 22:23 (#1BT)

It's even worse when you look at something you did 5 years ago. Kind of a What the heck was I thinking when I wrote this crap. type thing.

Re: Reading your old code (Score: 3, Funny)

by songofthepogo@pipedot.org on 2014-05-03 23:58 (#1BW)

I've frequently had the, "I wonder who wrote this... wait, it was me?!" experience. It's always a bit disconcerting and sometimes, if run across some old code I wrote that happens to be a bit clever, I don't feel pride so much as a sinking sense that I've somehow gotten dumber and less experienced over time.

Re: Reading your old code (Score: 3, Insightful)

by rocks@pipedot.org on 2014-05-04 16:36 (#1C2)

One of the things with programming is that you usually need to interact with way more functions, libraries, and concepts than you can retain or burn into your memory. Your own code almost always falls into this category because you only hung out with the implementation while doing it and so it is not usually part of your embedded knowledge.

I have learned that "clever" code is almost never good long term unless you can implement it behind an interface and the underlying implementation rarely needs to be revisited. Otherwise, you're almost always better off writing transparent code with transparent naming conventions and functions structure whose purpose and behavour and layout are easy to "reoccupy" at a glance.

Focus, not Memory (Score: 5, Interesting)

by erichill@pipedot.org on 2014-05-03 22:30 (#1BV)

It's not a question of losing your memory. It's a question of focus. Getting into "the programmer mindset" means you empty your mind of everything else and pull in lots of information around the problem area you're working on. Documentation about function calls, specifics about the problem you're trying to solve, locations of files and bits of code, etc. People who are really good at programming can do this very well, and it helps them visualize the problem area. It's not that you're losing your memory, you're just using it for something else. Humans only have a finite amount of RAM.

(Score: -1, Offtopic)

by Anonymous Coward on 2014-05-04 02:14 (#1BY)

hương vị thịt không nhiệt

ruin

It's not necessarily the programming that's doing it (Score: 1)

by fatphil@pipedot.org on 2014-05-04 08:32 (#1BZ)

Does not programming for a while bring your memory back?
You might simply be getting older. My short term memory was never up to much, but as I get older it gets noticeably worse.

Difficult to test (Score: 2, Interesting)

by rocks@pipedot.org on 2014-05-04 16:32 (#1C1)

Your hypothesis is interesting, but I suspect it would be difficult to test with control groups, is the change permanent, how much time need to see an effect, mitigating factors, etc. so we can only offer anecdotal impressions which may not be unbiased. That said...

In my experience, programming is a very specific type of mental activity that requires holding functional goals (what am I trying to achieve in a given function and how does it relate to an overall picture) and logical relationships (how is the division of labour distributed between my code, used libraries, class frameworks, design patterns and so on) in your head as you work away on locally very mundane building blocks. The memory of specific facts is useful at different moments, but usually you have dedicated your memory to how everything works together and you lean heavily on being able to look up the specific facts as needed in terms of function calls and so on. Your access and interaction with your memory is absolutely modified by this emphasis. And, the research on neuroplasticity suggests that this must lead to actualy brain changes if repeated in your life over continual periods of time.

In my experience, I HATE/STRUGGLE EXTREMELY trying to get into the "programmer's mindset" when I am switching from needing/wanting to garden, play sports, and so on; and I HATE/STRUGGLE EXTREMELY trying to get out of "programmer's mindset" when I need to brush up on mathematical background, learning in general, playing music, relaxing, and more analogue style activities. It suggests that we are using our mental resources very differently across different tasks.

Wait a minute... (Score: 3, Funny)

by unitron@pipedot.org on 2014-05-04 19:50 (#1C4)

...why did I load this thread?

Re: Wait a minute... (Score: 0)

by Anonymous Coward on 2014-05-04 21:12 (#1C5)

I had the answer, but I've forgotten it

Re: Wait a minute... (Score: 0)

by Anonymous Coward on 2014-05-05 06:33 (#1CD)

Was I about to post a comment here?

Not just programmers (Score: 3, Interesting)

by Anonymous Coward on 2014-05-04 22:37 (#1C7)

I am suffering something similar - it's a zen state of mind you need, and you can still get it, but it's getting harder. I'm a writer, not a programmer, and the challenge is the same. Tough to get into the zone with so many gadgets, widgets, and things on my desktop flashing for my attention. I do my best writing with the Internet connection turned off, and my best thinking when I'm walking the dogs. Studies show you're sharpest at this kind of stuff early in the day; if you're programming late at night it gets much harder, fast. Try getting up before dawn, drinking a cup of coffee, and setting down to your programming with a rested mind and the network connection turned off. It's a formula that's worked wonders for me.

Cure: New Language, New Culture (Score: 0)

by Anonymous Coward on 2014-05-06 05:05 (#1DW)

(I tried to login, but couldn't. Not sure why.)

I had the same issues you did and I was wondering if my memory was crapping out on me. Then life threw me a curve ball and answered that question: I'm fine. I'm American, but my wife is not. We decided to move closer to her folks and I found myself in another country with a language I knew zero about. I took over a year off from programming and focused solely on absorbing the new language. I'm still a horrible language person, but I learned thousands (probably more like tens of thousands) of facts in an intense 7 month time frame. (If you want details, you'll have to hunt me down.) I'm back to programming and job hunting and I'm still learning the language. My programming skills are still just as sharp but I find my memory is a hell of a lot better.

I think the problem is spending too much time in the code instead of doing other things too. I'm not saying you should change what you're doing. You have to do what is right for you. Pulling up my roots to live in another country is the single hardest thing I have ever done in my life and it is not for everyone. I am saying that you can pursue other (social) hobbies and do things offline. I think that can help... probably not the extreme it did for me, but it can help.

I think more so than anything else, I just wanted you to know that you aren't losing your mind. It's just an "underused muscle" right now. Oh... and stay physically fit. That helps too.

-- Common Joe

It gets worse (Score: 2, Interesting)

by recurse@pipedot.org on 2014-05-08 01:29 (#1FG)

I've been programming for around 20 years, and I have difficulty remembering large parts of my life. Stuff with kids, other important events just don't exist for me. My wife tells me all about things we did, that I have no clue about.

I can, however, remember with painstaking detail obsolete API's, technical issues and little annoyances that I ran into 15 years ago writing software in languages that don't even exist anymore.