Ask Slashdot: Best Way To Jump Back Into Programming? 247
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?"
If you don't remember BASIC (Score:5, Funny)
That may actually give you an advantage. Best advice is simply start programming. Pick a project, and work on it.
Re:If you don't remember BASIC (Score:5, 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.
It depends on your disability (Score:4, 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 !!
Re: (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.
Re: (Score:3)
"Head First" programming?
Drain Bamaged?
C# is the lanuguage for you.
Re:If you don't remember BASIC (Score:4, Informative)
Re: (Score:2)
Re: (Score:2)
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.
Re: (Score:3)
Re: (Score:2)
1 SHARED NAME = 'Bob'
2 PRINT 'HELLO' + NAME
3 GOTO 2
Learn Python The Hard way (Score:5, Informative)
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.
Re: (Score:3)
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.
Re: (Score:3)
Re: (Score:3)
Re: (Score:2)
Re: (Score:2)
And if that's still too hard for you, then maybe you must face the fact that you *can't* be a programmer anymore.
Re: (Score:2)
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.
Re: (Score:2)
I don't see why he couldn't be at least a hobbyist programmer.
Absolutely. But he wants to be a professional programmer.
Re: (Score:2)
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"
Relevant video game industry experience (Score:2)
"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.
Re: (Score:3)
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)
Mobile control difficulty (Score:2)
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 i
Re: (Score:2)
A, B, and C buttons (Score:2)
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-bas
Re:Learn Python The Hard way (Score:4, Insightful)
Re: (Score:2)
Can't program at all doesn't mean not able to get a job programming.
Or maybe he could become a manager.... *ducks*
Re: (Score:2)
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.
Re: (Score:3)
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.
Re: (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.
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.
Re:Learn Python The Hard way (Score:4, Informative)
Re: (Score:2)
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 o
Re: (Score:2)
Re: (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
Re: (Score:2)
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
Re: (Score:2)
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.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
If you know enough basic coding paradigms like variables, loops, functions and the like, then you can just Dive Into Python [diveintopython.net].
The page says it's for experienced programmers, but it's a simple indemnity that translates into "common sense about basic coding paradigms"
Think of an application that you'd like (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 [kerbalspaceprogram.com] 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.
Re: (Score:2)
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.
T
Re: (Score:3)
Python + wxWindows is a great rapid development platform for putting together interesting bits of code that are useful like this.
Re: (Score:2)
Why? I do prefer to program something useful, but it's also enjoyable in and of itself.
Re: (Score:2)
If your goal is to make games... (Score:3)
...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.
Re: (Score:2)
Re: (Score:3)
Re: (Score:2)
If you like Lua, I'd try Love: https://love2d.org/ [love2d.org]
Processing (Score:3)
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.
Yikes ... (Score:2)
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
How about this ... (Score:2)
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 [thenewboston.org] and Learning Java [oreilly.com]
Re: (Score:2, Insightful)
This article was right where I am, so... (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.
Loss of short term memory (Score:2)
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
Re: (Score:2)
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.
making games (Score:3)
Goal set to high? (Score:5, Insightful)
Re: (Score:2)
Warning sign (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.
Re: (Score:2)
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.
Codecademy (Score:2)
Get into Mobile Computing (Score:5, 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.
Re: (Score:2)
Control method (Score:2)
Do a game relevant for yourself (Score:4, Informative)
Re: (Score:2)
What to do next (Score:3)
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.
LEARNING is not UNDERSTANDING (Score:2)
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 ma
Re: (Score:2)
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.
Re: (Score:2)
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.
try and train your memory as well (Score:2)
Profession? (Score:2)
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
repetition (Score:2)
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
Best advice given your situation: Join a team. (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.
Modding crew for non-FPS? (Score:2)
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?
Re: (Score:2)
Still, entire genres (Score:2)
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.
project management? (Score:4, Funny)
Java is easy to learn (Score:2)
Best way is..... (Score:2)
I don't believe you (Score:3)
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.
Small steps and don't worry about the language yet (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
Re: (Score:2)
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
Let me get this straight (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?
Baby Steps (Score:2)
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 d
Games programming? (Score:3, Informative)
Having A Project Is Vital (Score:3, Interesting)
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.
Do it (Score:2)
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 mi
A fun way to get back in the game (Score:2)
Keep Good Notes And Let Google Be Your Memory (Score:3)
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.
No one pointed this out yet? (Score:3)
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 [microsoft.com] 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.
Re: (Score:2)
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
Re:C# is great... (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.
Re: (Score:2)
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.
Re: (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.
Re: (Score:2)
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.
Re: (Score:3)
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?
Re: (Score:2)
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.
Re:Brain damaged? Just go into ISO certification. (Score:4, Funny)
I suggest a MCSE.
Re: (Score:2)
Re: (Score:2)
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.