I intend to try and learn a programming language but this topic is so vast that I thought it would be good to ask for some directions.Let me line up my questions clearly so there is no confusion:

1) What would be a good programming language to learn first ? I've been told it depends on what you want to do with it so the answer to that question would be apps, web and general PC programs. I have also heard that once you've mastered a programming language, the others or at least some of them come off easily.

2)Once I've found the answer to 1, what are the steps I should follow? I was thinking to start with Java and if that is a good choice then caveofprogramming website seems like a good start.I've heard conflicting answers as to how much it takes to reasonably master a programming language and I know it depends on a lot of factors but in the broadest parameters, what would be an approximate timetable ?

Please feel free to give as much of a detailed answer to 2 as you want. There are just so many resources and opinions out there, that is really hard to sort out the correct ones.

One important fact I should mention is that I am a complete beginner and while I can work my way around a computer, I have no knowledge of computer programming whatsoever.

Like you I wanted to learn some things. Also like you I didn't have a background. I started with HTML, CSS, and then JAVA. All of which I picked up pretty quickly at: https://www.codecademy.com/

They offer a few other entry level programing languages. Easy to follow and forums for help if you get stuck.

I think you can go through all three of the above courses in 3-6 months if you spend a little time each day. If you have lots of time maybe even less. Just depends on how fast you learn and how much time you have.

EDIT: I've visited a couple of other sites as well. I ended up taking unrelated classes at www.coursera.org and www.khanacademy.org offered similar courses to codecademy so I didn't use them but you might prefer their layout etc. worth checking out to see.

coursera offers all sorts of subjects including math, science, history, computers, etc. I love their content and stay enrolled in something there almost all the time.

"Every man is a creature of the age in which he lives, and few are able to raise themselves above the ideas of their time." “Those who can make you believe absurdities, can make you commit atrocities.” ~~Voltaire

It's a case of horses-for-courses: depending on which language you're using, it can be easy or difficult to code for a particular task.

Languages are designed for different uses - Fortran for scientific, COBOL for business, to give two simple examples: trying to science with COBOL or business with Fortran is making life difficult for yourself!

Kindest regards,

James

"The Word of God is the Creation we behold and it is in this Word, which no human invention can counterfeit or alter, that God speaketh universally to man."The Age Of Reason

"But this is irrelevant because in either case, whether a god exists or not, whether your God (with a capital G) exists or not, it doesn't matter. We both are, in either case, evolved apes. " - Nesslig20

If you're good at COBOL, you're almost guaranteed to find work that pays well. COBOL isn't taught in schools anywhere anymore, but a lot of legacy systems depend on COBOL, especially in the banking industry. With the old professional retiring, there is an increased demand for programmers who know COBOL, and these programmers are not found among people graduating with an IT degree. People have been saying for decades that COBOL is about to go away, but it's not. Turns out it's not that easy to replace the old software with modern solutions.

Laurens wrote:I think the difficulty level depends on how invested you are in it.

This times a squillion. But I guess it's true of every learning enterprise.

My coding experience comes from trying to create programs on the spectrums, amigas and commodores of yesteryear, and basically knowing nothing more than that. However, whenever I've needed to code something, whether it be for a project, or for a game (running servers, for example), I've always found myself completely ensnarled, unable to sleep, eat, or function as a human being while trying to solve where that unexpected outcome originates. Must just try once more! :O

Glad I don't have too many reasons to try coding, or I'd need a life support machine.

Bango Skank wrote:Python is easy to learn i heard and commonly used language. Other one is C#, but i'd start with Python.

Myself, well my area of interest would be indie video game developing, so i'm probably going to use custom programming language that is tailored for game makers.

It's a generally good plan to use tools made for purpose.

I managed to get an introduction to the most well known programmer here - a borderline idiot-savant wizard coding professor with a nerd cult following in Thailand. I asked him what I should do if I were to want to get investment to produce a game. Basically, I wanted to look into the feasibility of any of his students being interested in and capable of building an engine. His response was pretty blunt: use Unity or Unreal. He said he'd built engines from scratch for all manner of things, but there's simply no point for a game when you have off the shelf options that can do whatever you want them to do and have years of compatibility history with existing operating systems and hardware.

So from that, it would seem that C++, C#, or Java... although I can imagine Python and SDL would be a good step into the process.

Sparhafoc wrote:It's a generally good plan to use tools made for purpose.

I managed to get an introduction to the most well known programmer here - a borderline idiot-savant wizard coding professor with a nerd cult following in Thailand. I asked him what I should do if I were to want to get investment to produce a game. Basically, I wanted to look into the feasibility of any of his students being interested in and capable of building an engine. His response was pretty blunt: use Unity or Unreal. He said he'd built engines from scratch for all manner of things, but there's simply no point for a game when you have off the shelf options that can do whatever you want them to do and have years of compatibility history with existing operating systems and hardware.

So from that, it would seem that C++, C#, or Java... although I can imagine Python and SDL would be a good step into the process.

One big advantance with Unreal Engine 4 is the blueprint system (visual scripting, you connect nodes), which means you can make a game with practically no coding at all. Good for a starting solo developers like me.

"There are those to whom knowledge is a shield, and those to whom it is a weapon. Neither view is balanced, but one is less unwise."