• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

php/mySQL or ASP/MSSQL

Journer

Banned
i'm going to try and start developing some software i have had planned out for a while. i was wondering if anyone could give me some info on which platform i should go with...heres some info:

application 1) deals with scheduling appointments. uses calDEV to transport calendar data from the server (which hosts an online cal) and the client devices (PDA, outlook, etc.) main interface will be web-based while simpler viewing/editing of calendars will be done with the customer's remote software.

application 2) databases collection information and stores lots of images. will connect to a main server to update a DB that stores collection information (makes, models, etc.) and current market prices. the main interface will be web based, however, i'm thinking about writing a complimentary front end in VB.net, C#, or Java

application 1 is targeted at a large market and if it were to explode, the server load could be quite significant, but dependent upon how many users there are. however, part of my marketing plan is to run multiple companies on one of my hosted machines, so, potentially, it could be quite the load. It will also be interacting with a mail server to send alters and what not. Furthermore, it will be tied to a shopping cart of some sort. the goal with this application is for it to be robust, quick, and never go down...ever. cost should be minimized, but customers would be willing to pay for MS software if the product delivers.

application 2 will not require a lot of performance as it will likely never be used by more than 1-3 users at a time. the more important goal with this application is for it to be cheap, very cheap.

here is the deal, i am a bit familiar with MSSQL (at least the management of it) and know nothing about MySQL or its management tools. I don't know PHP or ASP hardly at all, but i do know C++, Java, and VB so the transition to either wouldn't be too bad, or, so i think.

anywho, i really want to do both programs on the same platform. currently, i see the following benifits/advantages for both platforms:

ASP/MSSQL:
PRO:
-i understand msSQL better and will know it well after my class this semester
-it is supported corporately
-it is highly reliable
-it can be cheap if the user base is small
-i understand and enjoy MS IDEs
-included support


CON:
-it isn't cheap for large situations
-it isn't muli-platform

PHP/MySQL:
PRO:
-Open source, so it is free and tons of extensions and libraries
-it is multi-platform
-very good performance
-very simplistic email libs
-should be easy to implement calDEV

CON:
-have to learn how to use a new IDE (not really that bad)
-have to learn how to use MySQL and its management tools
-Requires more initial configuration
-May have to worry about open source licensing in the future (might have to pay royalties)
-support isn't cheap (unless you depend on forum users)
 
You could mix it up too, AFAIK both PHP and ASP are able to use ODBC so you can use them with either database. If you can come up with a database layout that sits easily in both you could give the customer a choice about which backend they want to use. ASP will essentially lock you into IIS on Windows, I don't think Apache+Mono is there yet, but PHP runs in IIS as well as Apache and multiple OSes.

-May have to worry about open source licensing in the future (might have to pay royalties)

Unless you're modifying PHP, Apache, MySQL, etc itself then I highly doubt this will ever be the case. The license for each product covers that product itself, not any data or applications that you run against it.
 
yah, i know PHP and ASP have pretty developed libraries for MSSQL, but i don't know about ASP's libs for mySQL. I'm not a huge fan of either apache or IIS, but i like that apache is multi platform. just a pain to setup sometimes.

as far as the licensing, what i meant is with open source, i can use someone else's programs inside my program to make it easier on me. example) i could use someone else PHP scripts to handle the mail functions of the program. not to sure how all that works...
 
would anyone recommend trying to pick up ASP while i'm taking this VB class? it seems like they are very similar so maybe it would help. currently i'm in a vb.net 2005 class. it is simple so far, just been writing basic console applications.
 
You mean asp.net, not classic asp, right? There's no good reason not to. You can write asp.net code behind in vb.net, and the rest is html. VS handles much of the work.

As for the rest, on the asp.net side you should look into the framework first - you might find a lot of the things you would otherwise want an external program for are already built in.



 
yah, i know PHP and ASP have pretty developed libraries for MSSQL, but i don't know about ASP's libs for mySQL. I'm not a huge fan of either apache or IIS, but i like that apache is multi platform. just a pain to setup sometimes.

Ignore any ASP libraries for MySQL, use ODBC and the MySQL ODBC driver. Keep your code as agnostic as possible.

