Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Ask Slashdot: Best Way To Jump Back Into Programming?

samzenpus posted more than 2 years ago | from the both-feet dept.

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?"

Sorry! There are no comments related to the filter you selected.

If you don't remember BASIC (5, Funny)

Anonymous Coward | more than 2 years ago | (#40892239)

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 (4, Insightful)

Joce640k (829181) | more than 2 years ago | (#40892371)

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 (3, Insightful)

Taco Cowboy (5327) | more than 2 years ago | (#40892423)

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:If you don't remember BASIC (0)

Anonymous Coward | more than 2 years ago | (#40892879)

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.

Learn Python The Hard way (5, Informative)

i88i (720935) | more than 2 years ago | (#40892255)

Give Learn python the hard way a go: []

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:Learn Python The Hard way (0)

Anonymous Coward | more than 2 years ago | (#40892273)

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).

Re:Learn Python The Hard way (2)

phantomfive (622387) | more than 2 years ago | (#40892301)

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.

Re:Learn Python The Hard way (1)

Anonymous Coward | more than 2 years ago | (#40892919)

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.

Re:Learn Python The Hard way (0, Funny)

Anonymous Coward | more than 2 years ago | (#40893125)

Basically, Python is the modern day BASIC.

You mean, knowing it makes you a worse programmer?

Damn, too late! :-)

Re:Learn Python The Hard way (2)

ciderbrew (1860166) | more than 2 years ago | (#40893111)

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.

Re:Learn Python The Hard way (1)

Nutria (679911) | more than 2 years ago | (#40892311)

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:Learn Python The Hard way (1)

oji-sama (1151023) | more than 2 years ago | (#40892623)

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:Learn Python The Hard way (1)

Nutria (679911) | more than 2 years ago | (#40892727)

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

Absolutely. But he wants to be a professional programmer.

Re:Learn Python The Hard way (1)

oji-sama (1151023) | more than 2 years ago | (#40892751)

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"

Re:Learn Python The Hard way (3, Insightful)

ciderbrew (1860166) | more than 2 years ago | (#40893127)

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.

Re:Learn Python The Hard way (1)

Anonymous Coward | more than 2 years ago | (#40892313)

Go pyton. Try UDACITY - Self Paced excellently thaught.

from the book (0)

Anonymous Coward | more than 2 years ago | (#40892323)

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.

Re:Learn Python The Hard way (1)

Zontar The Mindless (9002) | more than 2 years ago | (#40892389)

Looks like a great book.

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

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

Re:Learn Python The Hard way (0)

Anonymous Coward | more than 2 years ago | (#40892929)

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.

Re:Learn Python The Hard way (0)

Anonymous Coward | more than 2 years ago | (#40892397)

Pygame [] has good tutorials & documentation.

Re:Learn Python The Hard way (3, Informative)

dropadrop (1057046) | more than 2 years ago | (#40892505)

Codeacademy also has a python track now: []

Re:Learn Python The Hard way (1)

Clovert Agent (87154) | more than 2 years ago | (#40892875)

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.

Re:Learn Python The Hard way (1)

dropadrop (1057046) | more than 2 years ago | (#40893001)

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.

Re:Learn Python The Hard way (3, Insightful)

Anonymous Coward | more than 2 years ago | (#40892579)

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.

Re:Learn Python The Hard way (1)

Anonymous Coward | more than 2 years ago | (#40892861)

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 ...

Re:Learn Python The Hard way (1)

pinkushun (1467193) | more than 2 years ago | (#40893143)

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"

Learn any language (1)

Anonymous Coward | more than 2 years ago | (#40892283)

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 . 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

Think of an application that you'd like (5, Insightful)

oobayly (1056050) | more than 2 years ago | (#40892289)

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.

Re:Think of an application that you'd like (1)

wvmarle (1070040) | more than 2 years ago | (#40892649)

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.

Re:Think of an application that you'd like (1)

voxner (1217902) | more than 2 years ago | (#40892767)

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

slashdot? (-1, Flamebait)

phantomfive (622387) | more than 2 years ago | (#40892291)

and I have faith in the Slashdot community advice

Faith in Slashdot? That's PROOF that you have braindamage.

Re:slashdot? (1)

Joce640k (829181) | more than 2 years ago | (#40892411)

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:slashdot? (2)

Nutria (679911) | more than 2 years ago | (#40892449)

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:slashdot? (1)

styrotech (136124) | more than 2 years ago | (#40892637)

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.

If your goal is to make games... (2)

dingen (958134) | more than 2 years ago | (#40892295)

...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:If your goal is to make games... (0)

Anonymous Coward | more than 2 years ago | (#40892585)

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.

Re:If your goal is to make games... (1)

Molt (116343) | more than 2 years ago | (#40892669)

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.

Processing (2)

Ice Tiger (10883) | more than 2 years ago | (#40892305)

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.

Python is the new BASIC (1)

Anonymous Coward | more than 2 years ago | (#40892329)

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.

Re:Python is the new BASIC (1)

Gordonjcp (186804) | more than 2 years ago | (#40893105)

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.

Yikes ... (1)

mister2au (1707664) | more than 2 years ago | (#40892335)

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.

go to community college (0)

Anonymous Coward | more than 2 years ago | (#40892343)

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.

How about this ... (1)

giorgist (1208992) | more than 2 years ago | (#40892345)

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 []

C# is great... (-1, Troll)

Joce640k (829181) | more than 2 years ago | (#40892349)

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

That's the real problem with proprietary languages. They get dumped as soon as the proprietor no longer needs them for their business.

Java has fallen into this trap, too. Java was bought by Oracle and Oracle has no real use for it except as a weapon for beating up Google.

If you want curly brackets and object orientation (which is a good thing) then C++ is the only one with an open future. C++ can be more difficult initially because there's a lot of stuff you have to learn NOT to do. Once you learn what not to do then it's just as easy as the others but you don't feel manacled. The thing it really lacks is a standard framework (although things like QT are pretty good). Read the C++ FAQ at least once a week for the first six months even if you don't understand it all. It's online, it's free, there's no excuse.

OTOH this is all bad advice until you know exactly what sort of programmer you want to be. Most programming jobs have a preferred language/framework so that's what you need to figure out first. eg. If you want to program web sites you might have to learn PHP and SQL.

Good luck.

Re:C# is great... (1)

Joce640k (829181) | more than 2 years ago | (#40892399)

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... (5, Informative)

Richard_at_work (517087) | more than 2 years ago | (#40892457)

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:C# is great... (-1)

Anonymous Coward | more than 2 years ago | (#40892755)

Well stated. Now the only problem is that people that code in C# are really shitty at doing anything.

Re:C# is great... (0)

Anonymous Coward | more than 2 years ago | (#40892901)

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

Re:C# is great... (1)

Anonymous Coward | more than 2 years ago | (#40892503)

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.

Re:C# is great... (1)

flimflammer (956759) | more than 2 years ago | (#40892559)

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:C# is great... (2)

ThirdPrize (938147) | more than 2 years ago | (#40893039)

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.

This article was right where I am, so... (5, Insightful)

arkane1234 (457605) | more than 2 years ago | (#40892363)

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 (1)

Taco Cowboy (5327) | more than 2 years ago | (#40892549)

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:Loss of short term memory (0)

Anonymous Coward | more than 2 years ago | (#40892915)

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.

making games (2)

iplayfast (166447) | more than 2 years ago | (#40892377)

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.

Re:making games (0)

Anonymous Coward | more than 2 years ago | (#40892819)

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:

Good luck!

Goal set to high? (5, Insightful)

Frans Faase (648933) | more than 2 years ago | (#40892401)

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.

Re:Goal set to high? (1)

Anonymous Coward | more than 2 years ago | (#40892737)

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.

Re:Goal set to high? (1)

giorgist (1208992) | more than 2 years ago | (#40892995)

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.

Warning sign (5, Funny)

outsider007 (115534) | more than 2 years ago | (#40892415)

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:Warning sign (1)

Barny (103770) | more than 2 years ago | (#40892735)

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.

Re:Warning sign (0)

Anonymous Coward | more than 2 years ago | (#40893021)

This made me laugh so hard. xD

Get into Mobile Computing (4, Interesting)

SuperKendall (25149) | more than 2 years ago | (#40892447)

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:Get into Mobile Computing (2)

mimicoctopus (2701643) | more than 2 years ago | (#40892603)

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.

Re:Get into Mobile Computing (1)

ThirdPrize (938147) | more than 2 years ago | (#40893071)

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.

Find your red thread.. (1)

Anonymous Coward | more than 2 years ago | (#40892453)

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.

sure PHP (0)

Anonymous Coward | more than 2 years ago | (#40892495)

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!

Do a game relevant for yourself (4, Informative)

LeoXIII (888066) | more than 2 years ago | (#40892515)

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 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

Re:Do a game relevant for yourself (1)

Dynetrekk (1607735) | more than 2 years ago | (#40892687)

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.

Processing (1)

Knuckles (8964) | more than 2 years ago | (#40892521)

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. [] []

Brain damaged? Just go into ISO certification. (-1, Troll)

Rogerborg (306625) | more than 2 years ago | (#40892533)

Again, until it sinks in: Brain damaged? Just go into ISO certification.

Re:Brain damaged? Just go into ISO certification. (3, Funny)

Rosco P. Coltrane (209368) | more than 2 years ago | (#40892639)

I suggest a MCSE.

Not games (0)

Anonymous Coward | more than 2 years ago | (#40892541)

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.

What to do next (2)

Plekto (1018050) | more than 2 years ago | (#40892543)

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.

New Book "Think like a programmer" seems good (1)

elander (561476) | more than 2 years ago | (#40892553)

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.

Me? (0)

Anonymous Coward | more than 2 years ago | (#40892565)

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

If it is really your passion, you will be fine (1)

BlueTrin (683373) | more than 2 years ago | (#40892567)

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.


acidfast7 (551610) | more than 2 years ago | (#40892589)

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).


ThorGod (456163) | more than 2 years ago | (#40892693)

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.


acidfast7 (551610) | more than 2 years ago | (#40892711)

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 (1)

dutchwhizzman (817898) | more than 2 years ago | (#40892625)

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?

Profession? (1)

mwvdlee (775178) | more than 2 years ago | (#40892635)

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.

Re:Profession? (0)

Anonymous Coward | more than 2 years ago | (#40892847)

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


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

Pick the Right Tool for the Job (1)

Rezell (69388) | more than 2 years ago | (#40892663)

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.

repetition (1)

ThorGod (456163) | more than 2 years ago | (#40892673)

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...

Many have suggested ... (0)

Anonymous Coward | more than 2 years ago | (#40892697)

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.)
        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!

get a tutor (0)

Anonymous Coward | more than 2 years ago | (#40892717)

Get a tutor.

Teach yourself by reading, doing and take a course (0)

Anonymous Coward | more than 2 years ago | (#40892739)

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.

Best advice given your situation: Join a team. (5, Insightful)

Qbertino (265505) | more than 2 years ago | (#40892791)

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.

project management? (3, Funny)

the-build-chicken (644253) | more than 2 years ago | (#40892801)

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

Java is easy to learn (1)

SplashMyBandit (1543257) | more than 2 years ago | (#40892839)

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).

Best way is..... (1)

Conspire (102879) | more than 2 years ago | (#40892867)

With a pogo stick

Ermmm... (0)

Anonymous Coward | more than 2 years ago | (#40892877)

Sorry, what was the question again?

I don't believe you (2)

stephanruby (542433) | more than 2 years ago | (#40892969)

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.

Re:I don't believe you (0)

Anonymous Coward | more than 2 years ago | (#40893083)

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.

Re:I don't believe you (1)

Anonymous Coward | more than 2 years ago | (#40893145)

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.

Program something (0)

Anonymous Coward | more than 2 years ago | (#40892999)

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.

Small steps and don't worry about the language yet (2)

QilessQi (2044624) | more than 2 years ago | (#40893027)

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.

try something visual (0)

Anonymous Coward | more than 2 years ago | (#40893141)

... check or

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?