Should I build my site using ASP.NET to leverage my C# knowledge or should I learn PHP and use that because of the cost?
I'm a C# programmer and I love the language. I think it's the best thing since sliced bread. Recently I have become real interested in creating a website that offers jobs and allows companies to post jobs for people to navigate through.
This is going to be a nationwide site only, no international connections.
I'm somewhat familiar with ASP.NET (I've used it before for a much smaller pet project) but I wouldn't say I'm more than a
Newb - Journeyman - Novice - Experienced - Expert
I have absolutely zero experience hosting a website or even registering a domain. I'm familiar with HTML and making applications in XAML for WPF has given me a much easier time understand things that laid out in markup.
Is ASP.NET hosting expensive? Is PHP cheaper? I just need a little guidance. :)
Should I use ASP.NET or PHP?
I'm a PHP programmer and love the language, but with your background, I would absolutely say ASP.NET. PHP hosting tends to be cheaper and more available overall because it's usually Linux based and thus comes with no License fees, but there are good and affordable hosting options for Windows/ASP, too. And who cares if you pay a few dollars more, what you save in man hours will easily be worth it.
Don't forget that PHP usually runs on a LAMP stack, so for anything a bit bigger you will need to gain at least some knowledge of the conventions and quirks of the Linux world, Apache, and maybe MYSQL, too. If you're looking to broaden your horizon, that's certainly a great way to learn new stuff. If you want to get a job done, I'd say stick with what you know.
PHP is cheaper than ASP.Net, specially if you need multiple boxes (servers).
However I would say go with ASP.Net, you'll have less trouble than trying to pick up on PHP.
I have built a website in Drupal. I'm a C# noob and I would have wanted to build the site from the ground but I am not really familiar with security architecture and stuff. If you want to hone your skills in C# and ASP.NET, I'd say go for it. Registering a domain is basic. Building a website in a hosted environment is a good exercise.
Do not worry much about how much you will spend on this project (Host expenses, domain registration, etc). Just think that this goes to your professional portfolio. You can reference this as a tech work. Plus the experience in developing and building the actual site is priceless.
Just curious, but have you thought about using Mono? It's very nice and capable. The newer versions are much easier to install get running properly than before.
I don't know if you plan on using a virtual host or dedicated host or what but the route I initially took was to go to serveraday.com and get a dedicated server and then install Mono and then install my ASP.NET apps. If you are patient you can get a dedicated server from serveraday.com for $200 to $250 a year if you prepay the full year in advance.
I had little to no problems with compatability. It was actually pretty amazing how well the apps worked when going from developed in Visual Studio to being run by Mono.
One thing to consider beyond just hosting is the ability to find talent to help you work on your site.
This is completely anecdotal. I have no stats to back this up, but it always seems to me that there are more PHP developers out there than ASP.NET. My theory has been because of the lower learning costs of PHP. I recently had three experiences to confirm this:
1) A close friend of mine is a tech recruiter in San Diego. He posted a .NET job mid 2009 and couldn't find a single qualified bite for five months.
2) I consult for an early-stage startup. A year ago, they completely converted from ASP.NET to PHP because they simply couldn't find anyone to hire.
3) It's uncommon to find a .NET job on Craigslist where I am in Austin, however I've been watching a particular one for the later half of 2009. This was for an online retailer. They kept reposting this position every two weeks or so, and the pay was very average for this market. If I recall, they stopped around November/December, and I thought they finally filled the position. At the beginning of this month, they reposted the position, but this time it was for a PHP developer who was familiar with .NET technologies.
Again, take this for what it's worth. This is just my limited observations. People will say low barrier to entry = bad coders. I don't buy that. The worst app I've ever supported was a classic ASP app. Low barriers to entry just increases the size of the talent pool. You'll have more bad coders, but you'll also have more good coders, too.
I don't find ASP.NET hosting much more expensive. The hosting company I use even throws a MS SQL Server database (most places charge $10/month for MS SQL Server database) in for free and allows PHP hosting and .NET hosting in the same account.
Check them out. They are pretty good.
I would go with what you rather program with. I prefer to use ASP.NET so the little bit of price difference is not worth it for me to switch to PHP.