I am considering hiring a C# programmer for a website project, but have never worked with one before. The website will be a user contributed content site with features such as custom built forums, content submission/ratings, and administration.
How does C# compare to PHP for building websites? Is C# used primarily for web or enterprise applications?
C# and Java are used usually in corporate/enterprise applications and environments, and are harder to learn than PHP as it usually isnt just a few flat files like most simple PHP sites ( It’s either C# or VB.NET for the .NET framework ).
Most beginners tend to go towards PHP because it’s so easy, and the code usually isn’t all that great. That being said, there’s the minority in PHP who are actually skilled, some tend to use a framework such as Zend which can be used for complex applications.
If it’s something very, very lightweight then a framework like Zend can be overkill, but based on your specifications it doesn’t look like that’s a simple application.
This is an age old debate. Some prefer .net and some php. I prefer .net. Both are equally capable of building a site like this. Doesnt have anything to do with the language, but rather the server(s). Facebook is PHP and MySqace was .NET b4 ColdFusion which it is now. And like stated above. Nowdays hosting on windows or linux platform should cost about the same. Will only be a bit different if you get dedicated servers.
But if your programmer looks out for the things he does he can use mono and host the .net app on linux.
As couple of people before me pointed out it’s not the language that should matter, but rather a bunch of other factors.
Development cost (time * rate). If you have a chance to hire a developer on a per project basis I suggest you run with it. We do exactly that when working with freelancers.
Cost of ownership - how much would it cost to support the site after it was deployed. From our experience - it may run up to a few times the cost of initial development, because client wants to add things here and there.
Portability - say your programmer has married a really beautiful princess and isn’t interested anymore. Or your web host has gone south. Or a bunch of other things happened. How much would it cost to take your web site some place else.
Once you get answers to these questions, you can start hiring. By that time you won’t have a question of which language to write the code in
Hiring a PHP programmer should be cheaper than hiring a C# programmer.
So though for me C# or VB.NET are far superior to PHP, it isn’t the features of the language that drives a choice, but the context of your needs or environment. For example in a corporate environment it would be sure .NET as for me as you generally need to interface with legacy applications with Active Directory, SAP or whatever. But if is outside of that kind of environment I would rather choose PHP because of the huge opensource resources and freelance market around it so that total cost should be lower except for very specific need.
There is no right answer. People will tell you what they prefer because of their own background. That doesn’t really help you much. Both platforms are used to build web apps.
I would say that if you are hiring a programmer for this job only, your most important consideration should be the future, when the app breaks or needs maintenance, what then?
Since you have never worked with a C# dev before… it stands to reason you are at least familiar in working with PHP programmers - my advice is stick to what you know best. (unless you have an urge to delve into the world of .NET suddenly).
But don’t fall into the trap of thinking you’ll bang out this job and never have to deal with .NET again… you will, and you will have to work C# programmer(s) down the road, who tend to be more expensive and less readily available as free-lancers.
Can you think of any reason to bother hiring someone to build you an app on a platform you don’t know, and getting stuck with that - when from the sound of it, PHP is more up your alley?
I don’t know you or your capabilities, so maybe I’m off base. I have no personal bias, I work comfortably in both worlds…but if I were in your position (or at least what I percieve to be your position) - I would not suddenly start working in .NET unless I had to. I don’t care if people get bent out of shape… I speak from 10 years personal experience - C#/.NET framework is much more difficult to deal with in all aspects until you are really familiar with it. And the learning curve is quite steep compared to PHP frameworks and canned apps that I have seen and worked with.
So unless you want to branch out for a reason, I would stick to PHP. It’s fine for the project you describe, and it won’t complicate matters either.