PHP vs ASP.NET

I’m in Canada right now and learning PHP. I’m at the point where I’m comfortable in writing it, but obviously still got a lot to learn. So my question is: Will it be hard to find a job hiring PHP developers or is it better to learn ASP.net, because the market seems to be a lot bigger (asp.net requirements appears more on job searches).

thanks!

It depends where you want your career to lead you to. If you want to be a open source developer, PHP is the way to go… but if you’re more worried about earning money and prefer corporate life, .NET should be your choice. They get paid more and these programmers are in major companies (big corporations tend to trust what they have to pay for ;)). A big company also means a lot of possibilities to grow and reach higher positions in the organization.

The number of PHP freelance developers is much higher and although being a freelance has its ups and downs they have more freedom to choose the type of project they want to work in (or not, if you’re low of cash :D)

Just like to point out, being an Open Source Developer is language independent. Can have an open source project using ASP.NET just as you can with PHP. I recommend learning both. Learn as much as you can, do not stay with just one language, system, platform, etc. The more you know the more value you have for a potential employer.

You’re quite right, Logic… but the big majority of open source developers use PHP and MySQL because they’re free. It is more rare to find a .NET open source developer (of course, they do exist)

Thanks for responding guys,

I think it obviously won’t hurt to learn more than one language. While I learned php in school and mostly self taught, is it possible to self learn asp.net, and which language should I learn? C#?

Of course you can self-teach yourself .NET and the platform. C# is a good enough language to start out with, it is very similar to PHP aside from key differences. C# is statically typed, meaning a variable can only hold data of one type. Variable defined as a “string” can only ever hold a “string” value. Both PHP and C# share the heritage with C/C++ so they share a common ground basic syntax wise.

Microsoft offers a huge list of freely available tools to develop .NET applications, just as free as PHP and MySQL. Do not fall into that misconception that you have to pay money for .NET. And no, you are not forced to use Windows. The Mono Project is making big strides in bringing the .NET platform to other systems.

Believe it or not, but C# is an open standard and if I remember correctly so is ASP.NET. I also remember ASP.NET MVC being open source. There is also a good sized open source .NET community, even though they are not represented well in the usual places (Github). CodePlex has a ton of great open source .NET projects and in my day to day work as a .NET developer I use open-source tools regularly.

.NET Developers do tend to get paid more, but again I would disagree that .NET is a “big company” choice. I’ve worked with many small clients who use .NET and even though a lot of people cite things like the added cost with Windows and Microsoft for any business the initial investment is peanuts.

For me, the reason .NET is taking off fast at the moment is because as a language and as a tool C# mops the floor with both Java and PHP.

Although I’d agree with you, I think the market mainly decides how many freelancers there are. Being a .NET developer I know plenty of ASP.NET freelancers, but I’d say that with growing languages like Python there are few jobs out there, but loads of freelancers who choose to use Python (and won’t work full-time because the money is better). As most of the work out there is still PHP there will be a lot of jobs out there, as well as a lot of legacy work.

molona,
is this answer also applicable in India. please help me friend by telling it.

This thread is valid for any country

You answered yourself, harry. It depends on the problem at hand as well as other variables, such as if the company favours a particular enviroment more than other, or the integration with other software. I don’t have any preferences between PHP or .NET but if I’m dealing with a Microsoft enviroment where my little program needs to integrate with Microsoft Office or any Microsoft product, using .NET could make my life easier. Else, I tend to use PHP because I use it more often and I feel more comfortable with it.

This web can asnwer the question better than I can http://www.25hoursaday.com/CsharpVsJava.html

Learn both. I started in PHP as a hobby in high school, and then had various languages taught in college (Java, VB 6, VB.NET, C, C++). I then went on countless interviews and during the process of the interview (that would be my first job), it quickly hit me, they were a .NET shop and I thought all along they were a PHP shop (I screwed up, and confused two companies). Needless to say, it didn’t matter in the end. I could think logically, I could solve problems, and I could answer their questions with the confidence they expected.

I was hired, and spent weeks learning C# (their own internal process required you to go through this training), and I successfully have been utilizing the .NET framework for the past 7 years. I still do PHP work on the side as well.

Needless to say, the question isn’t which language is better, the question you should ask yourself, is am I competent at my job? Can I think logically, can I perform my duties, ask the right questions, etc. Language is purely syntax, it won’t help you figure out how to solve a problem, it is just a mechanism you use to solve the problem.

Php is only used for website development whereas .net can be used for software development as well.

i want to be a programmer but i don’t know want kind of language i’m going to study… please give me some advice…

To be a programmer, you don’t need to pick out a certain language. You need to learn to think logically and to do problem solving. That is a programmer. What language you use to solve a problem is just a tool in your tool belt that you can pick up along the way. I’ve picked up several languages through my time being a programmer.

I started in Turbo Pascal, then went to C++, then self taught myself PHP, then went to C, VB.NET, Java, and eventually C#.

Do I use all of these languages? No. Is it nice to have a background in all of them? Yes. Do the languages themselves help me do my job? Not really. As the first part of my job is to analyze the problem, design a solution, then implement said solution (in the language that I am either given; be it, the program I am fixing is already in a specific language, or the client requests a specific language).

Php Is Open source But, Asp.net Is Not a Open Source.

That is true, but doesn’t paint an entire picture. .NET is under a shared source license, meaning you can use it for debugging purposes only. The take away, is you do have access to the source code.

On 3 October 2007, Microsoft announced that much of the source code for the .NET Framework Base Class Library (including ASP.NET, ADO.NET, and Windows Presentation Foundation) was to have been made available with the final release of Visual Studio 2008 towards the end of 2007 under the shared source Microsoft Reference License.[1] The source code for other libraries including Windows Communication Foundation (WCF), Windows Workflow Foundation (WF), and Language Integrated Query (LINQ) were to be added in future releases. Being released under the non-open source Microsoft Reference License means this source code is made available for debugging purpose only, primarily to support integrated debugging of the BCL in Visual Studio.

source

And why does it matter if it is open source or not? Are you going to contribute back to the developers with new source code? Bug fixes? Or are you one of the many people that equate “open source” to the meaning of “free as in free beer”? If that is the case, then you completely miss the point of open source.

.NET/ASP.NET/Whatever.NET is just as free as in free beer as PHP. You don’t have to pay a cent to Microsoft to use .NET. You don’t even have to pay to use Visual Studio. Can use an alternate client or use the freely given Visual Studio Express. Don’t have Windows? Then use Mono with a .NET for Linux/Unix.