Guys, I’m at a point where I need to ask you a question.
Should I go back to php?
Before you answer, please consider the following points:
In the beginning my server was freebsd, because it was a second machine, running php and mysql.
The machine died and I couldn’t replace it. Therefore, I installed windows web server on the only machine I had left.
I installed VS and SQL Express, instead of php and mysql, because I thought it would integrate better into IIS. I also really liked the concept of the IDE and closed source compiled code.
I found I dislike the WebForm model, and the impositions ViewState implies upon it, even if usage is minimized. The one thing I did like about it though is the pull concept, rather than push. A page pulls data onto it.
I found I like the concept of routing, but mvc itself is too islolated. It’s all focused around the view, and pushing data into it, rather than having the view pull it’s data. I had a lot of trouble constructing models that accurately represented what I wanted to display, and have it work at both the view, and master, levels. At times, the transformations between model and entity seemed required, and other time, it seemed superfluous.
Thoughts:
I really am more comfortable with pull technology. The closest I could come, in a weird little experiement, was to have my html helper extensions wrap calls to the db, and have all the httpget actions simply return View(). That way, my views and master could both pull whatever they needed without having to worry about any kind of model. The httppost action would use FormCollection and UpdateModel on actual entities. The experiment worked, but at some costs. Flexibility and testability to name two areas, not that I really utilize either.
Conclusion:
So here I am, looking at several dead-end projects, not knowing what to do. I want to complete this thing in some fashion, I just cannot seem to do it in asp.net, and I am having reservations about installing php on windows. After all, I am not a real big fan of open source software.
Well, I’ve spent a few weeks away from this, and gave it a lot of thought and have come to the conclusion that there are simply too many variables and considerations for me to handle when it comes to developing a simple, yet robust, forum system. These are things that would manifest regardless of platform. For now, I am calling it quits.
One small example would be in the handling of posts. If I allow a post to be a direct reply to another post, I have nesting problems when trying to display them linearly. Also, when one post is deleted, what happens to it’s children? Do I warn that they will be deleted too, or move them all up one parent?
Yeah, I know its very tough to keep up with new technologies as they evolve, but I guess that’s what makes the difference between feeble and the tough, for when the going gets tough the tough gets going
Your rationale for choosing a server technology seems nearly as arbitrary as a coin flip to me. “The machine died…” and “…not a real big fan” speak nothing of your skill set, much less requirements for the projects on which you work. Granted, sometimes hardware failures can dictate the tools at our disposal; however, it sounds like you also serve as your own systems admin with freedom to install and configure an environment most conducive to your productivity. Therefore, my advice is to install PHP and MySQL on your Windows server alongside .NET and SQL Server Express. They can co-exist quite nicely and you can easily take on projects in either platform. With certain optimization tweaks, I think you’ll find your reservations about a PHP/IIS setup unwarranted.
I’m retired and now just a hobbyist trying to provide some services for some friends. I have roughly 18 years experience, encompasing a lot of different platforms and technologies. Experience isn’t the problem. Despite what some say, this old dog has problems learning new tricks. That’s the summation.
As for servers, with only one machine, and lots of kids who like to install games, XFree just didn’t cut it. Windows it was.
Personally, I simply adore C#. The language itself is pure joy. I simply like neither webforms, nor the ms implementation of mvc. Unless you know of another framework built in .net that I am not aware of, this alone rules out it’s use at this point.
I never in my life thought I would say this, but Adobe CS(x) and PHP/MySQL is sounding very tempting at the moment. Plain and simple, I just can’t keep up with the .NET technologies. .NET 3.5 came out 2 years ago, as did VS2008, now we are on VS2010 and another $800 it’s going to cost me. It’s a damn rat-race man, and I can’t keep up. At least with PHP/MySQL their isn’t a new version every 1 1/2 - 2 years. Hell, they have been on PHP v.5.x for 4 years, and it gives you an opportunity to use SQL and not some crappy ORM, that will be deprecated in 2 years, aka LINQ2SQL. By the time you master a feature of .NET, something brand spanking new comes out, kind of like Linux, flavor of the month. I’m done rambling. Serena, I feel ya, being tied to one OS and spending thousands to keep up just isn’t worth it anymore. Game over man, game over.