as far as the licensing, what i meant is with open source, i can use someone else's programs inside my program to make it easier on me. example) i could use someone else PHP scripts to handle the mail functions of the program. not to sure how all that works...

The same is true for closed source software, i.e. you can buy custom controls from any number of companies to save time but you still have to abide by their license.
 
ColdFusion would fit your application more than either of the other two options.

It's completely platform independent, highly scalable, and its database integration is completely managed internally by ColdFusion's built-in ODBC server. You can connect to MSSQL, Oracle, Access, MySQL, and even various flat-file database types, and not change a single line of code ever.

It's perfect in a hosted environment.
 
Originally posted by: drebo
ColdFusion would fit your application more than either of the other two options.

It's completely platform independent, highly scalable, and its database integration is completely managed internally by ColdFusion's built-in ODBC server. You can connect to MSSQL, Oracle, Access, MySQL, and even various flat-file database types, and not change a single line of code ever.

It's perfect in a hosted environment.

Maybe I'm just biased, but cold fusion is not exactly a web language I would choose unless i'd have no other choice.

it's not as flexible as others.
 
Are you kidding me?

I used to think the same as you, until I actually tried ColdFusion. On the surface, it may seem like a constrained language, but in reality, it is one of the most robust programming languages available.

I have yet to find anything I cannot do with it. Not only that, but ColdFusion 8 has an amazing library of built-in AJAX features that are incredibly useful and simple to use.

Seriously, give ColdFusion a try. What takes a very long time in other language takes almost no time at all in ColdFusion. And for those tricky situations, you can use compiled Java or .net modules, and even embed Java code right into your page.

I've been doing website design and development for about 8 years now, and ColdFusion is by far my language of choice.
 
At $1300 for a standard edition license, I think I'll pass and stick with ASP or PHP. Actually I'd probably choose perl, but I'm more of a sysadmin than a web developer.
 
i'm a bit wary to sue coldfusion because i know nothing about it an it isnt cheap. also, i don't consider it as standard as ASP or PHP, but thats my .02

i also am scared of using ODBC because of its limitations. i'm still considering if application 1 even needs a database backbone instead of just doing it all with .cal formats and different procedures for manipulation and what not. however, application 2 only requires basic SQL CRUDs so i don't see why ODBC wouldn't work.

one thing i would like to ask all of you, is if you have any tips, book recommendations, or site recommendations that talks about program design. i'm still a college student and am professional developer by no means. i'm sure my code is sloppy as hell and i haven't had any classes on design and life cycle. basically, my classes have so far been "here is your goal, just do it". i would like to design everything on 'paper' and have everything mapped out before i start, that way all i should have to do is actually write the code and debug my syntax errors and whatnot.
 
Originally posted by: Journer
i'm a bit wary to sue coldfusion because i know nothing about it an it isnt cheap. also, i don't consider it as standard as ASP or PHP, but thats my .02

I'm a little biased against it too, as I was against Powerbuilder a few years back. But in reality it's part of a continuum of possibilities that you have to choose from based on your needs. So first: can you buy it, or buy something close to it and customize it? Second, is there some compromise; maybe DaisyCMS, or Community Server or DotNetNuke on the ASP.Net side? It can be worth getting one of these packages and heavily customizing just to get a lot of the user/role/permissions/navigation/skinning plumbing that takes forever out of the way. Lastly, if none of those options will work, then look at developing using class frameworks that give you building blocks. Still, you're talking about orders of magnitude more time and effort over any of the other approaches.

i also am scared of using ODBC because of its limitations. i'm still considering if application 1 even needs a database backbone instead of just doing it all with .cal formats and different procedures for manipulation and what not. however, application 2 only requires basic SQL CRUDs so i don't see why ODBC wouldn't work.

On the ASP.Net side you really don't have to worry about it much. If there is a .Net data provider for the database, as there is for SQL Server, Oracle, Sybase, and MySql (via a wrapper around an ODBC connector), then you just build a connection string, create a connection, open it, attach it to a command, and program away. You can execute queries, stored procedures, pass parameters in and out, get back scalar values or datatables, whatever you need to do. Here is a catalog of some available .Net data providers:

