views:

337

answers:

12

I am A MCA 2009 Pass out and I like programming in C#.Net and also know PHP/MySQL, Java. I am confused which programming language should I choose (C#, PHP, Java) will have great future. I love all the three languages and also interested in learning new languages. But want to concentrate on any one language. Can you suggest me?

+3  A: 

All three have long future.

Choose on the basis what you like the most and/or what will give you better career perspectives in the region you live in or intend to work.

Developer Art
+1, but I would add that you should above all choose a job that you will enjoy. Whatever could the language be, as long as you like what you do. And to me, 3 have long future yes, but don't get too specialized ;)
Clement Herreman
A: 

Nobody can choose for you. Depends on your interest and how you can fit into the technology spirit. If you already have experience with all of them (.net/Java/php) and all three are here to stay, why not going for the one you enjoyed working with more?

Good luck ;)

Dante
+1  A: 

I would choose Java or C# over PHP as they allow you to build both desktop and web applications. Between Java and C# I must say that my personal preference is clearly C# (my final recommendation). Why? New, but fairly mature modern language. Great community.

Alex
A: 

All 3 are good choices...

You should take decision depending on following things :

  1. Your personal preference.
  2. Demand of particular technology in your local market ( If you are aiming for job )
  3. To know about the demand of particular technology, you can visit web sites of companies in your local town and note down the technologies they work on. Check Local job postings on job boards, eMail groups and local news papers.

  4. Ask Help from your seniors ( Of your college.)

last words : Whatever you choose, make sure you work hard to learn its basics and try to achieve at least intermediate level in it as soon as possible.

Mahin
+2  A: 

What do your friends use? (yes, talking to friends about programming when you start your career was something I learned a lot from.. And if you use the same language it will be more productive in the beginning)

But generally I would suggest C#. Cause it's really easy to get started. Instead of choosing between tons of different framework's, you can put effort into programming. Since the .net framework is rather big.

(preparing myself for down votes and burning comments about not being language agnostic)

Carl Bergquist
A: 

Do you prefer desktop or web, or like to mix it up?

If you like web stuff, PHP and C# are both great for that, as is Java apparently (I have no personal experience with client-side or server-side Java).

If you like desktop stuff then C# and Java can serve your needs, though personally I find Java apps slow and annoying... the same can be said about poorly written C# or horrid UIs done in WPF (used with C#).

Java is often sold as a multi-platform solution, so if you want to develop for multiple operating systems that's a good choice. C# also has Mono for Unix/Mac... read up if you're keen on it, Google will give you plenty of good sites to look at.

Each language can provide plenty of areas for growth, depending where you want to go.

Just my personal thoughts: for the best overall options and a language that is constantly growing I would recommend C#. You can start basic and work up to things like generics and lambda. Microsoft are always expanding it and adding more.

Timothy Walters
Java has a long and successful history on the web.
Pete Kirkham
I figured someone would down-rank me for those comments, as for Java on the web it's something I don't see much of anymore, I turn off Java in my browser and haven't seen any sites stop working, as for the server-side code I see plenty of .php and .aspx, but can't remember the last site I went to run by Java on the server.
Timothy Walters
Java in the browser = applets. Agreed, not seen commonly. Java on the server side doesn't require any extension like .php or .aspx - the most commonly seen extension is .jsp for java server pages - *but this isn't required* - you can map *any* extension, or even none at all - for a servlet and 1.) JSPs compile into servlets 2.) many frameworks redirect or forward through a servlet to a JSP. Most java developers choose to map page extensions to .html. So, you can't tell by the extension if a server's running Java.
Nate
A: 

Well, all 3 languages are great and have a bright future. You should just choose the language you like the most. Or you could just go and search for a job and take the language which gets you a job first. ;)

Maximilian Mayerl
A: 

I would drop PHP. If nothing else you will earn more as a Java/C# programmer (at least around here). As for Java vs C#...it doesn't really matter. Best would be to keep up with both, but there are differences which make it difficult. Still they are fairly compatible and it will make you a better programmer if you are doing both.

If you must choose, choose Java. Why? Because I don't like MS. No, that is not a good reason. I'm not sure there is one.

Jasper Floor
+1  A: 

If you think of learning new language my fingers directly point you to the Ruby On Rails which is easier to learn and make your programming easier

Senthil Kumar Bhaskaran
A: 

Really agree with other people when the best initial choice is either C# or Java since both will provide enough work opportunities and are pretty "fun" ;-).

I am a Java programmer myself but probably C# is easier to start with since the abundance of Java frameworks that are used can be quite intimidating at the beginning.

But in the end just choose the one you like the most, even if it is just based on syntax or whatever, but also keep an eye on the languages you don't choose from time to time, that's never a bad thing..

NickDK
A: 

Read thison why mastering one language is important. PHP has started to gain ground and its definately a language to look out for. But being conservative, i l suggest you to choose Java or .NET. There are lots of jobs in all the three technologies. I regard each of them as a platform. When you say java, you need to learn all that comes when java is used in developing products. For eg: web technologies(ajax,JSF,jquery), Framework (Spring,hibernate,axis), IDE (Eclipse,IntelliJ), docs/community/tutorial (java docs), build and proj mgmt tools (Maven,cruise control etc). Although java applications support any db vendor, one does more often learn/work with Oracle. Similarly, in MS world, you have their web technologies(Silverlight,ASP.NET),C#, MS SQL Server (most likely), build related tools (cruise control). So when you to start to learn a language,you aim to master a platform (technologies/tools complementing the language). So think over all these. I still doubt whether PHP can address all the above criteria as good as Java or C# can. i m sure PHP purists will argue on this. Neverthless java or c# a good programmer can make money in both of them.

Cshah
+1  A: 

I think you answered your own question without realizing it:

I love all the three languages and also interested in learning new languages.

Successful programmers never stop learning. I would avoid the urge to specialize in one language at the expense of the others. Look at it this way: a Java programmer can get hired to write Java. A C# programmer can get hired to write C#. But a great programmer can get hired anywhere.

Kristo