Slashdot Mirror


Ask Slashdot: Best Way To Jump Back Into Programming?

First time accepted submitter FractalFear writes "15 years ago I was programming in BASIC, and doing some C++, after a serious car accident barely making it out alive, my memory went to crud. I have no recollection of how to do anything in either of those languages any more. I've suffered some damage, and my memory isn't all that great. However if I do repetitive work it sticks to me. I've been in IT for 17 years as desktop support, and I fear I won't ever get much further in life due to my handicap. I am hard working and dedicated, I have been reading slashdot regularly for many years now, and I have faith in the Slashdot community advice. I recently bought Head First C#: 2nd Edition(A friend of mine that programs for a living suggested C# as an easier alternative to C++) the first 4 chapters were great, but after that everything just didn't make any sense. My question(s) to you guys is: What was the best way for you to get back into programming? School? Self taught? And what would be the best language for someone like me to get into? My goal is to make games as a hobby for now, but would like to enter into the market of XBOX Arcade, Steam, mobile etc, particularly 2D TBSRPG games like Shining Force. If you prefer self taught what are some really good books you suggest?"

247 comments

  1. If you don't remember BASIC by Anonymous Coward · · Score: 5, Funny

    That may actually give you an advantage. Best advice is simply start programming. Pick a project, and work on it.

    1. Re:If you don't remember BASIC by Joce640k · · Score: 4, Insightful

      Best advice is simply start programming.

      That cuts both ways. You can waste a lot of time by not knowing basic coding dos and don'ts for whatever language you pick.

      Aaaaand ... before you all start chiming in with book recommendations: Books are personal, what works for you might not work for me. Books are also expensive. Best to start with something online/free before investing in a load of books on a language you might not even end up using. There's a lot of good stuff on the web.

      --
      No sig today...
    2. Re:If you don't remember BASIC by Anonymous Coward · · Score: 0

      I'd recommend checking out the local library. The one back home has a subscription to Safari, so you have many programming books to read online for free. It doesn't offer all of them, but it should be enough to find a few ones for beginners that the OP can use to begin relearning the process.

    3. Re:If you don't remember BASIC by Anonymous Coward · · Score: 0

      I would recommend systems administration instead of programming if a bad memory is a problem and repetitive tasks stick well. Programming is anything but repetitive.

    4. Re:If you don't remember BASIC by 1s44c · · Score: 1

      I would recommend systems administration instead of programming if a bad memory is a problem and repetitive tasks stick well. Programming is anything but repetitive.

      System administration is anything but repetitive too, or at least it is once you have configuration management, backups, and monitoring in place.

    5. Re:If you don't remember BASIC by Archimagus · · Score: 3, Informative

      If you want to Target XBox Live as a platform from an indie perspective. C# with XNA is really your only option. On the plus side, it's very user friendly and easy to learn. There is also tons of free documentation online for it, with tutorials for just about anything you could want to do. Start at http://create.msdn.com/

    6. Re:If you don't remember BASIC by hackula · · Score: 1

      Programming CAN be repetitive:
      1 SHARED NAME = 'Bob'
      2 PRINT 'HELLO' + NAME
      3 GOTO 2

    7. Re:If you don't remember BASIC by Arabian+Nights · · Score: 1

      This man gave the best advice I've read so far on the page. Starting with a goal in mind will make learning the steps manageable and put them in context. Learning about polymorphism and inheritance so "Dodge" can inherit "car" doesn't make the syntax stick.

      Also, I've found it to be much more rewarding to pick a project and work on it until completion. Some suggestions: write a script that polls your local Craigslist once a day for specific furniture and stores it in a database/emails hits to you, make a web application that defines a room (rectangular) and furniture that fits inside (rectangles or ellipses) and lets you drag them around, virtually rearranging, etc.

      That's what I love about programming: your creativity is the limit!

    8. Re:If you don't remember BASIC by Anonymous Coward · · Score: 0

      Books are torrentable :) I tend to grab them online first, and if I like them I buy them in a paper copy for reading while away from my computer or for referencing later on.

    9. Re:If you don't remember BASIC by readin · · Score: 1

      Given the memory issues and what you're saying about once you learn something through repetition it sticks, I would recommend you carefully pick an programming language, platform, and type of programmer that is less likely to change quickly and less likely to disappear. Perhaps the Oracle database's procedural SQL language would be a good choice. Choose C/C++ rather than Python. Look carefully at how the language is used. Java doesn't change much, but the programmer frameworks used with Java change constantly.

      --
      I often don't like the choices people make, but I like the fact that people make choices. That's why I'm a conservative.
    10. Re:If you don't remember BASIC by Anonymous Coward · · Score: 0

      I would suggest safaribooksonline because they have most books you could use to get started and they keep content up to date as technology changes. I applaud your efforts to get back into the grind of programming. I would suggest you focus on an ETL process because the scope is relatively small and the process is very repetitive.

      Good Luck.

    11. Re:If you don't remember BASIC by LifesABeach · · Score: 1

      And the games are pretty good. So one could say you're learning to program by using a xBox.

    12. Re:If you don't remember BASIC by LifesABeach · · Score: 1

      I think we just shot past C#'s ability here.

    13. Re:If you don't remember BASIC by LifesABeach · · Score: 1

      It is a brave action to accept that one is Drain Bamaged. IMHO, C# is the best choice.

    14. Re:If you don't remember BASIC by datavirtue · · Score: 1

      Books are expensive? You ever been to Amazon?

      --
      I object to power without constructive purpose. --Spock
    15. Re:If you don't remember BASIC by datavirtue · · Score: 2

      If system administration is not repetitive you are doing it wrong.

      --
      I object to power without constructive purpose. --Spock
    16. Re:If you don't remember BASIC by highphilosopher · · Score: 1

      I know this got modded funny, but it's good advice. Just write code. Tinker with it till it works, then write more.

    17. Re:If you don't remember BASIC by hackula · · Score: 1

      True. No globals in C#. There is goto though, the preferred error handling mechanism for former VB6 devs.

    18. Re:If you don't remember BASIC by Anonymous Coward · · Score: 0

      There's a lot of good stuff on the web.

      And a lot of total crap too. It's pretty difficult (IMO) to find decent C and C++ resources that are correct and teach good coding practices. But you have a good point, there is a lot of great stuff on the web. The best way to find it is to connect with someone who has some experience and can make recommendations.

  2. Learn Python The Hard way by i88i · · Score: 5, Informative

    Give Learn python the hard way a go: http://learnpythonthehardway.org/book/

    It is a collection of small exercises that build your knowledge and confidence with python, and you can ask the author questions on each page as you progress.

    1. Re:Learn Python The Hard way by Anonymous Coward · · Score: 0

      I would second for learning Python. It is a very sensible language and there are some great resources that you can get at quickly all the time (online).

    2. Re:Learn Python The Hard way by phantomfive · · Score: 2

      That is a good one. Advantage is, you don't have to completely understand what is going on to progress. As you go along, it begins to make more sense.

      The disadvantage of that book is, it's still just a beginner book. If you want to progress further, you'll have to look elsewhere when you are done.

      --
      "First they came for the slanderers and i said nothing."
    3. Re:Learn Python The Hard way by Nutria · · Score: 1

      And if that's still too hard for you, then maybe you must face the fact that you *can't* be a programmer anymore.

      --
      "I don't know, therefore Aliens" Wafflebox1
    4. Re:Learn Python The Hard way by Anonymous Coward · · Score: 1

      Go pyton. Try UDACITY - Self Paced excellently thaught.

    5. Re:Learn Python The Hard way by Zontar+The+Mindless · · Score: 1

      Looks like a great book.

      Too bad my options for actually *buying* a copy all involve either PayPal or lulu.com, neither of which I will ever, ever use again.

      Thank goodness there's the free HTML version and wget, I guess.

      --
      Il n'y a pas de Planet B.
    6. Re:Learn Python The Hard way by Anonymous Coward · · Score: 0

      Pygame has good tutorials & documentation.

    7. Re:Learn Python The Hard way by dropadrop · · Score: 3, Informative

      Codeacademy also has a python track now: http://www.codecademy.com/tracks/python

    8. Re:Learn Python The Hard way by Anonymous Coward · · Score: 3, Insightful

      Any programming language which recognises whitespace is not only thoroughly inaccessible (this may not be relevant to the OP's disability, but it is to some) but philosophically wrong.

      The content should be as detached as possible from the style, which may allow syntactic sugar for an otherwise uniform representation. An example of a very elegant multi-paradigm approach is the language of Mathematica.

      So, yes, learn Python if you want to make money, because that's the fashionable dalliance of the day. Perhaps you remember how 15 years ago everyone learned Perl and no-one questioned why it had so many gotchas that it became a psychological burden (some great Perl hackers - very few Perl engineers). And you've entirely missed everyone jumpng on the .NET bandwagon because, well, it was MS so you had to, even though it brought fuck all new to the table and now you're going to be tortured with Metro on a marketing whim because Ballmer hates Apple.

      The programming landscape has become boring, really. Lots of rehashes of the same thing. It's nice to see some of the academic stuff supporting parallelism reaching the mainstream, I guess, but people don't try to be creative with it because there's so much bullshit about "processes" and "patterns" to straitjacket you. Development has become a mere business exercise for most.

    9. Re:Learn Python The Hard way by oji-sama · · Score: 1

      If he can write (logical) English and can learn stuff (albeit perhaps slowly), I don't see why he couldn't be at least a hobbyist programmer. Might not be the easiest hobby he could have, but then again, might be rewarding too. Probably not very quickly though.

      --
      It is what it is.
    10. Re:Learn Python The Hard way by Nutria · · Score: 1

      I don't see why he couldn't be at least a hobbyist programmer.

      Absolutely. But he wants to be a professional programmer.

      --
      "I don't know, therefore Aliens" Wafflebox1
    11. Re:Learn Python The Hard way by oji-sama · · Score: 1

      I don't see why he couldn't be at least a hobbyist programmer.

      Absolutely. But he wants to be a professional programmer.

      That is perhaps debatable: "My goal is to make games as a hobby for now"

      --
      It is what it is.
    12. Re:Learn Python The Hard way by Anonymous Coward · · Score: 1

      Perhaps you remember how 15 years ago everyone learned Perl and no-one questioned why it had so many gotchas that it became a psychological burden

      No he doesn't, that's the whole point of TFS ...

    13. Re:Learn Python The Hard way by Clovert+Agent · · Score: 1

      Yeah, they do. I tried it out, for curiosity's sake. And dear lord, the parser is horrendous. You'll spend 30 seconds figuring out an exercise, and an hour trying to get the damned parser to work. It's like playing an old adventure game. "put the value in the variable". "put the value ON the variable". "use the value with the variable." "oh ffs never mind"

      If they could fix that, I'd give it a thumbs up. Until then, god no. It'd put any rational person off programming for life - if that were representative of the coding experience, we'd all be living in padded cells by the age of 22.

    14. Re:Learn Python The Hard way by Anonymous Coward · · Score: 1

      The OP might rekindle that part of his brain which stored all his prior programming knowledge and experience by starting with these basic concepts about Python covered in the aforementioned book. Basically, Python is the modern day BASIC.

    15. Re:Learn Python The Hard way by Anonymous Coward · · Score: 0

      You could always snail mail the author a cheque for the book and maybe he will mail a copy to you. What is your aversion to PayPal? I find it convenient when PayPal is a payment option so that I do not have to provide my credit card information to every vendor / seller on the World Wide Web. I bought the hardcover version with hope that most of the money goes to the author.

    16. Re:Learn Python The Hard way by dropadrop · · Score: 1

      Good to know, as I was planning on giving it a try... I guess I'll wait a bit. Noticed a bit of the same on the javascript exercises, the way the answer is validated is sometimes very strange, and occasionally you have to reload the page to get the answer to be accepted.

    17. Re:Learn Python The Hard way by ciderbrew · · Score: 2

      Mid level books that spoon feed difficult concepts are so thin on the ground in any topic. I'd like a dummies guide styled book on some complex stuff. Personally, I like to see animations of the process. I can read the text over and over and never get it. One little graphic and I get it first time. Programming is much a mental modeling exercise as anything else.

    18. Re:Learn Python The Hard way by Anonymous Coward · · Score: 0, Funny

      Basically, Python is the modern day BASIC.

      You mean, knowing it makes you a worse programmer?

      Damn, too late! :-)

    19. Re:Learn Python The Hard way by ciderbrew · · Score: 3, Insightful

      I've worked with people who shouldn't be programmers and I'm sure many others have too. Can't program at all doesn't mean not able to get a job programming.

    20. Re:Learn Python The Hard way by pinkushun · · Score: 1

      If you know enough basic coding paradigms like variables, loops, functions and the like, then you can just Dive Into Python.

      The page says it's for experienced programmers, but it's a simple indemnity that translates into "common sense about basic coding paradigms"

    21. Re:Learn Python The Hard way by geminidomino · · Score: 2

      I find it convenient when PayPal is a payment option so that I do not have to provide my credit card information to every vendor / seller on the World Wide Web.

      The downside being that you DO have to give your card information to PayPal, who weren't exactly the most trustworthy bunch of bastards BEFORE being borged by eBay.

    22. Re:Learn Python The Hard way by ArsenneLupin · · Score: 1

      Can't program at all doesn't mean not able to get a job programming.

      Or maybe he could become a manager.... *ducks*

    23. Re:Learn Python The Hard way by caseih · · Score: 1

      Of all Python's warts, white space syntax is not one of them. I also question as to how that makes the language inaccessible. Any decent programmer's editor should make it no harder than any other method of defining blocks. In fact, if one's disability involved hand motor control, I'd say white space blocks are far far more accessible than curly braces.

      Python's incredible development speed and ease of use comes from, in my opinion, its white space formatting. It's really truly executable pseudo-code. I think you grossly underestimate how incredibly useful that is.

    24. Re:Learn Python The Hard way by MikeBabcock · · Score: 1

      Yawn, your personal issues with whitespace aside, there's no actual good argument to treat whitespace differently from any other markup.

      Python code never looks half as bad as Perl code as a result primarily of its whitespace requirements.

      cf. the huge styles guide for Linux kernel development; C ignores whitespace, but doing so as a programmer will get your code ignored, so while syntactically irrelevant, its still necessary.

      --
      - Michael T. Babcock (Yes, I blog)
    25. Re:Learn Python The Hard way by hackula · · Score: 2

      If you like pictures, than the Head First series almost always has the best option (couple exceptions where they get a bit out of date or whatever. I think the RoR one was supposed to suck). I prefer the "cut to the chase" technical spec style books these days, but when I was starting out and everything was new and mind-boggling, the Head First books were a lot of help. I still like to brush up here and there with their book on Design Patterns. Reading the Go4 book over and over is a bit dry for most.

    26. Re:Learn Python The Hard way by Anonymous Coward · · Score: 0

      I also strongly recommend this once.. My experience isn't the same as yours. But when I was like 11 yrs old I started programming in basic for a year and then didn't touch it for a long long time. This web page/book/exercises really put me back into programming. Really simple, step by step and fun!

    27. Re:Learn Python The Hard way by hawguy · · Score: 1

      I find it convenient when PayPal is a payment option so that I do not have to provide my credit card information to every vendor / seller on the World Wide Web.

      The downside being that you DO have to give your card information to PayPal, who weren't exactly the most trustworthy bunch of bastards BEFORE being borged by eBay.

      I trust Paypal with my credit card number much more than some random internet merchant. I've had my credit card number replaced 3 times after it was stolen from merchants. Twice initiated by my credit card company, saying that they were replacing my card due to a potential merchant breach, and once after I noticed the fraudulent charges and started receiving spams to an email address used only by a particular merchant.

    28. Re:Learn Python The Hard way by hackula · · Score: 1

      I know, it's a real bummer that Python does not allow you to have little to no indentation or write your entire application on on line (*cough *Perl* cough*). Seriously, the white space stuff is the last thing to complain about Python. Complain about "self", complain about how Twisted handles concurrency in a weird way, complain about the lack of decent UI libraries, just please complain about something other than the white space. If it is that big of a deal, then you are doing it wrong anyway and should probably be using something like Style Cop, which will force you to code properly anyway.

    29. Re:Learn Python The Hard way by hackula · · Score: 1

      Seriously, are there really people complaining about Python not looking like minified javascript???

    30. Re:Learn Python The Hard way by phantomfive · · Score: 1

      Where can you get animations that teach programming? That sounds interesting.

      --
      "First they came for the slanderers and i said nothing."
    31. Re:Learn Python The Hard way by Anonymous Coward · · Score: 0

      Any programming language which recognises whitespace is not only thoroughly inaccessible (this may not be relevant to the OP's disability, but it is to some) but philosophically wrong.

      The content should be as detached as possible from the style, which may allow syntactic sugar for an otherwise uniform representation. An example of a very elegant multi-paradigm approach is the language of Mathematica.

      So, yes, learn Python if you want to make money, because that's the fashionable dalliance of the day. Perhaps you remember how 15 years ago everyone learned Perl and no-one questioned why it had so many gotchas that it became a psychological burden (some great Perl hackers - very few Perl engineers). And you've entirely missed everyone jumpng on the .NET bandwagon because, well, it was MS so you had to, even though it brought fuck all new to the table and now you're going to be tortured with Metro on a marketing whim because Ballmer hates Apple.

      The programming landscape has become boring, really. Lots of rehashes of the same thing. It's nice to see some of the academic stuff supporting parallelism reaching the mainstream, I guess, but people don't try to be creative with it because there's so much bullshit about "processes" and "patterns" to straitjacket you. Development has become a mere business exercise for most.

      Love it! - Totally right, legend.

      This guy needs a gold medal.

      More people like this in the world please.

    32. Re:Learn Python The Hard way by ciderbrew · · Score: 1

      I've not seen that many. The sorting one stick in my mind most. I just found this. http://www.sorting-algorithms.com/

    33. Re:Learn Python The Hard way by Anonymous Coward · · Score: 0

      And you grossly underestimate the problems of tab vs space indentation. Sure, if you are doing all of your development on one machine, using the same text editor it isn't too bad, but once you get another developer involved or push the code out to a test box where you are using vim to tweak it (by default vim uses the tab character for indentation), you end up in a world of hurt.

      IMHO, it is not acceptable for a language to use whitespace to control logical flow. There is nothing worse than looking at code that /should/ be running but isn't, all because of some invisible character mucking things up.

    34. Re:Learn Python The Hard way by LifesABeach · · Score: 1

      I thought a part of software engineering was accepting that complete understanding was NP?

    35. Re:Learn Python The Hard way by datavirtue · · Score: 1

      Python blows...sorry, but it does. The man is having cognitive problems and you suggest a white-space formatted steaming pile of shit like Python? It makes my brain hurt. No brackets! Get off my lawn!

      --
      I object to power without constructive purpose. --Spock
    36. Re:Learn Python The Hard way by datavirtue · · Score: 1

      Need brackets.....must have brackets!!

      --
      I object to power without constructive purpose. --Spock
    37. Re:Learn Python The Hard way by Anonymous Coward · · Score: 0

      Took a term to learn Matlab and Mathematica. Actually, I shouldn't say learn, but become familiar with it. The way it was taught didn't necessarily hammer it into our memories. Then again, I am not sure any scripting language is ever hammered into our memories. I think it takes practice and examples. As we attempt to do new things, we look up examples and the help documents, mess with it, until we get what we want.

      I miss Mathematica. I missed my chance to get it for like 75% off the regular price because I didn't have the funds to buy it before the one year mark after graduation. Now I'm probably going to be years away from being able to afford it, and what I forget will probably hurt.

      By the way my fellow anonymous coward, have you ever used mIRC?

    38. Re:Learn Python The Hard way by dffuller · · Score: 1

      Seriously? My text editor of choice (vim) has had a way to automatically replace tabs with a chosen about of spaces for .... basically forever. I can't imagine that any other good text editor doesn't have the same functionality built into it.

    39. Re:Learn Python The Hard way by yenic · · Score: 1

      Seriously? My text editor of choice (vim) has had a way to automatically replace tabs with a chosen about of spaces for .... basically forever. I can't imagine that any other good text editor doesn't have the same functionality built into it.

      My text editor of choice gedit also has a way to automatically replace tabs with spaces. So does Notepad++, VIM (which I also use), Emacs, pretty much everything does that you would even open a .py file with.

      --
      http://www.accountkiller.com/en/delete-slashdot-account Stop visiting Slashdot.
  3. Learn any language by Anonymous Coward · · Score: 1

    While I can't say for sure because I don't understand your situation fully I would suggest focusing more on a method of learning that works well for you rather than a particular language. It's much mroe important to learn the ideas behind programming and apply them to whatever language you would need to do some work in (again I'm not 100% sure if this idea will work in your situation depending on your memory) I am a programmer myself with a terrible memory, I can't just remember things like if A then do B then C then D. But if I understand something then I don't really need to remember any specifics, so i learn why if I see A then I should to B then C then D rather than jsut commiting it to memory. This results in slower initial learnign but in then end I think it is better, atleast it is for me and I'm thinking it might be for you too.

    I would start with something that has a good teaching system, maybe something like codeacademy.com . Yes I know code academy doesn't have the best languages to learn (though they did just add python which I would suggest) but it will teach you the important things that everything is based on. OOnce you understand those you can move on to a particular language with a much better chance of figuring things out.

    Good Luck

  4. Think of an application that you'd like by oobayly · · Score: 5, Insightful

    Something simple, for example working out orbit periods, camera f-stops, ie. something you've an interest in. You can pull the basic maths from wikipedia articles. Then you can work on writing the code around them. From there you you can learn how to use GUI elements to make it fluffier - you can use datatables to display the results, GDI+ to draw graphical representations of results, etc.

    Personally, I've always found it difficult to learn a new language by just reading about it and trying to follow examples. By having a target, no matter how simple helps me learn a lot faster. For example, I came across Kerbal Space Program a while ago, so I decided I needed some help planning orbits, transfers, etc. So I read up on orbital mechanics and wrote a couple of tools to help me visualise how to do things. In that case I decided to use Javascript because it was quick and dirty. It was also a great opportunity to learn to use the HTML5 Canvas to draw the Hohmann transfer diagram.

    1. Re:Think of an application that you'd like by wvmarle · · Score: 1

      I agree. At least, it worked for me very well that way.

      As a kid I learned Basic, later in college TurboPascal. After that I did not program for a decade, until the need arose. I needed to do something with my computer to help me send and receive faxes, and couldn't find anything useful at the time. Having read /. for a long time I figured Python would be easy to learn and up to the job, so I just grabbed Python, read a tutorial, and started working on my program. Now I know my way around Python quite well.

      There was the need for a GUI, so I grabbed GTK2 and Glade, and it was actually great fun building and working with GUIs that way.

      More recently I was in need of a very specific app for my phone that did not exist. Android requires Java, which I had never used before. But no choice in that. I checked the manuals on Google's Android pages, installed Eclipse with the recommended Android extensions, read a basic Java tutorial, and started working.

      A lot of trial-and-error is involved, but the result is I know my way around the software and in the meantime have gotten a basic understanding of object-oriented programming and a few more of that. Stackoverflow was also a great resource for code snippets and general advice on how to solve things.

      But to get a deep understanding of a language, reading books will be a requirement. Learning a language by just starting to work with it will let you scratch the surface, maybe get a bit deeper, but anything further than that I have learned from other sources - including stackoverflow discussions, /. discussions, and other sources.

    2. Re:Think of an application that you'd like by voxner · · Score: 1

      Exactly. Learning to program should not be an end in itself. It should be a path to something tangible - a portfolio of work.

    3. Re:Think of an application that you'd like by icebraining · · Score: 1

      Why? I do prefer to program something useful, but it's also enjoyable in and of itself.

    4. Re:Think of an application that you'd like by MikeBabcock · · Score: 2

      Python + wxWindows is a great rapid development platform for putting together interesting bits of code that are useful like this.

      --
      - Michael T. Babcock (Yes, I blog)
    5. Re:Think of an application that you'd like by hackula · · Score: 1

      People should be able to program just to program, as long as the abstain from telling the rest of us how to do it. This phenomenon is how design patterns like the "Abstract Factory Abstract Factory Selector Observer Pattern" get started.

    6. Re:Think of an application that you'd like by plover · · Score: 1

      . This phenomenon is how design patterns like the "Abstract Factory Abstract Factory Selector Observer Pattern" get started.

      No, bad programming is how patterns like "Abstract Factory Abstract Factory Selector Observer Pattern" get started.

      Patterns aren't created out of thin air - at least not the few good ones. Patterns are observed in multiple examples of elegant code, then written down and figured out.

      If someone is actually feeding you a line like "the Abstract Factory Abstract Factory Selector Observer Pattern is required in your program for all database access", or even "I've created a new pattern", you have my permission to hit them with a stick and call them an idiot. That's not how patterns work.

      --
      John
  5. If your goal is to make games... by dingen · · Score: 2

    ...then why don't you start with that?

    There are some really great tools out there to get the ball rolling quickly (like Unity or Game Maker). I'd say: think up a simple game, make some designs and get cracking.

    --
    Pretty good is actually pretty bad.
    1. Re:If your goal is to make games... by Anonymous Coward · · Score: 0

      Maybe I've just never taken it seriously enough, but I've been programming in some professional capacity for about 15 years now, and every time I've tried to tackle game programming I get disheartened and quit.

      That said, if anyone has any really good, affordable recommendations for making games, I'd love to give it another crack.

    2. Re:If your goal is to make games... by Molt · · Score: 1

      I was going to recommend Unity too- it's very simple to get something up and running, and then you can expand on it with by adding your own components written in C# or Unity Script (A variant of JavaScript) without needing to reengineer the entire game engine yourself, you just write what you need, and because you're writing in a prebuilt framework it's very easy to write things which are reusable. It's already got a proven pedigree on Steam, being used in games such as Rochard and Endless Space, and although XBLA isn't a normal target you can write for all of the desktop and mobile OSes. I've also found the Unity community to be a helpful bunch, both in providing tutorial material on the internet and helping with direct questions on the forum, which can be very helpful when you get stuck and to get feedback.

      --
      404 Not Found: No such file or resource as '.sig'
    3. Re:If your goal is to make games... by ClippyHater · · Score: 2

      And there's some really great video tutorials of how to use Unity (http://www.3dbuzz.com comes to mind--it has both free and paid content, as well as http://www.design3.com/)

    4. Re:If your goal is to make games... by icebraining · · Score: 1

      If you like Lua, I'd try Love: https://love2d.org/

    5. Re:If your goal is to make games... by Zaphod+The+42nd · · Score: 1

      Because that's pretty terrible advice. If you don't know the programming language you're working in, trying to make even pong is going to be a gigantic headache and probably going to force you to do a lot of copy & paste coding; which doesn't teach you anything.

      Games are insanely complicated. Don't get me started on 3D.

      Once he's got a really strong grip on a language, and some graphics libraries, then sure, he should try gaming. But he isn't NEARLY there yet.

      Don't put the cart before the horse.

      --
      GCS/MU/P d- s:- a-- C++++$ UL++ P+ L++ E+ W++ N o K- w--- O M+ V- PS+++ PE Y+ PGP t+ 5- X R++ tv+ b++ DI++ D++ G+ e++ h-
    6. Re:If your goal is to make games... by Quirkz · · Score: 1

      In another month or two coursera.org has an upcoming class for programming games. If I remember correctly, it's python programming, and the class covers a couple of old classics that you'd learn how to code, including pong and asteroids. It's free, there's at least a bit of community to discuss things with if you need extra help, and it's got games. At worst if it doesn't seem to be working out, you've lost nothing but a little time.

    7. Re:If your goal is to make games... by Quirkz · · Score: 1

      Really? About the only thing I've ever programmed successfully was a game, because that's what I was interested in. Admittedly I've never had much interest in any non-game, because I can usually find existing software for the practical stuff.

      That said, I stuck with what I knew: I had some web background, so I built a web-based RPG out of PHP and MySQL. It was more akin to the classic choose your own adventure games, with minimal static graphics, than anything flashy. However, that route is very affordable--you can do development on a cheapo hosting account for just dollars a month, or possibly for free if you want to install that stuff on your local system.

    8. Re:If your goal is to make games... by DoctorBonzo · · Score: 1

      A big shout of support for the Unity3D option - your choice of 3 programming/scripting languages: JavaScript (sort of), C#, and Python. Free download & use until/unless you get commercial. The included Mono project development environment is a pretty nice IDE, especially for the price (zero$). For a textbook, I'd suggest "Holistic Game Development with Unity" by Penny de Byl. There's a lot of Unity books, but they mostly tend to be very cookbook-y. De Byl has a cookbook side, but makes a pretty good effort to give the why behind the recipes.

    9. Re:If your goal is to make games... by dingen · · Score: 1

      So if Pong is too complicated, make something simpler. Games are only as complicated as you choose it to be.

      --
      Pretty good is actually pretty bad.
    10. Re:If your goal is to make games... by Zaphod+The+42nd · · Score: 1

      Zork is about as simple as a game can get (from a programming complexity standpoint) and that still requires a pretty solid understanding of programming to pull off.

      Please provide a counterexample. Something "simpler than pong".

      Text based blackjack, I guess. That's really as easy as you can get and still call it a "game", and again, that requires all sorts of things someone just starting out isn't going to know how to approach. So the end result is tons of copy & paste coding. That's where bad habits come from.

      You start with hello, world (not a game), then you do 99 bottles of beer (not a game), a calculator (not a game), and other simple management programs (vending machine software) until you're very comfortable, then you can move on to things that are games.

      --
      GCS/MU/P d- s:- a-- C++++$ UL++ P+ L++ E+ W++ N o K- w--- O M+ V- PS+++ PE Y+ PGP t+ 5- X R++ tv+ b++ DI++ D++ G+ e++ h-
    11. Re:If your goal is to make games... by dingen · · Score: 1

      You're talking as if the goal is to become a programmer. It's not.

      The goal is to create a game. I think the guy will learn how to program a game just fine by simply starting to create simple games using proper tools.

      --
      Pretty good is actually pretty bad.
    12. Re:If your goal is to make games... by Zaphod+The+42nd · · Score: 1

      I'm sorry, I thought this post was titled "Best Way To Jump Back Into Programming".

      Oh yeah, I can see where I would get that, because THAT WAS THE TITLE.

      --
      GCS/MU/P d- s:- a-- C++++$ UL++ P+ L++ E+ W++ N o K- w--- O M+ V- PS+++ PE Y+ PGP t+ 5- X R++ tv+ b++ DI++ D++ G+ e++ h-
    13. Re:If your goal is to make games... by dingen · · Score: 1

      If you read the guy's question, you would see the only reason he's asking the best way to learn how to be a programmer is in order to make games.

      I say: let the man create games. Once he creates a prototype that's worth something, he can always team up with a real developer. But until then, fiddling and copy-pasting is just fine, as he will actually be doing what he wants to do.

      --
      Pretty good is actually pretty bad.
    14. Re:If your goal is to make games... by Zaphod+The+42nd · · Score: 1

      You're inferring and assuming a lot, which I disagree that he implied. Yes, he says at the end he would like to get into game development, so that would be an eventual goal, but he starts off just saying he used to know some code, he wants to get back into coding, how should he start, etc.

      I say that you're way, way off. Its very clear the guy wants to be a programmer. And if he does, doing what you've said would be disastrous.

      --
      GCS/MU/P d- s:- a-- C++++$ UL++ P+ L++ E+ W++ N o K- w--- O M+ V- PS+++ PE Y+ PGP t+ 5- X R++ tv+ b++ DI++ D++ G+ e++ h-
    15. Re:If your goal is to make games... by dingen · · Score: 1

      I can't disagree with you there. I have no idea what he actually wants to do. But this is what I got from his question.

      If he wants to go all hardcore and really learn how to properly write code from the ground up, then your suggestion is obviously a better approach. That will take a few years of his life though. If that's worth the effort is only up to him I guess.

      --
      Pretty good is actually pretty bad.
  6. Processing by Ice+Tiger · · Score: 2

    You cloud try learning Processing, the reason I say that is because just like back in the 80s you can type something quickly and see some results, I'm thinking it would help you get into 'the zone' again quicker as you have a very fast and visual feedback loop on what you do.

    Learning Ruby might be a good language as well as you have less boiler plate than languages such as C# and C++ etc.

    From there you can jump to something else if you want to.

    --
    "Because we are not employing at entry level, offshoring will kill our industry stone dead."
    1. Re:Processing by Anonymous Coward · · Score: 0

      +1 to this. Processing is really just a set of Java libraries, so it shares the syntax (and pros/cons) of Java. However, with the examples and quick prototyping capability, you can make some fairly complex games pretty quickly. It has a built-in 2d rendering system. It's not going to create AAA titles, but it will certainly help you on your way to creating the game mechanics, the feel and behavior of a game, complete with user IO.

  7. from the book by Anonymous Coward · · Score: 0

    If you are reading this book and ... feel I'm insulting your intelligence... Go learn Lisp. I hear people who know everything really like Lisp.

    LOL. It's true...

    We do.

  8. Python is the new BASIC by Anonymous Coward · · Score: 1

    Python may very well be the gateway drug you're looking for - it's definitely one of the paths of least resistance (back) into programming: the syntax isn't overly complicated, the interpreter gives you immediate feedback, you can learn it on your own at your own pace, and the combination of Google + StackOverflow seems to work unusually well for finding answers to common questions. You can do quite a bit with it - 2D turn-based strategy RPGs are certainly within its power, as are more complicated games. Most importantly, at least in my experience, Python is *fun*, certainly more so than C++ or C#, so your chance of sticking with it and actually finishing something you start is much higher.

    If I were trying to build an Apple ][-like machine in 2012, I'd build in a Python interpreter.

    1. Re:Python is the new BASIC by Gordonjcp · · Score: 1

      If I were trying to build an Apple ][-like machine in 2012, I'd build in a Python interpreter.

      Not Forth? The Python internal VM is stack-based, so getting that part working ought to be pretty easy. Actually compiling the python code into bytecode is pretty memory-intensive.

  9. Yikes ... by mister2au · · Score: 1

    That sounds fairly ambitious but best of luck to you ...

    If your handicap is a poor memory then I would suggest that you try self-taught initially as you'll need to find YOUR own way to learn that will work for YOUR memory - I suspect the school approach of memorise to pass exams would be a major disadvantage.

    If that really doesn't work then I'd consider why ... if you are hampered in your ability to structure the learning or just genuinely need more explanation of the content then I'd go the schooling route.

  10. go to community college by Anonymous Coward · · Score: 0

    do a computer science associates at a community college, it should be pretty cheap, something like 2-4k which is nothing comparatively speaking. it will give you the foundation you need to learn the rest on your own. it will teach you the theoretical stuff most self-taught people overlook but without busting your balls on diabolical exam or homework questions the way a more elite four year program might. plus you can put it on your resume, sure, community college is nothing to brag about but hey, if you know the equivalent of a AS in CS why not get credit for it? might even get you a pay bump in your current work.

  11. How about this ... by giorgist · · Score: 1

    I am trying to get back in, I got a degree before object orientated was big so I have to unlearn. I also have trouble remembering, but repetition is getting it into my head.

    After much experimentation I recommend a combination of two sources

    The New Boston and Learning Java

    1. Re:How about this ... by DarwinSurvivor · · Score: 1, Insightful

      Why would you need to "unlearn" non-object-oriented styles? As long as you aren't using goto's, all of your previous knowledge can still be used in modern object-oriented code. You just need to add some more paradigms to your repertoire. In case you didn't notice, the stuff inside the function is still very much procedural just like it always has been, it's just now you say "object.function(arg1, arg2)" instead of "function(object, arg1, arg2)" and "new Object(arg1, arg2)" instead of "create_object(arg1, arg2)". There are some other differences once you get into more advanced stuff (inheritance, interfaces for you java-folk, etc), but it's still the same beast just with a new fur-lined coat.

    2. Re:How about this ... by Anonymous Coward · · Score: 1

      Sigh. There is nothing intrinsically wrong with the goto.

    3. Re:How about this ... by DarwinSurvivor · · Score: 0

      Not if you're writing in Basic or Assembly, but it can have some pretty severe stack-related issues in function and object oriented languages if your are not VERY, VERY, VERY careful.

    4. Re:How about this ... by Anonymous Coward · · Score: 0

      You can abuse any language feature. That doesn't make the feature itself, bad.

  12. This article was right where I am, so... by arkane1234 · · Score: 5, Insightful

    This article is right where I am, so I figured I'd chime in.
    I was in a motorcycle accident about 5 years ago, and knew 5-6 coding languages previous to it. After (because of head injuries from being laid down by a truck sideways), my memory was completely gone for 6 months or so, but came back. Now, my memory is there mostly for long term, but short term is the largest of issues.

    It sounds like this guy has the same problems as I do, and I'm going to assume a slight bit of forced ADHD because of that. Anyway, what I find is if I give myself tiny projects to bite into so my mind doesn't wander then everything works out. The key is always for me to take small bites, and once my brain's wheels hit the road (so to speak), everything is good. Personally I think it's because of the short term memory deficit not allowing the instant memories to feed the desire to learn as much. Once you force them into place by anchoring long term memories, it becomes part of you.

    --
    -- This space for lease, low setup fee, inquire within!
    1. Re:This article was right where I am, so... by SpaghettiPattern · · Score: 1

      Anyway, what I find is if I give myself tiny projects to bite into so my mind doesn't wander then everything works out.

      Rest assure, that works best for most people that are not in your condition. Most won't admit it though. Take small bites and realise them. Try to bring them together in abstracted form in order to see the bigger picture.

      I don't envy you guys. Accidents are pretty rotten, what's done cannot be undone, events cannot be reversed, etc... I therefore hugely admire your perseverance in refusing to be let down by circumstances!

      Excellent take on life. All the best.

      --

      I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
    2. Re:This article was right where I am, so... by Anonymous Coward · · Score: 0

      I'm right there too, except
      * Never had any serious head injuries (since stupidity in HS)
      * Over 45 yrs old
      * Expert in Fortran, C, C++, Perl, lexx, yacc, bison, and about 20 other languages that nobody has heard about
      * Rocket Scientist (my code has controlled space craft RCS and landings) Also was used in NASA mission control centers around the globe.

      I figured that my memory and eye sight were going just like it does for billions of other people around that age on planet Earth.

      When it comes to programming, eating bite sized chunks has always been a good practice. No function/method should be longer than what fits on your screen all at once. Anything longer and an average human can't understand it. It is easier to find errors and test that way too.

      As to programming games, when I was 28, I looked into it. It seemed really complicated. I programmed a Lunar Lander game with graphics as a test case. For the 3 weeks of very hard work, the results were unimpressive. I wrote it in cross-platform C++ using a $12K/seat GUI library from work. It ran on SunOS, Solaris, AIX, HP-UX, Digital UNIX, MacOS, Windows and a few other UNIX solutions. Meh.

      Writing websites is childs play in comparison. Expectations are much lower.
      Writing Android apps has even lower expectations, but higher hopes. An additive game with agreesive ads can make you wealthy, but there are literally millions of Java devs in the world attempting this. I think you have a better chance being drafted at your weight and age by the Phillies.
      If you are doing this for profit, you'll want someone else to pay for your effort and forget about the long-term potential profits. There aren't any. 99.999999999% of android apps lose money. Get a salary and be happy.

      If you are doing this for fun, then forget what we're saying. Use any of these "growth" languages and have a great time.
      * Python
      * Ruby - there is a shortage of Ruby and Ruby-on-Rails programmers
      * C# - if you want MS-Windows only
      * C++ - if you want cross-platform

      The recommendation to "Learn Python the Hard Way" is excellent. I might do that in my spare time too.

      The most important skill is the ability to stay with it, do something every day and never give up. How do you eat an elephant? 1 bite at a time.

    3. Re:This article was right where I am, so... by alysion · · Score: 1

      You have a follower it seems. Me. I was laid down by a truck while riding a motorcycle 16 months ago, TBI (traumatic brain injury), lights out for two weeks, didn't know where I lived a month later when discharged from hospital. Same symptoms. Sort of like aging 20-30 years in a day. But wheels still turn (sort of). Recently learned Joomla! Took six months, but bit by bit, and can still do good work which is the important thing. Takes about three times longer. No one's going to pay me, so forced to suck the ad sense tit. Even Murray Gell-Mann has to work within his limitations. We all do. Mine just changed suddenly.

    4. Re:This article was right where I am, so... by Anonymous Coward · · Score: 0

      I was in a bit of a similar situation as well a few years ago, perhaps not as severe though. I realized immediately that I had to not lose that knowledge of how to program since I was constantly noticing I didn't remember how to do things any more, otherwise I wouldn't be able to make money any more once I recovered. What I did since I couldn't stay focused for anywhere near long enough to do any actual work was to do some programming that I had always wanted to do but never had the time, write a video game in c. Since neither of these were something I was too familiar with there was lots of thinking (and learning) involved for every step of the process. I also remember wanting to make the code elegant looking. The result was the most beautifully written code I have ever written and it kept the neuron pathways to that part of my brain from dying off so there wasn't some crazy relearning process later on.

      Not really sure how any of this would help you years after the event but maybe someone will remember it after getting a major head injury. Also to note, looking at that beautiful code a year later, it looked great but was the most bug ridden code ever written.

  13. making games by iplayfast · · Score: 2

    The best way to learn to program is to actually do it, so I echo the other posters when I say to pick a program and do it. Python is a good language to learn, It makes sense most of the time, so it makes it easier to learn. Making a game of any type is a great way to learn. Just Tick-Tack-Toe even is enough to just to get your foot in the door. Once you get your first success, no matter how small, it will snowball. Good luck.

    1. Re:making games by Anonymous Coward · · Score: 0

      I completely agree with the language (Python) and kind of projects you should start doing (games).

      Tic tac toe is probably the simplest thing you can do in game programming; if you are looking for something more challenging, but still feasible, I recommend Interactive Fiction. It will teach you how to parse texts, use data structures, etc.

      BTW, here's something I wrote about interactive fictions a few years ago:

      http://www.perlmonks.org/?node_id=613974

      Good luck!

    2. Re:making games by Zaphod+The+42nd · · Score: 1

      I would be careful with jumping in on games. Lots of people don't know how to properly deconstruct a problem like a developer yet, and you'll almost assuredly end up biting off more than you can hope of chewing. He's totally new, he's not even sure what programming language to start yet, and he's dealing with handicaps. I don't think trying to get a game going is a good idea at all. That sort of unrealistic expectations is why we have so many programmers who just copy & paste to get through their assignments and never learn anything.

      Tic tac toe is okay... but you should start with command line, and command line tic tac toe is pretty wonky.

      I would say something like Zork first. A really, really simple text-based game. You can walk north or south, and maybe you can "look" or "use" things.

      Definitely 2D and 3D graphics are right out, until you learn to use APIs.

      Really, this is the wrong approach. That's later, when he's learned some and wants to start applying it. Right now he should start with Hello World, then write a sort program, then write some string manipulation, text based calculator, program that prints out 99 bottles of beer on the wall, etc.

      --
      GCS/MU/P d- s:- a-- C++++$ UL++ P+ L++ E+ W++ N o K- w--- O M+ V- PS+++ PE Y+ PGP t+ 5- X R++ tv+ b++ DI++ D++ G+ e++ h-
    3. Re:making games by iplayfast · · Score: 1

      The reason making games is a good way to learn, is that it allows you to be creative, and try things out. There are plenty of examples to learn from. I agree, doing a graphics game probably isn't the best, unless you really want to. The reason I suggested making a game is that it is the sort of project that can capture you. When you are learning a new field, that is a good thing.

  14. Re:C# is great... by Joce640k · · Score: 1

    PS: Obviously...if you want to get into gaming then the language is pretty much decided for you, it's C++. Remember to READ THE C++ FAQ. /Lost in my own ramblings

    --
    No sig today...
  15. Goal set to high? by Frans+Faase · · Score: 5, Insightful

    I wonder if you are not setting your goals to high. I am sorry to hear that you had a serious car accident, but you should realize that if your memory has been affected, probably also your other mental abilities might have been compromized. Writing game software requires a lot of mental abilities, and if you can't make it further than the 4th chapter in "Head First C#", (I looked up the table of contents), I wonder whether you ever will be able to write some serious software. Maybe there is another occupation that could give you more joy than proceeding this route where you are going to meet frustration upon frustration.

    1. Re:Goal set to high? by Anonymous Coward · · Score: 1

      I can't believe that nobody else has had the balls to say this. You're brain damaged and have literally no programming experience. Why not set a more reasonable goal?
      Make a mod for an existing game and start from there. You want to do a simple game? Make your own angband/nethack/roguelike variant. All of them have a good codebase to work from.

    2. Re:Goal set to high? by giorgist · · Score: 1

      It about exploring your limits dammit, not about making Doom 12. Otherwise we are all going to drop dead, so what is the point of trying anyway ? I recon shoot for the next great POV shooter ... you may realise that the way to it is to work with a group, you may settle to editing the manual which will be more than I have ever done but you may find your niche.

    3. Re:Goal set to high? by ToddInSF · · Score: 1

      People read "brain damage" to mean a permanent condition that is static and lifelong.

      I'm sure the intentions discouraging the guy are well meaning, but he's doing exactly what he needs to do, challenging himself and forging new neural connections.

      People suffer varying degrees of brain damage and come out the other end just fine all the time.

      Never buy into other people's imaginary limitations, particularly when they are placing them on you.

  16. Re:slashdot? by Joce640k · · Score: 1

    That's PROOF that you have braindamage.

    As evidenced by all the Python fanbois who didn't even get as far as "...XBOX Arcade, Steam, mobile etc." before posting.

    --
    No sig today...
  17. Warning sign by outsider007 · · Score: 5, Funny

    I have been reading slashdot regularly for many years now, and I have faith in the Slashdot community advice. This is alarming. Your brain may be more damaged than you realize.

    --
    If you mod me down the terrorists will have won
    1. Re:Warning sign by Barny · · Score: 1

      Correct. I would suggest the original poster go out, find the most advanced 'intro to Java' book they can find, something so obtuse and convoluted that no one could follow it, then let it rot on the shelf while they wait for an orderly to bring their special medication.

      Apart from that, of course, they may want to start with something simple but relevant, like LUA and see where that takes them.

      --
      ...
      /me sighs
    2. Re:Warning sign by Anonymous Coward · · Score: 0

      This made me laugh so hard. xD

  18. It depends on your disability by Taco+Cowboy · · Score: 3, Insightful

    I am very encouraged by your determination to bounce back
     
    However, as one who is in this field for a long-long time, I have to tell you that the programming industry is no longer like what we had back then (I read your description and 17-years is considered as a long-time in this field)
     
    I am not very clear about your disability, so I won't tell you what not to do
     
    On the other hand, there are a ton of other stuffs out there, my friend, try them out, maybe those stuffs will suit you much more comfortably than what you had, before that accident
     
      Take care, bro !!
     

    --
    Muchas Gracias, Señor Edward Snowden !
    1. Re:It depends on your disability by Anonymous Coward · · Score: 1

      My background is an associate degree in COBOL, Business BASIC, etc from the days before the Internet and more recently 10+ years working with scripting languages, Perl mostly but also PHP and Javascript, mostly in developing packages to repurpose documents for web pages. Then a severe concussion and surgery for a broken spine followed by weeks of drugs that would screw up a healthy person's thinking. That was now 2+ years ago.

      I cannot do programming any more. I cannot do the kind of mental models needed to choose an appropriate algorithm or apply it to a specific situation. I cannot visualize abstractions the way I must have been able to do earlier.

      What I have found is that I can do 3D modeling quite easily, where there is a similar level of complexity as in programming (if you are doing it all from mesh construction to uv mapped textures to rigging and animating), but where the computer handles the visualizations. So it is not my ability to learn new material or to break complex problems into simpler ones that is gone. But it seems like the ability to make a mental model of something that has no concrete basis is gone.

      Sort of a bummer. OTOH, this did push me into early retirement where I can enjoy life for a change, rather than struggling to stay competitive in the job market with middle aged kids 30 years younger than I.

    2. Re:It depends on your disability by autocannon · · Score: 2

      I cannot do programming any more. I cannot do the kind of mental models needed to choose an appropriate algorithm or apply it to a specific situation. I cannot visualize abstractions the way I must have been able to do earlier.

      You've answered your own question. You cannot be a good programmer anymore. From this and other posts, you sound to me more like a script monkey than a software engineer. If you want to get into hobby gaming code that only you work on, that may work for you. It would not work, or at least not work well, for any group project.

    3. Re:It depends on your disability by LifesABeach · · Score: 2

      I cannot do programming any more

      "Head First" programming?

      Drain Bamaged?

      C# is the lanuguage for you.

    4. Re:It depends on your disability by datavirtue · · Score: 1

      Don't listen to the nay-sayers man. Study, develop a love for the art, and work for yourself. Build things that help people and you will be rewarded yourself. If you aim to work for someone as a programmer you may find yourself disappointed after you reach your goal. Most of the programmer jobs are for raw enterprise-y stuff that is not very interesting after you learn it.

      --
      I object to power without constructive purpose. --Spock
    5. Re:It depends on your disability by autocannon · · Score: 1

      I would much rather he do listen. My office brought in an old man, late 50s, who "used" to code. Well turns out, the old man couldn't even figure out how to do C# worth a shit. Yet we are stuck with him. Much like we are stuck with a large number of "programmers" who suck. They are at best no more than script monkeys. Idiots who can spew out code that eventually works for their use case only, but is completely unmaintainable, only works in the go path, and fails miserably at error checking. Oh, and it's completely unscalable and very duplicitous. It's a good idea to rewrite basic operations over and over in each class of the project right??

      It's garbage code like that that ends up causing the good developers a LOT more time being forced to debug that garbage and eventually rewrite it. But who in the end gets the flak? The good developer who is tasked in a very short timeline to fix the garbage that was produced by script monkey #1 because the delivery is due and management finally noticed the shit don't work. Not a word gets said to the original moron who couldn't get it to work.

      Perhaps my office management is very inept. I definitely wouldn't argue.

      Look, I'm ranting. Not necessarily at you, just at the notion that anyone can code. Sure, anyone can code just like anyone can be a racecar driver because they can learn to drive. When you look around and see all the buggy and craptastic programs floating around, there's reasons for that. One of which, is having script monkeys do the work of software engineers.

    6. Re:It depends on your disability by EETech1 · · Score: 1

      I find it amazing how aware you are of, and the understanding you have of, exactly what you are "missing" intellectually from before.

      Do you think there is some kind of switch that can be flipped in order to re-enable these previous capabilities?

      Are those abilities still up there just locked away, inaccessible to you for some unknown reason, but if you spent (the proper amount of) time re-learning some of it you could again be proficient in them, or do you have a firm belief they are gone forever?

      Do you think you could ever understand more about them than you did previously?

      Thank you.

  19. Codecademy by getRandomString() · · Score: 2

    Give Codecademy's Python a try. It's fun and easy. http://www.codecademy.com/tracks/python

  20. Get into Mobile Computing by SuperKendall · · Score: 4, Interesting

    I think at this point, that anyone setting out in programming should start with mobile computing.

    Nothing else gives you such strong immediate feedback, a sense that you are really doing something - even moreso than web programming (which is pretty immediate as well, but generally less interactive).

    Start with whatever platform you already have, if you have a smartphone. If you don't have a smartphone, get either a Nexus7 tablet if you don't have a mac, or an iPod touch if you do, and go to town.

    There are tons of free resources for learning programming on mobile platforms since it's such a hot field, lots of it aimed at really novice users so there's no content that would not lead you in as gently as you like.

    Good luck, and I hope you can enjoy programming once more.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Get into Mobile Computing by mimicoctopus · · Score: 2

      This is excellent advice. When I was 10 years old I started doing programming for the Palm OS platform. It was a bit harder then (programming in C, very limited resources, etc...) but I can't imagine desktop programming would have been easier. There were some great third-party distributors available that would handle the sales and cut my cheque each month and prices were higher back then ($10-$20 per unit). By the time I was 15 I was making more in royalties than my parents -- although this was a pretty low bar seeing as how my father is an alcoholic and my mother didn't manage to get her degree until I was 9 years old.

      When the Palm OS platform died I decided, regrettably, that I just wanted to have a normal childhood and study natural science in university. This turned out to be a mistake because the emotional problems caused by my father's abuse and constantly switching schools made fitting in more or less impossible.

      After taking a hiatus from programming for about 5 years I recently wrote a very complex scientific modeling app related to the field I was studying. It was probably the most fulfilling thing I'd done in years. I've still got a lot of improvements planned, but it's getting some sales (not like before, unfortunately). I make the majority of my money from programming contracts now and I've decided to transfer to computer science.

    2. Re:Get into Mobile Computing by ThirdPrize · · Score: 1

      I would second this. I program for the day job but a few years ago i got an iPhone. I had always looked down on shareware and freeware but once i got my first app on the app store I was converted. As long as you come up with a vaguely original idea you can write a small puzzle/board game in a month or two of evenings. Probably quicker if its full time. Make it free and people WILL download it. Objective C is fairly good now they have sorted the memory management.

      --
      I have excellent Karma and I am not afraid to Troll it.
  21. Re:slashdot? by Nutria · · Score: 2

    As evidenced by all the Python fanbois who didn't even get as far as...

    He's mentally challenged with bad memory, and you want him to jump in the deep end? What kind of bastard are you?

    --
    "I don't know, therefore Aliens" Wafflebox1
  22. Find your red thread.. by Anonymous Coward · · Score: 1

    Creating a game is a big undertaking, I know, cause I tried and failed 2 times already and working on my 3rd time (new code base).
    Anyhow, what the task have given me is a red thread, something to strive for, something to collect information about.

    With a game, you can digg into every aspects of a computer, from Coding, process scheduling, website for the game etc.
    You really do touch everything, there is always something new to learn.

    Find a language that you think is fairly easy, and learn it good, really good. Then use that one, and dont let anyone tell you otherwise.
    There are languages that is better for some tasks then others, but most tasks has been done in all of the available languages, so its all up to your knowledge of that particualar language.

    For XBox, I would think C# is the most common one, atleast for Indie developers.
    Looks easy enough to start with actually.

    If the goal is to start programming again, why not use one of the easyer languages, like Visual Basic, Python.
    If the goal is in the end to program your own game, look into C#, C++, C

    I learned to program myself, got work, went to school, went back to work.
    People at work come to me when things needs to be really debugged, cause I know the low level stuff, most that I have pickedup during my research for my game project. So even if I never gotten anywhere with the project, it secured my work :-)

    I hope this post gave something.

  23. Re:C# is great... by Richard_at_work · · Score: 5, Informative

    Except that MS hasn't dumped .Net at all - that was uninformed FUD and bullshit from the usual people. .Net 4.5 is about to hit, .Net 5 is under active development and .Net (5.5/6) is being talked about. Anyone learning C# right now is as safe as any other language.

  24. sure PHP by Anonymous Coward · · Score: 0

    Hi, in my humble opinion,
    the easiest platform is the browser,

    you build the interface by html (not a real programming language, but a "building pages" language)
    then you can integrate programming intelligence in many ways
    PHP server side technology probably is the smartest and more simple even in complicated tasks like integrate DB etc.

    there are many books or tutorials, but a good fast starting course in my humble opinion can be very helpfull,
    best wishes!
    marco

  25. Re:C# is great... by Anonymous Coward · · Score: 1

    Why not start with Java for Android?

    There's a really nice API, OpenGL, and a pretty decent distribution network for you to use (although I think Google's cut of Google Play sales is too high).

    Then you can segway into C++ as you feel comfortable, through the NDK/JNI.

  26. Do a game relevant for yourself by LeoXIII · · Score: 4, Informative

    Start from your own strength! You have a handicap and you know the kind of support someone like you need. So do a simple game to help you remember things. Don't be too ambitious. Do something really simple that works and build it out in small stages, always keeping it working (google "agile" if you want to know more about this way of working). Perhaps look at memrise.com for inspiration and think about how you could enhance something like this for someone with your particular issues. Think of special areas, there is more to remembering then vocabulary(people, situations, sounds, music, procedures, short term vs long term) . Think about how in what way a game could support a particular problem YOU have. When you have a prototype (even a simple one) you might be able to get support, since having the handicap yourself will give you a great story and in this way you can turn your handicap into a a real advantage. Perhaps you will even be able to partner with someone that can help you with the bits that are too specialized for you to do handle yourself. But to get that you first need a prototype game. Most important of all. Have fun developing it and try to find someone you can show off when it works! We all need this! In this way everything else is a bonus. Dan

    1. Re:Do a game relevant for yourself by Dynetrekk · · Score: 1

      This is a great idea. You know more about memory problems than most people - maybe you could also consider making an app that's useful for rememebering things? I'm sure the regular TODO apps out there are missing out on what the needs of the handicapped are.

  27. Processing by Knuckles · · Score: 1

    Processing would be an option. It's basically Java, but gives immediate feedback like s script language, and it's visual, which makes it fun to learn because you see immediate results, and if you want to make games it may be a good fit.

    http://www.processing.org/
    http://www.openprocessing.org/

    --
    "When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
  28. Not games by Anonymous Coward · · Score: 0

    The best way to get back into programming is definitely not programming for games. Though seemingly accessible there are a lot of complex pitfalls that come with working with graphics, sound, and even simple text that has made many a neophyte programmer throw their hands up and turn to totals different paths in their life.

    Python is a fine language, but imho not a very practical one. C# is a much better language and, if you insist upon doing something graphical it is probably your best bet on getting a simple GUI assembled (Java isn't bad their either). Nothing is going to reduce the complexity you are seeing in C++ though, all modern languages you'll find to be very similar in their fundamentals.

    Personally I would recommend putting together some kind of inventory system as a first multi-day project. Maybe keep track of everything in your fridge, persist it to a database on your computer, retrieve it and manipulate it. Have it automatically generate the next week's shopping list as you change the values. That'll get you working with a lot of the data objects you'll need to understand. It'll also get you learning and understanding some simple APIs that other programmers have put together, that'll be a critical piece of any future success you'll ever have in programming. Using and adapting something other authors have created is part of any project.

  29. What to do next by Plekto · · Score: 2

    I personally think that it's time for you to move on to other areas of game design. Anyone with a decade or more of experience should be able to eventually get into project management or possibly something in the design areas of gaming as that uses less of your wrote memory areas of your brain and more of your creative areas. A project manager or level designer (as examples) can also keep (and is expected to) copious notes. So you can use your job to minimize most of your impairment's problems.

    Plus, you'll have less stress and make a lot more money. The only reason anyone, and I really mean ANYONE would be a programmer these days is because they are either planning on making the next great app that takes off or they are planning on working for a major company in internet security or the like or a government institution (Nasa or similar). The other jobs are too much stress and too little reward.

  30. Loss of short term memory by Taco+Cowboy · · Score: 1

    It's very tough for anyone trying to pick up new skills when the short term memory is affected
     
    Soon as you start to get used to something, your forget and have to start over, and over, and over again
     
    I have a relative suffering the same thing and have been trying my best to assist her in getting herself back into normal life routines, again
     

    --
    Muchas Gracias, Señor Edward Snowden !
    1. Re:Loss of short term memory by Anonymous Coward · · Score: 0

      Depends upon the degree, but essentially yes. I had a math student years back who had severe ante-grade amnesia, as far as I could tell nothing stayed in his memory for than a half minute. Somebody like that trying to learn a new skill is probably never going to have any success at all.

      Fortunately for the OP, it sounds like he doesn't have anything that severe.

  31. New Book "Think like a programmer" seems good by elander · · Score: 1

    I just started reading a book called "Think like a programmer" by V. Anton Spraul. The title pretty much gives the content away, and after reading roughly the first quarter I'd say it's a good read. The target language is C++, but that probably won't be too much of a hindrance. Keep a good C++ reference at hand and I suspect you'll do fine. The book is available in both hard copy, ePUB and Kindle format. I am not affiliated with author or publisher in any way.

    --
    /elander
  32. Re:C# is great... by flimflammer · · Score: 1

    C# is great, especially now that Microsoft has dumped .Net and moved on to their Next Great Thing.

    What the hell are you even talking about? C# and .net still has a huge roadmap ahead and is in active development.

  33. Me? by Anonymous Coward · · Score: 0

    I'd be idea for one of those BIOS-writing jobs. I know x86_64 asm and a lot about operating systems and compilers. I could also work on compilers.

    fuck that

  34. If it is really your passion, you will be fine by BlueTrin · · Score: 1

    The best way is often the hard way, you need to seriously spend time starting to do what you wanted to do: as you said in your own post, you should try to program games. You can start by programming a text based version of it and then learn the basics of graphics libraries ?

    As long as you have the motivation and your passion/hobby, you will spend time trying to learn which is what differentiates the best from the rest.

    My only advice to you is to stay realistic and keep trying. Find a community forum where you can get answers for your questions and try to make friends at conventions if you can. Meeting people in real is always better than random online acquaintances.

    --
    Don't you know it is now both immoral and criminal to think beyond the next quarterly report?
  35. LEARNING is not UNDERSTANDING by acidfast7 · · Score: 1

    TBH, your goal should be to "understand" a language, not to "learn" it.

    Not only is there a huge difference in the end result between the two, but there's a huge difference in the approach as well.

    Once one of a class of languages is really understood, it's much easier to learn the syntax of another.

    FWIW, I'm in biochemistry and hardly program at all ... however, I can't imagine that understanding Python is that much different than understanding German (which I've done in the last two years), which in turn makes understanding Swedish, Danish, Norwegian, Dutch and Afrikaans much easier (understanding is very easy, however speaking them is more difficult).

    1. Re:LEARNING is not UNDERSTANDING by ThorGod · · Score: 1

      OP's going to repeat the same programming tasks probably hundreds of times. More times than someone with average memory. When s/he's done, s/he's going to understand programming and whatever language very well.

      --
      PS: I don't reply to ACs.
    2. Re:LEARNING is not UNDERSTANDING by acidfast7 · · Score: 1

      That's not "understanding," that's brute-force memorization and "learning".

      If the OP "understands" a langauge, they should be able to just learn to new syntax and start programming in a new language immediately.

      Personally, I think that the OP should go extremely slow and really understand the underlying processes, unless (s)he just wants to be a one language code monkey.

  36. try and train your memory as well by dutchwhizzman · · Score: 1

    Regardless of what coding you are picking up, you should be training your brain to re-learn the things you need to become successful at coding. You'll need some games/stimulants/training to get that going and keep it a challenge. Maybe people here will know good (self)therapy methods for that? All I can come up with is Sudoku, but there must be more?

    --
    I was promised a flying car. Where is my flying car?
  37. Profession? by mwvdlee · · Score: 1

    If you want to do programming professionally with the particular disability of not having a good memory recollection, I think you might want to look into languages that have a limited scope. Having a limited scope means the set of structures and methods will be limited and thus repeated more often. You might not want a language that offers dozens of ways to solve a single problem, but one that offers just a few ways to solve many different problems. Popular languages like C++/Java/C# are very generic with a broad scope, but something like COBOL is a lot more limited in scope and still perfectly viable to find employment.

    If you have no (immediate) professional intentions, there are a lot of specialized languages in fun fields (like games, graphics, music), even some purely visual " drag & drop" languages which tend to have a more limited set of operations. Something like FlowStone would be a nice starting point if you like electronics, or it's sister project SynthMaker if you're into music. FlowStone has the benefit of allowing Ruby code, which may be a step up into other areas of programming. SynthMaker has effectively been dead (with significant bugs) for a few years now.

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    1. Re:Profession? by Anonymous Coward · · Score: 0

      +1 informative for the SynthMaker reference. I had never heard of it, but it looks neat! Thanks for telling me about it.

      --wmbetts

      Posting AC, because I have mod points and just gave you one!

  38. Re:slashdot? by styrotech · · Score: 1

    Exactly. Python has a few libraries available like pygame, pyglet, panda3d etc that would help someone ease into game development.

    To the OP: I wouldn't try any C++ or C# game development until you feel you've made real progress with something simpler. It sounds like you'll need lots of small self contained projects you can succeed with. Ongoing success with small steps of increasing complexity is going to be better than failing at something too big and ambitious.

  39. Re:Brain damaged? Just go into ISO certification. by Rosco+P.+Coltrane · · Score: 3, Funny

    I suggest a MCSE.

    --
    "A door is what a dog is perpetually on the wrong side of" - Ogden Nash
  40. Pick the Right Tool for the Job by Rezell · · Score: 1

    As an employed programmer that does everything from reading hardware schematics and writing C, to writing server code in C#, and finally writing all our build scripts in Python so they will be cross platform... I suggest learning Python as a way of getting back into things. I work in a variety of environments, embedded/linux/windows, and I had to make certain concessions in my code to account for the OS running the scripts, but Python was very easy to pick up and create useful things. I've managed developers who are very particular about whatever domain they're comfortable in, but if I can get the windows guys to install Python 2.x I'm golden. Always use the best tool for the job, while Python is great, I don't use it to build my .NET projects. MSBuild is better suited for that, no matter how clunky and painful it may be. This post is a bit muddy, so I mean to say if you're writing anything for your own personal improvement, use Python. Once you get your bearings, you may have to adapt and learn something else. Programmers are craftsmen, we should be skilled enough to work with whatever tools we're given.

  41. repetition by ThorGod · · Score: 1

    I've had *some* problems with remembering stuff before. It's not anything as severe as you're going through, and I wouldn't hope to imply that I *understand* what you're going through...

    But, I hear you on memorizing through repetition. So, whatever you do, I suggest you plan on:
    -coding many, many different example programs/functions.
    -re-coding those different examples several times. Perhaps changing how you code them each time (or not - not a requirement).

      There are coding problem websites on the net. They list example problems. Hopefully someone can supply a link...anyway, I'd just work through one after the other.

    The language doesn't matter, the important thing is progress. Though...python is awesome. You can do procedural, OO, and functional programming within python. Plus, a typical python function is bound to be take fewer lines than other languages. And then there's ipython...

    --
    PS: I don't reply to ACs.
  42. Many have suggested ... by Anonymous Coward · · Score: 0

    Many have suggested various languages, which is fine, but no one has actually told you how.

    You need to evaluate your ability to solve a problem since a manager wont go beyond its basic articulation/description.
    So, can you write a recipe? What steps would you perform to make a sandwich? If you come up with about 2 dozen
    steps, you're on the right track. No, it's not silly - do you steps include a knife or a spoon for the spread? Lots of little
    details but the sandwich won't really happen without them. Are the ingredients supplied or made? Stuff like that.

    If you are successful, then decide the best vehicle (programming language) to perform those steps in. Write them out.
    If you're about the age you indicate, your brain works best if you literally write those things out in your hand on paper.

    Let's consider two sandwiches. Here are some of the (very simple example) steps and their associated detail:

    Get four slices.
    For each slice, do (slice = 1, slice less than or equal 4)
        if slice is first, then ( num_slices modulus 2 is one)
            place on plate
            add whatever on slice (spread, etc.)
        else
            cover the last topping
            cut sandwich in half (diagonal or straight?)
            add tooth picks
        end if
    end for

    Even as I write those, I see other steps. Another aspect is pruning. For our sandwich example, are you going to
    eat it immediately after its build? Then the entire group of steps for preserving it are not needed/used. See?

    My example is how I think; but you'll come up with the steps that match your experience and personality.
    It doesn't matter as long as the sandwich is tasty and meets the nutritional requirements, you've done you job.

    Good luck!

  43. get a tutor by Anonymous Coward · · Score: 0

    Get a tutor.

  44. Teach yourself by reading, doing and take a course by Anonymous Coward · · Score: 0

    General suggestions for when you are thinking of learning a programming language:
    Get a book to help you get started (I see that you have already done this). This costs you next to nothing and is the easiest to fit to your own schedule.
    This is a simple way of checking something out so it fits you before making a definite choice. If you decide it's not for you you will have lost very little.
    Find or create a project that interests you. The goal should be independent of language and useful for you. Keep it somewhat ambitious but attainable.
    If possible portion it into smaller projects or small goals that are useful in themselves. This ensures that you maintain your drive to push on and learn more.

    Once you have attained some knowledge you should look to find a course that teaches the basics, and if possible, some advanced topics.
    This way you go in with some understanding of what you find easy to grasp and what you need help with.
    You will be able to ask questions about the specific things that stumped you. It is also a great way to connect with others who are on the same page as you.
    This is also vital in order to force you down paths that you would otherwise avoid; it is a lot harder to put off doing something when these are part
    of your course and come with deadlines.

  45. Best advice given your situation: Join a team. by Qbertino · · Score: 5, Insightful

    Give: You've got some brain damage and some handicaps resulting from that and what to get into XBox or some other sort of game development.

    Your advantages: You've got life experience, a high frustration tolerance (so I'd definitely presume), are hard working and dedicated.

    I strongly recommend that you join a modding crew inmediately, especially if you want into gamedev and you've allready gotten your hands dirty as much as you can with C#.

    This would have quite a few advantages given your situation:

    1.) You'd be infinitely closer to game dev right away than if you'd start out with scripting in some FOSS language on some obscure OS that only tinker-geeks use.

    2.) You'd instantly be in a team with many people involved and could experiment with the areas that you're actually good at. If hardcore coding hurts your brain, there is tons of very important gruntwork to do, especially with game development. loadtesting, pipeline maintainence, protocol testing, app/persistance glue coding, scaffolding, rigging, technical direction, model cleanup, UV mapping (the last 4 are all 3D stuff), SFX testing, etc. Tons of stuff that doesn't need much of any nerdbrain superpower but a stable personality, a high frustration tolerance, dedication and at times the abitliy to give orders and be heard.

    3.) If you are hard working and dedicated and have the life experience that comes for free with your destiny, you are an invaluable asset when it comes to motivation, discipline, planning and foresight. All things desperately needed in the modding and professional game development team. When a veteran like you speaks, the young and whiny wippersnappers usually shut up right away away, pull themselves together and get back to working on the next release.

    4.) Non-trivial gamedev, as done with some of the modding crews, has so much to do, you can allways inmediately switch tasks if something becomes to frustrating and/or hard if your tired.

    5.) Modding is the classical step-stone into pro gamedev.

    6.) You'll quickly learn the real life lesson that coding is only a tiny, tiny part of a large projekt. Art, TD, production, HR, management, marketing chances are that if you are serious about your ambitions you'll quickly find a field where you are much more successfull and find much more satisfaction than what you'd find beyond chapter four in "Head First C#". I love coding, especially with Flash/ActionScript, but unless I get it into my head that I'll be earning infinetly more when managing and consulting and maybe doing a little ABAP and, you know, actually get paying jobs, I'm stuck with yesterdays tech, crappy pay and no future.

    Bottom line: Don't try to do something you probably simply can't do. Broaden your perspective. The experience you got in coding right now is pointless if you want to be a XBox coder, it may be invaluable if you are a TD or producer. Don't forget that.

    Good luck.

    My 2 cents.

    --
    We suffer more in our imagination than in reality. - Seneca
  46. project management? by the-build-chicken · · Score: 3, Funny

    used to be able to program ...brain injury....oh come on, I know you're all thinking it

  47. Java is easy to learn by SplashMyBandit · · Score: 1

    Java is easy to learn for a C++ developer (Java is used in many university level introductory computer science courses) and it very widely used. It is cross-platform and has a vast array of libraries that gets you going across almost all problem domains (networking, hardware accelerated 2D and 3D graphics, web applications [GWT+vaadin are great], embedded systems, Android devices). Oh, and according to the Tiobe Index it has a lot more industry activity than C# (yes, yes, C# is used widely, but it turns out not nearly as much as Java).

  48. Best way is..... by Conspire · · Score: 1

    With a pogo stick

    --
    Real men don't need signitures!!!
  49. Ermmm... by Anonymous Coward · · Score: 0

    Sorry, what was the question again?

  50. Re:C# is great... by Anonymous Coward · · Score: 0

    It's not uninformed FUD, it's uniformed wishful thinking. There's a difference.

  51. I don't believe you by stephanruby · · Score: 2

    15 years ago I was programming in BASIC, and doing some C++, after a serious car accident barely making it out alive, my memory went to crud. I have no recolection of how to do anything in either of those languages any more.

    15 years? Seriously! You're giving yourself way too much credit.

    Personally, it just takes me 15 days to forget a computer language, no head injury required. Plus, I usually only really know one computer language at a time (when I have to use other languages at the same time, I just cut and paste a lot).

    If you want to rehabilitate your memory, quit your job, and get another one (hopefully, a different type of job, but one that you're still able to get, and one that pays the bills). I'm being serious here. Changing routines is best. Also while we're at it, changing employers is also the best for career advancement.

    And be careful not to take refuge in computer games. I'm not saying this is the case here, but I've met my share of gamers who wanted to be computer game programmers. Of course, it stands to reason that a game programmer will have played computer games and that many programmers got into programming precisely because of computer games. The only problem I see is that many people that are heavily into computer games think they're going to find a way out of their game addiction, by making computer games, which unfortunately is not the way I'm seeing things happening these days.

    One problem is that games are getting so sophisticated now, that the gap between the emotional pay off of playing a game vs. the emotional pay off of actually making a game is becoming much wider, and if my theory is correct, a heavy gamer would be unwittingly conditioning himself to become a poor learner and an impatient computer programmer by continuously playing computer games.

    Which is to say, don't give up on your goal of making computer games, but if by any chance, you're heavily into playing computer games. Quit for a while. Get some other hobbies. Unplug yourself from the internet, even from Slashdot. Take a night class or two. And of course, get yourself into programming once again. Programming is certainly not the same as playing, and it comes with much smaller and less frequent emotional pay off's.

    1. Re:I don't believe you by Anonymous Coward · · Score: 0

      haha, so true on the gamer point. i'm not into game development but in media production i see the same thing. like people think because they love music or movies or whatever that it follows that they should be good at making music and movies. sorry, but that's like saying everybody who loves cake would make a great master confectioner. it's EASY to like video games, music, movies and cake. don't fool yourself that you're doing "research" by sitting on your ass watching movies all day! sure if you want to make music you should study great music, but studying it isn't as fun as kicking back with some headphones and rocking out, it means actually figuring out the chord progression, transcribing the bassline, reverse engineering the synthesizer patches, etc. which all takes discipline. just because you love something doesn't mean you're going to be good at actually doing it otherwise all the fat ass blobs watching sports on the weekend would be pro.

    2. Re:I don't believe you by Anonymous Coward · · Score: 1

      Jesus Christ. You hit the nail on the head here. I used to be a professional computer game programmer but I moved over to web programming during the dot com boom. I've kept an oar in the water at home, working on my own multipurpose 3D engine for fun for the last 17 years. Anyway, I decided about 6 years ago that robotics and AR were about to explode. I've been meaning to get my shit together to ride the wave to riches. I've made some ok progress, but goddamn, my Fallout 3/New Vegas, Urban Terror and Team Fortress 2 addictions have destroyed my productivity.
      It's been so long since I've had a good "roll". Sometime's I think I'm getting dementia, or thing maybe I'm just getting too old, but in reality I think I've just developed a particularly nasty habit of turning to computer games whenever I hit a problem that requires extremely deep problem solving.

    3. Re:I don't believe you by Anonymous Coward · · Score: 0

      "One problem is that games are getting so sophisticated now, that the gap between the emotional pay off of playing a game vs. the emotional pay off of actually making a game is becoming much wider, and if my theory is correct, a heavy gamer would be unwittingly conditioning himself to become a poor learner and an impatient computer programmer by continuously playing computer games." - stephanruby

      Angry Birds is WAY more sophisticated than the old flight and combat simulators... I think you have that backwards. Not that sophisticated games can't be made - it's just by and large they aren't - primarily because of the ascendance of console and small screen games - which by definition have less system resources, and therefore lead to less complexity.

    4. Re:I don't believe you by Anonymous Coward · · Score: 0

      I was talking about the Everquest game addict, or the Xbox/console/computer game addict, and I was speaking of computer games in the most generic sense.

      And I was going back farther than you did. There was a time when Pong was the most complex game on your computer. Or Summer Games was the most complex game on your Commodore 64. You certainly make a good point, but your point was tangential to mine.

  52. Program something by Anonymous Coward · · Score: 0

    You memory is shot? Welcome to the modern world. I have a 2 second memory. I find that as soon as I think of something, the best thing to do is to immediately write it down.

    The best way to learn to program is to actually program, reading books doesn't work so well, you'd have to remember each chapter as you go, and its easy to forget something that was so easily learned. He say "this code does this", you type that code, it does that, woosh, you've forgotten it.
    Whereas if you try to do something yourself, and succeed, then you have a piece of code to refer back to to recall what you were working on, and the challenge of solving the problem helps you learn the techniques needed to solve similar ones next time.

    Java and Android is my chosen programming language of choice now, prior to that it was C++ Windows. I've found Java has just been a doddle. Really easy. And once past the package res, service/app Android is easy too. C# ? I don't think that has a future, it never went beyond the MS universe and that universe is imploding into the black-hole 'Ballmer'.

    If you have a goal in mind, something you are trying to write, then that goal provides test after test after test as you need to solve each puzzle to achieve the next part of the goal. Plus you can see the progress and that body of code exists for you to refer back to, regardless of whether you remember the detail of how you did it. I don't recall the last million or so lines of code I've written, why would I!?

    Another trick is to write everything down as soon as you think of it. It helps when you have only a 2 second memory window. Also try writing stuff down.

  53. Small steps and don't worry about the language yet by QilessQi · · Score: 2

    Fundamentally, many programming languages are very similar. C++, C#, Java, and even scripting languages like Python and Perl all deal with the same basic concepts and constructs: objects, classes, methods, for-loops, while-loops. What differs is the specifics, and the available libraries.

    Now, suppose you were going to the gym for the first time in years after an accident. Your ultimate goal may be to deadlift 250 pounds, but you certainly shouldn't start there.

    If your ability to memorize new information has been compromised, then you'll want to start with a language that has very simple rules and syntax. So, avoid C++ and Perl for now. You could start with plain ANSI C -- very straightforward -- but then you'd have no formal object-oriented programming constructs, which is bad in this day and age. Java or C# will both be good formal languages to learn. And if you're into instant gratification, don't want to learn an IDE, and don't mind running things from the command-line for now, consider Python.

    But above all, give yourself time. With practice you'll get there. Simple stuff now, games and graphics eventually.

  54. Re:C# is great... by ThirdPrize · · Score: 2

    Sorry, but learning C++ is a bit like learning Latin. It is good if you want to understand the background of todays modern languages but really, there are so many better and well thought out languages these days that you shouldn't really need to.

    --
    I have excellent Karma and I am not afraid to Troll it.
  55. try something visual by Anonymous Coward · · Score: 0

    ... check processing.org or openprocessing.org

  56. I've always had bad memory by Anonymous Coward · · Score: 0

    I've always had a bad memory and am jealous at how some people can remember all the syntax and patterns so well.

    I've developed several strategies to counter this, which are actually very beneficial to any coder.

    • 1. I document everything as extensively as I can, in multiple layers. Eg overview documents as well as doc comments.
    • 2. I write code that is easy to decipher even if this means making it longer. This means using longer variable and function names and only doing one step per line of code. For example :
      /**
        * ... more docs here
        *
        * @return integer A description of what is returned.
        */
      myfunc() {

      // some calculation code here.
       
      // Even though I have documented the return value I don't do this :
      // return calculateSomething(par1, par2);
       
      // Instead I will :

          variable_description = calculateSomething(par1, par2);

          return variable_description;

      }

      I do this because it places less of a stress on my memory.

    • 3. Organize class structure as carefully as I can, refactoring if necessary, because I know I am going to forget where I put that helper function.
    • 4. As I am coding and step down the rabbit hole of dependencies, I put notes in the code using a custom doctag which I can search on... eg @working at each level down the chain. This makes it much easier to step back out of the dependencies, especially if the task ends up spanning several days and branching in different directions.

    In addition to this I have found that there is a benefit to having poor memory. Out of necessity I am constantly reinventing the wheel and often come up with novel solutions to problems. I do have to be careful not to duplicate work though and am constantly searching to see if it is a solved problem, both in the code base and on the internet. Sometimes I come across my own posts on the topic from a year or two before, that always makes me smile.

    In short, you can do it and you can even do it in ways that will make you a better programmer than most because you know about your deficiency and are countering it. There are so many programmers out there that are ignorant of their shortcomings.

  57. Forget it. Go on disability. by Baldrson · · Score: 0, Flamebait
    15 years ago, eh?

    That makes it about 1997 since you had any ground-truth experience with the world of programming.

    Here's a clue:

    From 1997 until sometime in 2000, there was an explosion in programming jobs and an equivalent explosion in the number of people being imported from around the world, both in physical and virtual terms, to take those jobs. In 2000 the explosion of jobs reversed and imploded. The implosion, as in an atomic blast, was when the real damage was done to anyone not tied into an ethnic nepotism network. If you weren't lashed to such a network, you were blown away by the malestrom -- discarded. Those lashed to their ethnic networks took pay cuts, sometimes severe, but they usually didn't lose their houses. Since in the US, to be in an ethnic nepotism network that protects the interests of founding stock Americans is to be a "White Supremacist" and the government is more interested in rooting out "White Supremacism" than just about anything else, the end result was a catastrophic demographic shift in the programming industry that occurred almost invisibly and overnight. If you are a beneficiary of "white privilege" avail yourself of the only thing you really have going for you at this point: Social Security Disability.

  58. Wanting to do games? Try java+android+libgdx. by Anonymous Coward · · Score: 0

    Wanting to do games? Try java+android+libgdx.

    To recapture programming FIRST DO:

    a) C Tutorial - C Made Easy: http://www.cprogramming.com/tutorial.html
    b) C++ Tutorial, C++ Made Easy: Learning to Program in C++: http://www.cprogramming.com/tutorial.html
    d) Java Tutorial: http://www.lynda.com/Java-tutorials/Essential-Training/86005-2.html
    e) LibGDX: http://libgdx.badlogicgames.com/

  59. Let me get this straight by Anne_Nonymous · · Score: 2

    You were in a car accident and have a brain injury as a result, so the first programming book you bought was called Head First?

    1. Re:Let me get this straight by Anonymous Coward · · Score: 1

      He needs to learn Bash.

  60. Going it again by Anonymous Coward · · Score: 0

    FractalFear, I'm glad you're giving programming another chance. I've programmed in C++, Java, C#, and a handfull of other languages. I've read a lot of books on them, and I've spent a lot of my spare time tinkering with various snippets of code over the years.

    What was really helpful to me was to pick a language (Say, C#) and think of some task. Like, a simple word processor with save/load capability. I would look up samples of that already written, download the projects and open them with an IDE (Visual Studio), and study how they do what they do, as well as what the differences are. I would then make changes to the samples, seeing what happened as I was tinkering. This is the easiest way to learn a new language.

    Also, you need to study programming fundamentals. Classes, Objects, Inheritance, Encapsulation, Polymorphism, the whole Kit-n-Kaboodle.

    Bonus points for learning GNU toolchain.

  61. Read this first! by AnRkey · · Score: 0

    Read this book first: Moonwalking with Einstein, by Joshua Foer.

  62. Relevant video game industry experience by tepples · · Score: 1

    "My goal is to make games as a hobby for now"

    And then he mentions a console platform ("XBOX Arcade", which I take to mean Xbox Live Arcade). Several Slashdot regulars have told me that the only way to sell one's game on a console is to move out and work for a console-licensed video game developer for several years in order to build what Nintendo calls "relevant video game industry experience". And they've repeatedly told me that the only way to sell a game at all in a genre traditionally associated with consoles is on a console.

    1. Re:Relevant video game industry experience by oji-sama · · Score: 2

      And then he mentions a console platform ("XBOX Arcade", which I take to mean Xbox Live Arcade). Several Slashdot regulars have told me that the only way to sell one's game on a console is to move out and work for a console-licensed video game developer for several years in order to build what Nintendo calls "relevant video game industry experience". And they've repeatedly told me that the only way to sell a game at all in a genre traditionally associated with consoles is on a console.

      True. However, considering that he is currently just trying to find out a way to jump back into programming, I doubt that he has yet researched the various tresholds of getting published. One of the items listed is mobile, and that's not really (relatively) that difficult... Perspiration and a good(ish) idea may be enough. (Getting sales may not be that easy)

      --
      It is what it is.
  63. An opportunity to push the limits of your ability by Anonymous Coward · · Score: 0

    Losing parts of your brain must suck real hard. A human is nothing without the brain, so you have lost pieces of yourself. But maybe you can use what you still have and push your limits. It's an immense challenge, but if your will is strong enough, you can achieve almost anything. Developing games, learning to program? Piece of cake. You still have enough brain power to post such a question here, and enough to be able to set such a goal for yourself as this. It should be enough to learn programming. You could draw inspiration from Stephen Hawking, who was able to excel in physics, despite having a broken body. If you can stay alive long enough, maybe you can live to have some future tech available to repair the damages in your brain at some time in the future. Don't give up.

  64. Control method by tepples · · Score: 1

    OP mentioned games, and you mentioned multitouch phones and tablets as a target platform. What's the standard control method for making, say, a platformer on a multitouch tablet? In my experience, trying to play a platformer with an on-screen gamepad is like trying to play with a non-centering Atari 5200 joystick.

  65. Re:Brain damaged? Just go into ISO certification. by jones_supa · · Score: 1

    Actually I have lately started to be more receptive towards various certifications and degrees in IT. There's so many hacks and "fake doctors" around that it's nice to have something official to show. Not sure about the quality or meaningfulness of the different programs, but the general idea is good.

  66. Baby Steps by bobwoodard · · Score: 1

    My take on it is that the first step is to pick _something_ and start working with it. I'm not sure whatever "it" is has to be the best language, versus training your brain to go through the mental process of programming again.

    The $64k question is how your accident has impacted your mental capabilities when it comes to programming, so starting with something "basic" will give you the chance to start to work with a coding project and self-analyze where you might have some holes due to lack of knowledge or due to the accident.

    That being said, the concepts and languages available now versus the late 90s are very much changed, so even if you hadn't had the accident, picking up something after 15 years would be a challenge, so don't be discouraged if it doesn't "click" right away!

  67. Modding crew for non-FPS? by tepples · · Score: 1

    I strongly recommend that you join a modding crew inmediately, especially if you want into gamedev [...] Modding is the classical step-stone into pro gamedev.

    I'm willing to look into this, with a bit of clarification: Aren't most of the moddable games M-rated first-person shooters? Does one have to come to enjoy M-rated first-person shooters before joining a modding crew?

    1. Re:Modding crew for non-FPS? by bigstrat2003 · · Score: 1

      There's a pretty wide variety, in my experience. For example, Elder Scrolls games are extremely moddable. Civ IV has some amazing mods for it, and one can make mods for Civ V. Most games that were developed with console as the lead platform don't support modding, but there are still enough games that do to give you some variety.

      --
      "16MB (fuck off, MiB fascists)" - The Mighty Buzzard
    2. Re:Modding crew for non-FPS? by Anonymous Coward · · Score: 0

      Irrelevant.

      Make a mod for a violent game that makes it less violent.

      Replace any distasteful devices with more tasteful ones, presenting alternative solutions to the player.

  68. SICP by Celarent+Darii · · Score: 1

    The best book by which I learned programming was this classic:

    http://mitpress.mit.edu/sicp/full-text/book/book.html

    There is also a video series to go along with this book by the best teacher I ever had. For someone who perhaps might have trouble learning syntax, Scheme is very simple. The book teaches mostly concepts which can then be applied to any computing problem. I cannot recommend it enough, though perhaps to a modern audience it might be deemed "too advanced", however the general approach might make it easier as you are given more the reasons 'why' something is done than simply 'how' it is done. Many people with memory problems can work better by seeing the purpose of things as rote repetition is more difficult.

    For programming simple games in Scheme you could use the following which already has many examples built it as well as extensive documentation and code samples:

    http://racket-lang.org/

    Good luck with your endeavors! My advice is to go slow, as in learning anything the journey is half the fun!

  69. Games programming? by exallon · · Score: 3, Informative

    If you are considering XBOX arcade c# seems to be the obvious choice. However going into games programming of course needs you to focus not only on your programming. But also basic linear algebra, shaders etc. Which makes it much to learn. But it's absolutely doable. I am guessing that you might have some problems with the Object orientation starting from scratch. Any programming language is a big hurdle to cross. But what I did when starting out was to pick a book (Object oriented programming from square one, in C++). This was 25 years ago.... I read it and tried. Gave up, picked up the book again failed. But the third time I did it it just clicked and I have had an easy time understanding any programming language from then on. So in short absolutely C#. In the beginning skip the Ui stuff and 3D stuff. After learning the intial stuff build a very simple tic tac toe or something like that with normal UI components. Then move on with for instance irrlicht as a 3D engine. You don't want to code your own 3D engine it takes forever. Good luck and have fun!

    1. Re:Games programming? by Zaphod+The+42nd · · Score: 1

      If you're just learning programming to start with (OP isn't completely new, but may as well be) then trying to think about the Xbox is a terrible idea.

      Its going to be YEARS until you're ready to code for the xbox, even xbox live arcade. XNA 3D APIs are no walk in the park. There's so many thousands of little headaches to worry about, you need to have your programming fundamentals down ROCK SOLID.

      He should really just take any language (Python, Ruby, Java, C#) and write a hello world. Then a 99 bottles of beer program. Then a calculator. Then Zork.

      Months later he can hopefully make pong, and then tetris.

      Its going to be years until you're ready for XNA.

      I say this not to ruin dreams, but to prepare you. Unrealistic expectations set you up for failure, and encourage you to do things the wrong way (copy & paste). Much, much better to set your goals more realistically, and then take your time, meet them, and understand the process.

      --
      GCS/MU/P d- s:- a-- C++++$ UL++ P+ L++ E+ W++ N o K- w--- O M+ V- PS+++ PE Y+ PGP t+ 5- X R++ tv+ b++ DI++ D++ G+ e++ h-
  70. It's the web, stupid! by Anonymous Coward · · Score: 0

    Hey, I was just paraphrasing the famous Clinton's words... :-)
    But really, you should concentrate in what's relevant today, and it is the web.
    No matter if you make desktop or mobile web apps, you need to know HTML5.

    And that means: html (the markup language), css3 (the language that gives format to the html elements) and javascript (the only language supported in all major browsers).
    Additionally, there are tools that make your work easier and that you must master once you got the basics (above). These are jQuery (a library to make javascript easier and more consistent).

    You should also learn some javascript framework to structure your code for large applications (something like Backbone.js).
    And if going mobile, there are plenty of frameworks too (jQuery mobile is a good choice).

    But note that all of these tools are just javascript libraries to assist you on each specific task.

    If you want, you should also learn another language for server side programming or non-web realated tasks.
    My choice is python or ruby, because they are easy to learn, very powerful and flexible and FUN to use.

    Forget about C#. It's death. Even Microsoft recognized that javascript is the language. Everything today is done in javascript.
    If you don't believe me, ask the Silverlight folks what they think about it... (and all the .NET community for that matter)...

  71. What about Java? by jehan60188 · · Score: 1

    Java is well documented, and has classes to take care of all sorts of little details.
    If you want to make games, learning java will transfer easily in to making games for Android O/S.

    1. Re:What about Java? by Anonymous Coward · · Score: 0

      Not trying to be insensitive, but it should be a good fit because Java is a brain-damaged language

  72. Stack Overflow by bythescruff · · Score: 1

    Whichever language you choose, I recommend going to Stack Overflow, clicking the tag for your language, and sorting the resulting list of questions by number of votes. This will give you a concentrated collection of very useful practical knowledge about that language, nicely arranged in a Q&A format. Here it is for C++:

    http://stackoverflow.com/questions/tagged/c%2B%2B?sort=votes&pagesize=15

    and here it is for Python:

    http://stackoverflow.com/questions/tagged/python?sort=votes&pagesize=15

    I've been reading a few C++ questions per day over my morning cuppa for the last few years, and the difference this has made has been fantastic. You learn about pitfalls you had no idea existed, tips and tricks which can be of enormous benefit, and fun and interesting quirks and corners of the language - which can help keep you interested and enthusiastic. You'll also find the community is very friendly and helpful, which I'm sure will provide some much-needed encouragement. Good luck to you, mate. :-)

    --
    Chuck Norris: Socialism == a thousand years of darkness.
  73. Still, entire genres by tepples · · Score: 1

    Most games that were developed with console as the lead platform don't support modding

    The problem here is that there are entire genres of game that are traditionally "developed with console as the lead platform". And if someone is a fan of one of those genres, then it'll be a pretty big leap to become a fan of a genre where modding is common; you mentioned western RPG and turn-based strategy. The only moddable fighting game I've heard of, for example, is MUGEN.

  74. Having A Project Is Vital by r0wan · · Score: 3, Interesting

    I went from knowing absolutely zilch about programming to writing my own Blackberry app. Mind you, I was not in a car accident that affected my memory, but I do have issues with memory for reasons too boring to go into. To make a potentially long story short: Have a project. Mine was having a decent ReadItLater and Tumblr Blackberry app. There weren't any at the time I was using a Blackberry and I didn't want to wait for someone else to charge me for one they wrote.

    I cannot emphasize this enough: I did not know *anything* about programming. The *only* way I was able to learn it was the project I wanted to complete.

    You have a goal, which is to get back into programming...preferably for gaming platforms. Now you need a project. Something that *you* want to make and use.

    --
    If you're not outraged, you're not paying attention.
  75. Mobile control difficulty by tepples · · Score: 1

    One of the items listed is mobile, and that's not really (relatively) that difficult... Perspiration and a good(ish) idea may be enough.

    It has to be not only "a good(ish) idea" in general but also "a good(ish) idea" within the limits of a completely flat touch screen. Mobile is fine when your game's actions involve pointing at objects on the screen and activating them with a touch or sliding them around, or for placing objects at various places on the screen. A touch screen is ideal for Bejeweled, Pipe Dream, or Missile Command, for example. But in other genres, the player controls a character who moves around within a large area. Control in these games is based on movement relative to the character's current position, and the character can take any of several actions such as jumping or firing a weapon. These games work best with a joystick, gamepad, or arrow keys, where the player gets some tactile feedback for where his fingers are positioned relative to the keys that control movement and actions. I don't see how to translate them into a touch screen that gives no feedback for the neutral position of movement. What's the typical pattern for platformer control on mobile?

    1. Re:Mobile control difficulty by oakgrove · · Score: 1

      I have to hand it to you tepples, you do take some contrived positions sometimes but more often than not you do give some food for thought. I hadn't thought about the difficulties in exclusive touch screen gaming quite in the terms of relative vs. absolute pointing device for onscreen elements. A lot of games that need relative movement like Final Fantasy for example allow you to put your thumb anywhere on the screen and the "joystick" just appears under it so you get an absolute positioning for the relative controller. That seems to be a good compromise and the games that don't offer this are much more difficult to control well. Most emulators don't perform this trick and they mostly suck as a consequence. Also re your sig, sounds like a job for Baye's Theorem.

      --
      The soylentnews experiment has been a dismal failure.
  76. Re:Small steps and don't worry about the language by Richard+Kirk · · Score: 1

    This seems the best advice so far.

    I am not one of these people who can make a new app out of several different apps in differet languages in a day. For the last 30 years I have mostly written in C, just using the C++ features when I need them. I prefer using simple tools in a smart way, rather than trying to use smart tools in a dumb way. My memory is not great, or at least it cannot be relied upon, so I think I can understand where you are coming from.

    'C' is a small language. I still have the standard Kernigan & Ritchie book on my desk, and you might be able to read it and do the exercises in a weekend. If you want to use classes (and they are useful, but I have to look up the syntax every time) you can go straight from C to C++. However, C++ is huge, and the typical C++ book is at least 700 pages thick. And 'C' also leads into Java, and C# and lots of other languages. 'C' does not have graphics support, so you would probably go to using an OpenGL library, or skip to Java. Maybe the first step is to find some job that could be done on a command line.

    The main thing is to find a task that interests you. I have never been able to learn an language permanently from examples in a book - you have to use it to do something for any of the stuff to stick.

    How about a sudoku solver? Not a plain brute-force one, but one that tests guesses that look likely to yield results like a human does. This is a hot topic at the moment, with people using some measure of the minimum number of assumptions to measure of how hard a given sudoku is. You could look up how they do it, but by not looking you might come up with something new.

    The next idea would need some graphics: make a general solitaire player. Define some syntax that describes how the cards are laid out; what a legal move is; and how you win, preferably in some human-readable format. The app would lay out the cards for you, and forbid illegal moves, or suggest legal ones. With a bit of tweaking, it could make obvious moves for you if you define what an obvious move was; could test whether a solution exists, or try random legal moves, or allow you to rewind. I know a good game called 'eights' that I have never seen in a solitaire package, and I have always meant to code it up. I started one once, with an ASCII interface ages ago, but never finished it.

    If those ideas don't grab you, then you can probably find something else that does. That's the big step for me, anyhow. Then you can find a language that suits. It might be something completely different from any of our suggestions. All the best with it.

    PS: Don't take some of the slashdot space cadets too seriously - you don't necessary want to code Call of Duty WWIII in your Visual Haskell browser shell on an iPhone. I swear they just want to see the rest of your brain go pop.

  77. How to Think Like a Computer Scientist by ericcc65 · · Score: 1

    I recommend python as a great starter language. I haven't seen this reference here yet:

    http://www.openbookproject.net/thinkcs/python/english2e/#

    Of course, the previously recommneded Dive Into Python is good as well.

  78. Do it by zenyu · · Score: 1

    I think this is a great hobby to excersize the mind. It will probably help with your short term memory problems because programming relies so much on all types of memory. You should start with small problems, but more importantly write everything down. Paper is cheap, write down the requirements, then write down the design, then write down the algorithms you plan to use.. whenever you get lost go back to the paper.

    Then there is debugging. By keeping the units small and writing unit tests for them you can minimize debugging to a degree, but there is always a need for debugging in any large program. Here I also recommend that you write down everything. Write down what the bad behaviour of the program is, write down your hypothesis, write down your steps to prove/disprove that hypothesis, perform the steps and record your results.. etc.. it's a slog, but debugging is always a slog.

    As for the career.. Learning to play the violin to play in the NY philharmonic is just not likely to make you happy in the long run. Learning to play it so that you can make beautiful music will be more fulfilling.

  79. Upcoming on Coursera by Anonymous Coward · · Score: 0

    An Introduction to Interactive Programming in Python: This course is designed to be a fun introduction to the basics of programming in Python. Our main focus will be on building simple interactive games such as Pong, Blackjack and Asteroids. Recommended Background: high school mathematics.

    https://www.coursera.org/course/interactivepython

  80. Best of luck to you! by Anonymous Coward · · Score: 0

    I was in a similar situation as the OP. I had a serious head injury playing sports. In my case, someone intentionally injured me, gave me a terrible concussion and destroyed several vertebrae in my neck. For a month after the injury I had to write everything down on a notepad, as I would forget even having talked to someone within 5 minutes. I could not understand the simplest situations and would get so confused in normal conversations that I wanted to cry. It was the scariest thing in my life, and the only thing I could think of was that I was probably going to be a worthless drain on my family for the rest of my life.

    As I recovered, I tried very hard to be useful at work, and was fortunate to have a patient employer who was understanding at that time. Eventually my comprehension skills returned. They are not nearly what they used to be, however. My memory is adequate, but disappointing. I used to be able to remember conversations word for word for weeks before I forgot them. Now I write notes on the tasks that I am trying to accomplish for the next few hours. I want to go back to school for a masters degree but am terrified of failing.

    I wish you much success, OP. My recommendation to you, and please do not consider this to be condescending, but you may want to consider programming books for teenagers and young adults. Once you start wrapping your head around the concepts that challenge you, then you can probably return to the books you could enjoy and comprehend before your accident.

  81. Find another field... by Anonymous Coward · · Score: 0

    Programming is almost exactly like the music industry. It used to be cool, and one can make a career out of it, but there is nothing there anymore, just like the sewing industry, and the meat packing industry before that.

    Trying to throw one's hat in the dev ring is pointless, because unless you are a SENIOR (and I'm talking 20+ years with some big name companies) person, there is nothing out there. Due to the myriad tax advantages, any substantive work is outsourced because Tata can do contracts for pennies on the dollar spent on people hired domestically (and have a guarantee for their work which can't be done with local hires). Those who may get hired are H-1Bs which do not count for employees, so are not subject to payroll taxes. Outsourcing keeps companies from getting nailed by laws which come into effect after "x" amount of employees are on board.

    I highly recommend finding another skill to work on because there just is no demand for code, just like there is zero demand by the record labels for musicians (since they are made and told what to sing, not signed due to their past works.)

    Of course, if this is a hobby, go for it. There is always someone making enhancements to Combat on the Apple //. Just don't expect going into development to get any type of income coming in.

    1. Re:Find another field... by Anonymous Coward · · Score: 0

      I don't comment much, but I'll say this--ignore haters like this. Life is too short to bother with these types. Looks like you washed out of both music and programming--that's nice, but projecting your failures makes you quite literally the "anonymous coward" here.

  82. A fun way to get back in the game by eagee · · Score: 1

    As a person with severe ADHD heads first is actually an excellent tool for learning about programming, but some of those abstract concepts take time to sink in and become salient in your mind. If you want to try your hand at making games but with a slightly lower net than plain old C# offers then I would recommend something like Construct2 (http://www.scirra.com/construct2), Stencyl (http://www.stencyl.com/), or even Scratch (http://scratch.mit.edu/) - these are a great way to get familiar with some of the programming concepts again in a visual way. This way you can make some progress without the net seeming quite so high, and have results you can feel pretty good about.

    After you've done that for a while you might want to try the heads first C# book again and see if some of those abstract concepts seem to be making new connections. C# is actually a pretty elegant language and once you get familiar with programming again you'll find that it's pretty fun to work with. If none of that seems to be sticking - maybe try something completely different like functional programming? It's possible that it'll use a different part of your brain that has an easier time forming those memory pathways. Best of luck!!

  83. Only learn by doing, but getting started is hard by maxbash · · Score: 1

    I think you can only learn by doing. I think I can empathise with struggling to learn programming. I only took the beginning programming class in collage only 4 times. Then I got a perfect score last time I took it, because I found an aid to help me get started coding. I very grateful for Nick Parlante, his lectures suck for beginners, but he made the free website codingbat.com were you can interactively get started on guided coding exercises. He only has it for Java and Python. I would recommend learning Python before other languages. Then I recommend to find a simple project that is interesting to you and keep going until you can figure out how to finish it.

  84. Keep Good Notes And Let Google Be Your Memory by Greyfox · · Score: 2
    Programming stresses breaking down problems into smaller and smaller pieces because it's so difficult to keep an entire system in your head. I'd suggest keeping written notes of your design, break your program down into subsystems and document what you intend to accomplish with each of those. Keep a log of interesting discoveries, useful APIs, design decisions and anything you think might be useful that you know you'll forget. Then you can go back and review your notes whenever you need to.

    I'd also suggest version controlling your code. That's an additional location for useful notes, and you can also cross-reference notes in your notebooks and check-in versions. Setting up a local git repo or using github is very easy to get into.

    Pretty much every programming language has API docs on the internet now. If you can't recall the syntax for a specific API call, you can find it easily enough on Google. No need to keep that in your head. Much more useful is knowing how to accomplish things. If you're going to make an effort to memorize something, I'd suggest studying design patterns and general algorithms and let Google remember the APIs for you.

    For all of us, our attention is a limited resource and there's only so much we can learn in any given period of time. You may have to work harder at managing what you try to accomplish with your time, but the most important thing is that you do not give up preemptively. If you decide, "this is what I want to do!" and you go do it, I think you will be successful.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  85. learning programming by Anonymous Coward · · Score: 0

    Udacity and python. I've been through two intro to programming classes at my community college. (python and c++) you're better off with Udacity. Try the intro to programming class (teaches you how to make a search engine... fun stuff)

    codeacademy is good but not as indepth.

    saylor.org has a complete computer science curriculum (almost complete anyway) online. It's a lot of reading, not much repetition so might be harder.

    If you just want to get into game making, try flash actionscript or unity 3d. (flash for 2d .. unity for 3d .. although you can do 2d and 3d in either) If you want to make games, use one of those and make a few and put them up on kongregate.com

    Whatever language you get into just get some good reference texts so you can look things up.

  86. jump? by Anonymous Coward · · Score: 0

    Push your return address and frame pointer onto the stack!

  87. ideally you would need to take some classes by gatesstillborg · · Score: 1

    requiring completion of a good series of labs. I found the offerings at De Anza College (Cupertino, CA) to be great, and I believe they have on-line/remote available.

    If you cannot find something like this, you will be left to your own resourcefulness. Sounds like some good recommendations for Khan Academy python. I might recommend web or the mobile apps some folks suggested over gaming. That gaming stuff can be pretty grueling. Start with HTML, then some php or python and javascript.

    I feel like programming helped to remedy some of my own ADHD. Don't give up. Give it time and it can suck you in! :)

  88. HTML 5 by InPursuitOfTruth · · Score: 1

    I'd really like to see better HTML 5 games, so start there. HTML is pretty easy to begin. Then Javascript. Then CSS. Then you can get into all the new kool stuff like WebGL, which you'll need to create games with it.

    This will permit you to create games that can be run on just about any computer and OS, and possibly a large breadth of devices, such as tablets or large screen phones.

  89. No one pointed this out yet? by VGPowerlord · · Score: 2

    I'm surprised no one pointed this out yet, but different game stores use different programming languages.

    For example:

    Xbox Live Arcade - C# with XNA for Indie games, C++ for standard games (I think...)

    iOS (iPhone/iPad) - Objective C, and you'll need a Mac with XCode to develop for it.

    PS3/Wii - C++, but as far as I can tell, they do not make Indie development easy.

    Windows/Mac/Linux - Any language that will run on them. The most widely used languages for each platform are likely C++ for Windows, Objective C for Mac, and C for Linux.

    --
    GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    1. Re:No one pointed this out yet? by Zaphod+The+42nd · · Score: 1

      None of that remotely matters yet. This guy is JUST learning how to program from the beginning all over again.

      He shouldn't be thinking about games projects yet, at all. That's massively unrealistic.

      You start with any programming language, then write hello world, then write 99 bottles of beer, then write zork, then write pong, then write mario...

      You won't be ready to even THINK about programming for Xbox or iOS for at least 1-2 years of programming. Seriously guys, this is really bad.

      --
      GCS/MU/P d- s:- a-- C++++$ UL++ P+ L++ E+ W++ N o K- w--- O M+ V- PS+++ PE Y+ PGP t+ 5- X R++ tv+ b++ DI++ D++ G+ e++ h-
    2. Re:No one pointed this out yet? by Anonymous Coward · · Score: 0

      Or just go with Unity 3D with Javascript or C# and get them all (potentially), as well as Web (Unity Player) and Flash. Windows/Mac/(Linux is coming thanks to Brian Fargo's wasteland 2 game) and Web are free right out of the box. If you don't go with Pro licenses, Android and IOS are $400 or so each. PS3/XBox/Wii says "call them" so I assume it's $$$ there but I don't know. Maybe XNA style is affordable like Android/IOS *shrugs*.

      If you want to do 2D then the 2D Toolkit for Unity can be had for $60 or so from a third party. I've been pretty happy with it so far (definitely a huge time saver for setting up 2D games in a 3D game engine).

      It's the best choice right now for Indie game dev if you want to target multiple platforms, IMHO. They don't even charge royalties.

  90. A, B, and C buttons by tepples · · Score: 1

    I have to hand it to you tepples, you do take some contrived positions sometimes but more often than not you do give some food for thought.

    Thank you. I've learned over the years that extreme contrived positions are a good way to test the limits of a particular theory in order to provide food for thought. But lately I've seen a lot of Slashdot users chicken out of discussing them by using the thought-terminating cliché "you are an edge case", as if edge cases were inherently not worth serving.

    A lot of games that need relative movement like Final Fantasy for example allow you to put your thumb anywhere on the screen and the "joystick" just appears under it so you get an absolute positioning for the relative controller.

    This method is fine for going from straight to left (place thumb, swipe, hold) or left to straight (release thumb) for something inherently turn-based like Final Fantasy. Another possibility is to handle touch like Diablo or the DS and Wii versions of Animal Crossing and interpret a touch far from the character's on-screen position as a command to walk in that direction and a touch close to the character as a command to use a tool.* But that wouldn't work for something faster-paced, where the player expects the character to make quick turns from left to up, left to right, etc. Super Mario 64 DS, which allowed using the method you describe for Final Fantasy, also had a directional pad to fall back on for those levels requiring quicker reactions.

    Furthermore, what would work for having multiple action buttons, such as jump, trigger main tool, and trigger secondary tool? The Sega Genesis used to have C to jump, B to trigger the main tool, and A to trigger the secondary tool, and the player could feel which button the thumb was over by the edges of the buttons. The GameCube's buttons were even more strongly optimized for touch identification: a big A button, a smaller B button in the middle, and kidney-shaped X and Y buttons.

    * "tool": I'm trying to use terminology that works well both for violent games and for non-violent games.

  91. python by Anonymous Coward · · Score: 0

    Hi, sorry to hear about your challenges. I hope that you may find these links helpful, they are more of an introduction, and I am not sure whether they would be suitable for you, also the course uses Python. It is not a programing course per se, but might be a good refresh:
    http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00sc-introduction-to-computer-science-and-programming-spring-2011/
    this is how I started programming myself, I believe it might be useful for you too. The course contains wonderful exercises, which are very well structured and provide a good framework, so you don't stray much. The course will start in the autumn under the edX umbrela:
    https://www.edx.org/courses/MITx/6.00x/2012_Fall/about
    You may also check out coursera courses and udacity courses as well:
    http://www.udacity.com/
    https://www.coursera.org/
    Good luck!

  92. go to school, then milk EO by AnAlchemist · · Score: 1
    After 15 years, I wouldn't remember any BASIC or C++ either, accident or no accident. ;) I think most of the advice here is mis-guided.
    • Learning on your own is great and gives you a sense of independence, but you can't generally put that stuff on a resume, making it almost worthless.
    • Volunteering for the Community Corps. and help a non-profit customize a Drupal site or something is nice, but then you have learn Drupal/Wordpress, and you still can't put C# on your resume. Most non-profits don't need development work.
    • What sucks about learning on your own is that it limits your employment opportunities. Most places, sadly, will turn away your resume if you have no education in the field and haven't worked in it already for 5+ years.
    • Startups hire people that don't necessarily have good educational credentials and lots of experience, but they expect rockstars--great coders with quick learning abilities, i.e., probably not you (at least until you get back close to 100%). Startups would expect a lot more from you than you can deliver, and they'll probably be disappointed given your short-term memory issues.
    • School doesn't have most of these issues.

      • Schools almost always give extra support to folks like you. You'll be given extra time to complete tests and quizzes (1.5x - 2x, usually), along with tutors, etc. In fact, having a free tutor is almost the top reason to go to school, as a good one will have the patience to repeat things day-after-day which you say will help you. Most tutors are students themselves, so they are there for 4+ years, so you might be able to stick with the same person year-after-year.
      • Go to a local 4-year school, or do a 2+2 program (where you spend the first two years at a community college and the next two at a regular 4-year school to get a Bachelor's). You sound like a smart guy/gay, so I think you'll do fine. The point is to get a Bachelor's in Computer Science or MIS or something.
      • Go to an public, in-state school! It's a lot cheaper. (Or, go to a school that has cheap out-of-state tuition, like North/South Dakota.)
      • School will also (hopefully) give you lots of extra time to learn the stuff you wanna learn (i.e., C#).
      • Alumni networks can give you a foot in the door, something that's probably gonna be hard for you.

      This is obviously a long-term plan (most good things in life take time, I'm sure you can understand that), and the punchline of this plan is to get into a large corporation that does a lot of EO (Equal Opportunity) hiring.

    • Big corps (e.g., IBM, Microsoft, etc.) tend to have strong EO programs that would love people like you, even if you're not a coding rockstar, as long as you have some education credentials and some skills they like (e.g., Java, C#, respectively).
    • You'll make good money, as these corps don't want to make the headlines that they pay disabled Software Engineer I less money than non-disabled Software Engineer I for "the same work." Even if you're not productive as a non-disabled person, they probably won't wanna pay you any less.

    Yes, this is a long-tem plan. It's not "Learn C# in 24 Hours!" type of stuff. But the payoff is amazing: you'll never have to worry about finding another job, you're not a burdon to society (hell, you'll be paying lots in taxes), and you'll have plenty of money to do whatever you want.

  93. Don't do it! by Anonymous Coward · · Score: 0

    Jumping back in is a bad idea! I would consider being lowered in by a rocket-powered skycrane. Much safer.

  94. SDL + Lua by dottrap · · Score: 1

    For games, use SDL (C) and embed Lua. Use C for performance sensitive stuff; use Lua for high level stuff. This is what the majority of cross-platform commercial games do. SDL gets you onto all platforms (C and SDL work just about everywhere) and Lua (which is implemented in pure C too and goes everywhere) lets you focus more on the content of your game instead of masturbating with complex language issues.

  95. Take free classes! by avacod · · Score: 1

    I havnt done much programming myself, but i am currently working at getting back into it; in my attempt, im going to be taking free online classes from harvard edx. here is a link: https://www.edx.org/

  96. Start with Open Source by Anonymous Coward · · Score: 0

    Start to get involved in an Open Source project that has an active developer community. If you want to get into gaming, there are a lot of interesting game engines. You can start with small tasks like fixing trivial bugs and then work yourself towards the more complex issues. You'll have guidance from the other devs and your code will immediately be used by many people. By using this approach, you can also see how fast you can analyze problems, learn new things, get familiar with complex algorithms, etc. You will see how well you work in the team and how good you are in comparison to others.

    The only thing you need to keep in mind: if you start from scratch, most people in the team will be god-like persons. They seem to know so much, are way more creative, much more adept at what they are doing than you are. Take your time, at least a year, and then make an assessment of your capabilities and your personal development.

  97. Just write code, read books by Zaphod+The+42nd · · Score: 1

    There's no shortcuts. Don't try to make games yet, anybody talking about games is taking entirely the wrong approach.

    Pick any language. If you understand the basics of programming properly, and don't just copy & paste code, then you'll be able to transition to any other language trivially. I moved from Java to C++, C#, Python, Ruby, BASIC, etc. all with VERY, VERY little time to learn the syntax differences. Its just not an issue.

    So DO NOT worry about language. Pick a language (I reccomend Python or Ruby, less cruft) and code in it. Just get some basic stuff working. Read some books or read some tutorials online, it doesn't really matter. Write sort programs, write echo programs, write 99 bottles of beer on the wall, write zork, write mario.

    In 1-3 years you can worry about iOS or XBOX development, I'm sorry but you're just not anywhere near where that would be feasible yet. But that said, you can transition to that kind of work from ANYTHING, so don't worry about what you do now, just do something. Get comfortable with code, and please,

    TAKE YOUR TIME AND LEARN THE BASICS. The importance of fundamentals in programming CANNOT be overstated.

    --
    GCS/MU/P d- s:- a-- C++++$ UL++ P+ L++ E+ W++ N o K- w--- O M+ V- PS+++ PE Y+ PGP t+ 5- X R++ tv+ b++ DI++ D++ G+ e++ h-
  98. Free e-course on introductory Python w/games focus by SteveFoerster · · Score: 1

    Through Coursera, Rice University is offering a free online course in a few weeks on introductory Python programming with a specific focus on games:

    https://www.coursera.org/course/interactivepython

    Why not try it? If you don't like it or it otherwise doesn't work for you then you've lost nothing.

    --
    Space game using normal deck of cards: http://BattleCards.org
  99. Free books on programming by Anonymous Coward · · Score: 0

    http://programming-motherfucker.com/become.html

    This link has quite a few free books to look into for nearly any language you'd want to get into.

  100. Find an Open Source Project... by TemporalBeing · · Score: 1

    ...that is interesting and join it. Take little nibbles out of their bug reports, and work your way to adding features.

    --
    Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
  101. Why not Javascript? by Anonymous Coward · · Score: 0

    Of course, it won't do you any good for XBox work, but Javascript is a modern language with lots of demand and a reasonable amount of potential with lots of online information and a super easy method for delivery...the web. The games folks write using javascript today are very different from what you might see in a console, but there is a LOT of interest in them and you can host your own site with little or no money (depending on the amount of traffic).

    My personal opinion is that mobile, html5 and backend are the way to go for work these days. If you just want to do hobby games, jump into rails, django, cake1, lift or some other web framework and build up a cool online game (it doesn't have to be super fancy) and go from there. What you can do with a browser these days is comparable to what folks could do with PCs 10 years ago (maybe 15...)

  102. Hang up the proverbial hat by g0bshiTe · · Score: 1

    Similar to your situation, I have memory issues. Mine seems to be short term memory loss, if I do it tons I'll retain it but even then a few months down the road I'll lose it again.

    That said, programming as a career may not be for you. This doesn't mean you can't have a hand in software development. There is still Q&A as well as UI design. Either of which you may be suited for.

    I'm sorry to hear of your misfortune and wish you the best.

    --
    I am Bennett Haselton! I am Bennett Haselton!
  103. You can do it! by KlomDark · · Score: 1

    20 years ago I wrecked a motorcycle and bashed my head HARD. Huge concussion, memory loss issues, etc. Although I had programmed in BASIC since I was a kid, I found it very difficult to get back into again. However, these days I am a professional lead developer/architect in C#, so all is not lost - you still have hope. So my heart goes out to you and here's some of the stuff that I did to get it back:

    - Your short term memory is going to be messy until you get it retrained. (The mechanics of your brain are smart, they will get better with use. I suspect new 'circuitry' is created by your brain to route around any past damage) Get in the habit of making notes about what you are thinking about, as well as lists about what you are trying to attempt. (For some reason, I found writing on paper worked better for me than typing in the notes. I think the mental processes involved in computing the physical act of shaping all the letters helps your brain get back in shape. Your mileage may vary, this is just what worked for me.)

    - You were talking about reading the C# book then getting lost after a few chapters. I had that issue as well (Still do from time to time.), some times I found it best to read as much as I could comprehend, then sleep on it. Usually the next day it would make more sense. Sleep is excellent for a repairing brain. Do some experimental coding using what you've learned from the chapters you understood. Get good at that part. After doing some of that for a while, go back to the book and try reading what you had found confusing again. Read as much of it as you can understand. Also just brute-force read a chapter at a time, even if you don't understand it, then sleep on it. After sleeping, try reading it again. Too me, it seemed often like my subconscious part of my mind was understanding it, but the conscious part of my mind was having difficulty figuring out how to build a model to comprehend it. Keep at it. Don't give up!

    - I agree that C#, with it's managed memory model (Meaning you don't have to manually allocate memory, keep track of allocated memory, and then release that allocated memory later on - the Garbage Collector keeps track of it for you. You create your objects, and the garbage collector will take care of all the memory mechanics of it for you. Which lets you focus on getting code written, rather that worry about esoterica.) will make it a lot easier to get your brain flowing down the development direction again. Same goes for Java, but then there's the issue of which of many IDEs you should/can use for Java. No matter which you pick, even Java developers will tell you that Visual Studio just smokes anything out there for Java, so I'd go with Visual Studio with all it's brain-assistance stuff and a single way of doing things rather that the myriad Java options. Every time I try to do Java, I get bogged down on all the similar-but-different choices (Eclipse, NetBeans, JBuilder, etc.) I have to choose from, and that's just for the IDE. Some people call that a strength to have all the options, but I find it just unneeded complexity. Visual Studio beats them all anyway, IMO.

    - Another trick is to (temporarily) skip over chapters that don't make sense and try reading further chapters. Quite often C# books cover completely different concepts in different chapters. Just because you can't grok chapter #5 doesn't mean you aren't going to be able to understand Chapter #6 or Chapter #10. Some times you just work with what you can, and eventually just by using the other stuff, the next time you return to a problem chapter it will just make sense this time. Hard to explain.

    - Just repetition. I've been doing that currently with Professional ASP.NET MVC 3. I've had it for about a year now. First time thru, there was a lot that I found puzzling, or just "Why would I do that??". After doing MVC 3 for about a year and a half now, I keep re-reading that book and gleaning more information. Not specifically shilling that book, that's just the one I've been returning to a lot lately a

  104. Re:C# is great... by svick · · Score: 1

    I'm curious, do you have any more information about the next versions of .Net you're talking about? I'm sure people at Microsoft are already working on .Net 5, but aside from Roslyn, they didn't release anything yet.

  105. Re:C# is great... by Richard_at_work · · Score: 1

    It's a matter of finding and following the right people on Twitter :) lots of people talking about .Net 5.0 at the moment!

  106. learn ruby by Anonymous Coward · · Score: 0

    you can get a job without any real experience.

  107. Can't program anymore? Do real programming by Anonymous Coward · · Score: 0

    Learn a functional programming language. Forget the rest. You will be very happy that you did.

    A nice side effect is that your value to an employer will be much higher than one of these 30 year younger rock star coder people.

  108. Re:Can't program anymore? Do real programming by Anonymous Coward · · Score: 0

    Learn a functional programming language. Forget the rest. You will be very happy that you did.

    A nice side effect is that your value to an employer will be much higher than one of these 30 year younger rock star coder people.

    This is the best comment yet. Program by programming not by remembering and reciting minutiae. Much of that minutiae makes the plumbing programming happen for sure. But, functional programming is oriented towards defining the result not wading in the deeps trying to build a bridge with your breath held.

  109. Re:Can't program anymore? Do real programming by ThorGod · · Score: 1

    Learn a functional programming language.

    This is the best comment yet.

    Sorry...I don't buy it. As a mathematician, yes, I find functional programming interesting (because I've looked into haskell outside of this comment.) But I need better than a couple sentences to be "sold" that suggesting it, in this situation, is the best comment yet.

    --
    PS: I don't reply to ACs.
  110. Re:Can't program anymore? Do real programming by Anonymous Coward · · Score: 0

    There is another reason:

    my memory went to crud. I have no recollection of how to do anything in either of those languages any more. I've suffered some damage, and my memory isn't all that great.

    Avoiding state is a good thing in the submitters case.

  111. Pick something modern by Anonymous Coward · · Score: 0

    Node.js, Ruby on Rails, or even some AWS cloud based hosting will get your some development juice. Set yourself up an Amazon micro instance; get to know it - learn it. If you are more frontend, take an existing site and see what you can do with HTML5 techniques along with CSS#. Just have fun with whatever you try!

  112. What Programming Language To Choose? by Anonymous Coward · · Score: 0

    I was a successful SCADA programmer that worked for a company now in bankruptcy. IMHO you should do anything you can to pursue a MS or Java certification, the latter paying the best. Recruiting companies will invariably want to test you on your knowledge via BrainBench, PreVisor, etc. It doesn't matter how much experience you have designing successful apps, first you must qualify. MS Certification or Java Certification is the best way to go. Stay current and informed on your languages! If possible, have your company foot the bill for your marketability.

  113. Re:C# is great... by Anonymous Coward · · Score: 0

    If you think C# programmers are bad, you should see the kind of system's designs used in GPL'd Opensource projects. You would think they haven't read about best practices for scalable systems from the past decade. Forking processing, IPC, blocking IO, spawn moar threads! derp

    Now both of our blanket statements cover every programmer ever.

  114. Contradiction in terms by Sigg3.net · · Score: 1

    "I have been reading slashdot regularly for many years now, and I have faith in the Slashdot community advice"

    You must be new here!

  115. Python? by syngeek · · Score: 1

    You might find Python a good place to start, even though it's not for your target platform. I learned it in a class as my first popular programming language. I was using Prolog before that, but I'd only recommend that if you're into very particular types of problems. Anyways, my class had a great book called "Python for Software Design - How to Think Like a Computer Scientist" by Allen Downey. It's a super newbie book for building from the ground up, very conversational, and a handy reference for when you forget stuff (I have memory difficulty too, though from ADD mostly). It doesn't cover all things you'd ever want to know, but as a foundation, it's really excellent. Python is nice too because it's not so verbose, there are lots of libraries available, and it's fairly popular so getting help when you need it (online or from friends) is easy. Oh, and if your working memory has troubles, you might also find higher level languages easier to work with too. This was one of the good things about Prolog for me (that and I have an extensive background in formal logic). It gave me a place to tackle a specific type of problem (natural language grammar) in a declarative way that actually inspired me to study computer science. Had I started in something like Java, I don't think that would have happened. I didn't get into that until much later. That said, I do love all the stuff available for Java. Learning that was like getting access to the world's biggest Lego set. Also, especially valuable for memory problems, you might want to also really consider the IDEs available for the language you pick. It seems pretty trivial for most people, but a smart, user friendly IDE can make a huge difference in frustration levels if your working memory is affected at all. For Java, which I've been working in most recently, I've been using Intellij IDEA, which has proven to be a lot better than Eclipse for me. They have one for Python called PyCharm, but unfortunately it's not free. Anyways, I think your story is inspiring and I wish you the best!

  116. Fake.IT by Geosota · · Score: 1

    Get a job you are totally unqualified for. This is easier than it sounds. You will need both: a competent accomplice to provide a list of buzzwords and the ability to lie casually. Of course, you will need “experience”. This is easy to pretend. Creating a fake company is just a matter of a $25 cellphone and $10 activation, the drug-dealer special. Soon you will have a paycheck. Lease a car and apartment that you could not possibly afford without this job. Get a high-maintenance girlfriend. You will learn programming.

  117. Just like the 8-bit computers! by kackle · · Score: 1

    Although I'm tucking my reply in here where it seems to fit, I am directing it at the OP. I don't know what your capability was before the accident, or is now, but I guess my optimism for your condition compels me to suggest re-learning BASIC for starters, as some might come back to you. I know a little about many languages (professionally), but if I had to recommend a starting place for someone new to programming today, nothing seems to beat good old BASIC for getting going. Heck, it even has "beginner's" in its name! The problem is, the base language is not as ubiquitous today as it was when I cut my teeth on the 8-bit computers of the 1980s. However, I recently came across a newer cross-platform tool called "App Game Kit BASIC" that reminds me of the BASIC of those days. (Its co-creator claims to have first learned programming on those 8-bit machines.) It is game & 2D graphics-oriented (with 3D planned for the future), so a simple game creation would give you something to shoot for, and you could use whatever graphics you can find if you didn't want to create them from scratch. And, if you do progress over time, you can move your code from the PC over to other platforms like Mac, iOS, and Android with the tool. Also, I would recommend buying the 3rd party book, "Hands On AGK BASIC", that has an overall teaching style aimed at the beginner. I own the tool and the book and am pleased with the small learning curve since I could build on what I remembered from back when. Note: I am not affiliated with the tool, book, nor their respective companies. I wish you luck.

  118. Codea by Anonymous Coward · · Score: 0

    It's a 10$ app on the iPad. You can make small apps and games in Lua and I think is exactly what you're looking for.

    http://twolivesleft.com/
    http://itunes.apple.com/us/app/codify/id439571171?ls=1&mt=8