http://www.sqlsummit.com/DataProv.htm

MS includes providers for SQL Server, Access, Oracle, and an ODBC wrapper. Oracle provides their own version of the provider. Most others are either offered by commercial vendors or are open source alternatives.

one thing i would like to ask all of you, is if you have any tips, book recommendations, or site recommendations that talks about program design. i'm still a college student and am professional developer by no means. i'm sure my code is sloppy as hell and i haven't had any classes on design and life cycle. basically, my classes have so far been "here is your goal, just do it". i would like to design everything on 'paper' and have everything mapped out before i start, that way all i should have to do is actually write the code and debug my syntax errors and whatnot.

It's a big question, and is being discussed in this thread: http://forums.anandtech.com/me...=2153826&enterthread=y
 
Originally posted by: drebo
Are you kidding me?

I used to think the same as you, until I actually tried ColdFusion. On the surface, it may seem like a constrained language, but in reality, it is one of the most robust programming languages available.

I have yet to find anything I cannot do with it. Not only that, but ColdFusion 8 has an amazing library of built-in AJAX features that are incredibly useful and simple to use.

Seriously, give ColdFusion a try. What takes a very long time in other language takes almost no time at all in ColdFusion. And for those tricky situations, you can use compiled Java or .net modules, and even embed Java code right into your page.

I've been doing website design and development for about 8 years now, and ColdFusion is by far my language of choice.

I'm sure it's flexible in many areas, I'm not arguing on that part.

I'm just saying from my own experience it doesn't appear as flexible as other languages I've used. (for web scripting, I've used PHP/ASP and tried out Cold Fusion a tad). Do remember that there are pros and cons in every language out there.

And if are fluent with a language, I know the feeling where you believe anything can be built with that language.


 
I started with Perl as my first language for web site development. That, honestly, lasted about two months, after which I switched to PHP, which was much more intuitive to my C-trained brain.

Been doing PHP for 5-6 years, and I still do PHP when I need to. However, when I got hired at my current job over two years ago, they were a ColdFusion shop. In fact, I was the first person there who could do anything other than ColdFusion...and wouldn't you know it, I didn't know a lick of ColdFusion.

Well, I read two Ben Forta books, and within a month I had created an entire online quotation system for building computers, complete with XML templates and XSLT translations. Within a month of picking up the language, I was able to build that. It's fast, secure, and it works wonderfully. I was simply amazed.

Read: I'm not coming from a ColdFusion background here. I started with Perl and went to PHP and have even done a bit of VB6 CGI programming. ColdFusion just fits right. I've yet to find anything it cannot do, and I can usually do it quicker.

Honestly, it's well worth the cost. The development version is free. I'd recommend downloading it and playing with some of the features it has. You'll be suitably impressed. I regret not picking it up sooner.
 
well, from what i've read, i don't doubt CF's ability and ease for the programmer, but, the problem is the way the system will work it will require the client to run their own server (or pay to run off of mine). this would make the package way too expensive for them. now, if the backbone was MSSQL they could use SQL server express and if it were mysql then they could use it for free too. and coding in php or asp would be free for them as well considering all they need is a server.
 
I think development really depends on the total cost of ownership you are willing to invest into the project. This includes time and monetary investment. At my job we have legacy applications based on ASP classic (Jscript of all things) AND PHP running through CGI on IIS. There is even some code here and there that is .NET although its very rudimentary and I am replacing with PHP.

However, when I am asked to do a complete project I go with Ruby on Rails running through a reverse proxy to IIS ( ISAPI_REWRITE ) to a mongrel server which does all my RoR serving. As time goes by, I can even build custom scripts fast in plain Ruby just as you would in Perl. For instance, I wrote a XML/Database parse script that outputted a new XML file that Adobe InDesign CS could read. The design document of my boss was very specific how it had to be and PHP and ASP classic would have taken ages. Perl could have done it but this is windows and I don't want to maintain another bloody language. .NET would have taken too long so Ruby fit the bill and the code turned out to be roughly 150 lines with full commenting.

