Starting in programming

Hey, everyone!

So my name is Prez, I'm gonna turn 16 next month and I'm really interested in programming and software.

I've wanted to start coding for a long time. First try was with C++, but at school the only thing we'd use it for was solving math problems and what not, so I kinda lost interest. I've become friends with a programmer, a bit older than me, who is going to the biggest IT Academy in my country. He showed me a lot of great programs that he built in C# and they're awesome and really helpful, so I got inspired to learn C#. It's been farely easy so far, I've got a lot of material to get myself to medium level knowledge, so I'm pleased with that and as far as I understood it's very searched for considering jobs. I want to be sure I'm making the right choice by choosing to learn this, so my question to you guys is- What language should I know, so that I can apply for more interviews? I hope you understood that, I didn't know how to put it in words, but basicly if I learn php will it be more useful than say c# or the other way around? For now I'm interested in C# and maybe later on Java, but I would also like your oppinion on PHP and databases. I should point out I'm not interested in web development, or IOS and Android. 

Also, sorry if my english is crappy in places, but it's not my native language. :p 

It's great to know many languages but what matters is what you plan/want to do with those languages. If you have no intentions of working in web development, learning PHP would probably be a waste of time, etc.


You're young so the question may be hard to answer at this moment in your life but for your specific question, it would be easier to answer if you were asking what languages you should learn for a specific job. If you were applying for a job in web development, they interviewer probably isn't going to care if you know a bunch of langauges that are not relevant to the job. I'm sure it wouldn't hurt to be able to have a ton of known languages on your resume but your potential employer probably wants to see expertise in the field their hiring for.


Is there any field you're specifically interested in? The list is pretty big: gaming, graphics, desktop applications, web applications, iOS apps, android apps, mathematics, engineering, statistics, etc, etc, etc.
 

Desktop applications are my passion. I'm not interested in web development, web applications etc. but if there are more people hired for that then maybe I should reconsider my choice.  And I know that the interviewer will be interested if I am qualified for the field of work he's hiring in and that's why I'm not really fond of the idea of learning as much languages as I can handle but instead focusing on less, but being better in them, that's why I want to get an idea of which ones to choose, so that I don't regret later.

If desktop applications are your passion then you are probably already on a good path with learning C#.

Some other languages you might want to look into for desktop apps are: C++, C, Java, Python.


Also, it might be helpful to check out some statistical information on various languags. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html - http://langpop.com/ 

If you are looking for desktop applications, it might also be worth looking at some of the OS out there, just to get a better understanding of what OS you are launching you application to.

If desktop is your thing, C# is a great start. Eventually move into things like C and maybe even C++ after you get comfortable with C#. When you move into things like C, don't expect coding GUIs by the third day of programming. You need to stick to stdlibs for a while and get close to that before moving on to things like WINAPI and such. 

tl;dr: Start small and master one thing at a time.