Hey Everyone, Happy New Year!!! I was hoping to get some opinions from various programming experts. I have a project I want to accomplish this year, and it's going to require programming skills. I need my database project to be very very search engine friendly. At the same time, I am going to begin learning this language myself, even though I might hire out for the project, but I want to be able to do maintenance and changes myself. Which language do you think would be the best for me to pursue this project? Do any of the programming languages have limitations that could limit my portal project and ability for user generated content? I have played around a little with PHP and a little with Coldfusion. I think Coldfusion seemed fun to me, not sure why. But I want whatever will work best for me! Looking forward to some replies! Have a great day
What exactly does your project do? I recommend Ruby on Rails or Python with Django. I like PHP, but rarely use it for full site backends these days. I suppose I'm spoiled with Ruby and Python, but honestly, there's very little Rails can't do, and the benefits far outweigh the cons. If you do go the PHP route, look into PHP-Wax.
Hey Poet, Thank you so much for getting back to me. I took a quick look at Ruby on Rails, and it looks very exciting. I wonder if it's easy to learn or not. I also am concerned, is this a language that will come and go as a fad and then i'll have a website built on the foundation of a language that is becoming non-existent? And last but not least, what is the likely hood that there are enough people that use this product for me to get support via forums or what not? I am working on developing a city portal website, I want to have the ability for users to log in and create accounts, as well as post various things etc.
I don't believe the hype that "RoR is a fad." Ruby is an excellent language and most of the things plaguing Ruby on Rails can be fixed. It has three main drawbacks: 1) It might not scale well, meaning if you get lots of visitors, it might be slow. This could be due to sloppy code, but it might also be due to a crappy implementation of the Rails interpretor.. but this is being worked one extensively as we speak. Rails 2.0 is supposedly a lot faster than 1.2.x (I haven't tried it yet though). 2) Community isn't that big. It's active, and big, but not AS BIG as, say, PHP or even Python. Also, the documentation for it is lacking.. Python has excellent documentation. All I need is the Rails API reference, but I'm an experienced programmer, and I know that this isn't enough for people just starting out, so this is a major drawback. 3) It isn't an ideal solution for porting old sites to. If you have a site that uses a legacy database for example, it is a HASSLE to port it to Rails. This is not a problem if you're starting from scratch, but it's a great reason NOT to use Rails if you can't start from scratch and HAVE to port over your old database. One thing is for sure though, it has revolutionalized how we code for the web. MVC has gained huge momentum due to Rails. Whether you code in PHP, Django or anything else, you'll likely (or SHOULD BE) using the MVC architecture that Rails is known for. This is what made it popular. Not to mention that Ruby itself is.. awesome. A site that lets users register, login, upload/browse media, would take about one day to make in Rails, and a few days to make in PHP, (a very basic framework at least..). Rails to me is fun. I design my program on paper and then sit down and do it in Rails in 5 minutes, whereas with PHP I used to spend lots of time coding mundane stuff to build a foundation for me to be able to do the things I designed on paper.. Rails comes with all that already. BUT! don't underestimate the fact that Rails' docs suck. I suggest going with PHP just for this reason. Start with "hello world" and learn as much as you can. Set goals.. "I want to make a basic contact form in PHP" and finish that, then "I want to make an upload script in PHP" and then finish it. You will learn loads along the way.
From an SEO point of view, as per your original question, the back end programming language makes no difference at all. Some languages may have built in tools to generate HTML automatically which may or may not be great however all languages allows you to go back to first principles and generate the HTML yourself rather than using built in controls/ components and so as usual, any sloppy HTML generation is the fault of the programmer not the programming language.