If I had a clean slate to start with there is no doubt I would use Debian 'Etch' on a bare bones install. I would then lock down the ports with IPtables and then install postfix, postgresql (or mysql) and then move on to lightthp and php5 in fastcgi mode. I'd then install eAccellerator for caching the PHP pages. This is so you can do quick and dirty pages that need to run fast. I'd also install ruby and all its neccessary packages for system scripting as well as Ruby on Rails for large projects.

That will give you a lean web server with all the necessary packages to get up and running within a few hours. You might have to install Bind8 or 9 depending if you have a pre-existing name server or you could get DirectDNS's awesome http://www.directnic.com/features/dns.php feature so you don't have to.

Best part is you can do what I said above on any decent Virtual Private Server plan ( 256mb RAM minimum ) for all your development purposes so you don't even have to buy a server up front. You could even do mono instead of Ruby just in case you wanted .net portability as an option.
 
well, i think i'm leaning a bit towards ASP.net. However, i was wondering if anyone could tell me where i could get info on all the APIs and what not .NET has built in. for example, some tools i can use to plug into SQL databases and calendars. Also, any info on the outlook 2008 API would be nice 😀 I think i've determined that overall, it will be simpler to do my applications in .net because most of my customers will be using Microsoft technology (pdas, outlook, etc.) so tapping into those resources, in general, will be easier. further more, if anyone has some info on developing .net apps that maintain multiple, constant server/client links, that would be helpfull too 😀
 
Use whatever tools you feel would be most beneficial towards your target audience and what fits your needs more.

Personally, I can't stand using a language which is not platform independent. It's just so limiting.

Maybe once mono gets better, I'll have more respect for any Microsoft based solution.
 
I have a few reasons, more PERSONAL than practical, for using PHP/MySQL over ASP/MSSQL:

1. Open source.
2. FREE as in beer.
3. More web hosts for LAMP than Microsoft solutions.
4. Since LAMP is cheap(er) than ASP/MSSQL, more people use it. Since more people use it, they make more online articles and forum posts about it. Since they generate more content, you have a rich variety of documentation available.
5. Thanks to livejournal and facebook, scaling PHP has become very easy and is well documented. Look up memcached and related technologies. This does not mean that ASP does not scale well. Consider plentyoffish, one of the largest dating websites, which was written by a guy with ASP/MSSQL.
6. With some amount of caching and good coding practices, PHP runs like a cheetah. Animal Planet reference FTW!
7. *nix systems tend to be more secure than Microsoft systems (anecdotal evidence only).

Since application 1 may need to scale suddenly, I recommend researching memcached and Amazon S3. For application 2, do what Hyperblaze says.
 
I think ruby on rails scales the best because of the mongrel clustering which is able to run on the same computer or multiple computers. It is basically enterprise enabled out of the box and doesn't require any black magic or long nights with a 12er of Pepsi to make sure you crossed all the php t's and dotted all the php i's of those external packages. Mongrel Clusters also are easier to maintain when they update a version.
 
Originally posted by: drebo
I started with Perl as my first language for web site development. That, honestly, lasted about two months, after which I switched to PHP, which was much more intuitive to my C-trained brain.

Been doing PHP for 5-6 years, and I still do PHP when I need to. However, when I got hired at my current job over two years ago, they were a ColdFusion shop. In fact, I was the first person there who could do anything other than ColdFusion...and wouldn't you know it, I didn't know a lick of ColdFusion.

Well, I read two Ben Forta books, and within a month I had created an entire online quotation system for building computers, complete with XML templates and XSLT translations. Within a month of picking up the language, I was able to build that. It's fast, secure, and it works wonderfully. I was simply amazed.

Read: I'm not coming from a ColdFusion background here. I started with Perl and went to PHP and have even done a bit of VB6 CGI programming. ColdFusion just fits right. I've yet to find anything it cannot do, and I can usually do it quicker.

Honestly, it's well worth the cost. The development version is free. I'd recommend downloading it and playing with some of the features it has. You'll be suitably impressed. I regret not picking it up sooner.

XSLT is the devil! I abhor it.
 
Back
Top