OK, we can do this the long way or the short way.
Right now, I feel like the short way. I’ve discussed much of what I will give a “cash” or “trash” rating to before; now is not the time to go into detail for this. This is spozed to be a quick overview.
The question is, what technologies will survive in a meaningful way (yes XXX database is the darling of 5 billion sites. With total incomes of US$5.00 total. Great database, “trash” on this list). The question comes down to a business decision; can it help us fiscally? Is it something that one should spend time learning (Java, yes. C#? Unclear. FORTRAN. Probably not…)? CASH. If not, TRASH, however cool. One has to establish a fulcrum (however bogus) and work off this basis. Sorry.
- Open source software in general — TRASH: With the exception of Linux, will be marginalized even more than it is today. Big players — i.e. Microsoft, IBM, Oracle and so on will come up with solutions that match or excede OSS, and they have sales forces and marketing money….
- PHP — TRASH: It will endure and grow, but unless something fundamentally changes with the Web, it will never be the powerhouse ASP or JSP are. I actually have trouble with this one, because I both like PHP, and I do see some sites moving from JSP to PHP. Interesting; should be the other way around…or should it? That’s why I have trouble. PHP has overcome the intitial “cool but so what?” worries and is now a solid language (v4 big leap), but it still suffers from one huge liability: Database issues. 1) Like ASPs, I hate the mechanism to hook to databases in PHP (yeah, Perl is even worse); 2) One goes with PHP because one is running *NIX. What databases? MySQL is No. 1 open source, but really not a mature database. PostgresSQL is much much better, but no tools, no installed base and bad business decisions (Great Brigde be gone). Leaves Oracle, which rocks, but costs a bundle. Which almost defeats the point of using free software for developing. My guess is that there will be a lot of small sites — much like Cold Fusion sites — by small companies or as intranets using PHP/mySQL. Nothing to speak of enterprise, however. Where I might be missing the boat is seeing that PHP is slowing becoming the tool of choice for Perl coders who need a more “HTML friendly” language. PHP combines HTML hooks and uses a lot of Perl (and Java) functions/regular expressions and so on, so this could well be true. I’m just making this up now, but a solid case could probably be made for this.
- Cold Fusion — CASH: Not to a large degree, but as Web sites get more and more dynamic — a year or so ago a database-drive site was the exeception, now it’s the norm, and that is what CF excels at. I expected better things from v5.x; right now looks more like a minor point update, not a full integer upgrade. Performance boosts and stuff that PHP had before. It will be marginallized vs. ASP and JSP, but will still power many sites IF it keeps growing (the ease of database access and coding is why it rocks; if this does not continue to improve as other technologies do, it’s doomed.) Serious geeks will always consider CF a tinker-toy language, which is true — and that’s its selling point. Don’t need a degree or team of technologists to create a dynamic intranet site. One drawback to CF is the same issue with PHP: Database issues. Yes, CF runs against all databases, but most deploy it against MS SQL Server. Which is great, actually. But, as mentioned above, open source databases largely suck. So users have the choice of CF on NT with SQL Server, or CF on Linux (say) against a MS SQL Server database on NT. The latter has better performance, higher reliability, lower cost. And the former is almost ALWAYS selected, because it’s easier. One OS is good; IIS comes bundled with NT… Sigh.
- ASP — CASH (big time): Face it — it’s a MS product, it is blazingly fast because it is all native (NT/IIS), nice COM and DCOM hooks. Lot to say for it. I don’t like it, but I’m not a Microserf. Powers a lot of sites, and will continue to do such. It’s partly a perception problem — IT managers will have a tough time selling, say, PHP or Cold Fusion to mangement — management has no clue (“What’s a pee-ache-pee?”). Can’t go wrong saying “all Microsoft site,” won’t have to worry about compatability, one sys admin can take care of it all and … yes, Microsoft will be in business in 10 years. Will Allaire — oops! — Macromedia? Will PHP even exist in 10 years?
- JSP/JHTML — CASH: This is a tough one, because — as I’ve mentioned — I’ve see some indications of people moving from JSP to PHP, which is contrary to what I’d expect. That said, I still think it will grow, because data-driven sites are mandatory now. JSP (or JHTML/servlets) is UNIX’s answer to ASP. Those with big Sun boxes don’t have too many choices — PHP, Cold Fusion, Perl/Python or some Java solution. The first two are really not scalable as currently offered (I doubt Cold Fusion will even be really Enterprise ready — reads, yes. Writes, no). Right now there seems to be a split between a home-brewed Perl/Python package (Mason and mod-perl has helped this) and Java solutions for the big companies on UNIX. I see Java rising to the top shortly, if for no other reason than the rapid climb of middleware such as Websphere and Weblogic — Java tools/solutions for UNIX. This part of the market will get even bigger in the futures, especially the higher up one goes on the Fortune XXXX list. (Ironic note: Microsoft is always dinged by detractors for closed, proprietary products. While true to a degree, the MS platform — simply because of its shear ubiquity and relative [to Sun/Oracle, say] low cost — offers more development options. MS will run Oracle, mySQL and MS databases. Will run Cold Fusion, PHP, JSP, app servers and so on. While performance might not be as good — or security as high — there are options.)
- PERL — CASH: Larry Wall once said Perl was “the duct tape that holds the Internet together” or something like that. This becomes less and less true every day, but it still is extremely valid. Perl is everywhere, even if not a development language (I personally think PHP will be the new Perl for Web dev). It’s doing data transformations, image processing, imports, exports and so on. It will never go away. It’s that good. It can never hurt to know Perl, even in an NT environment. Yes, gone are the days where a dynamic Web site was a Perl CGI opening a flat file and returning results, but Perl still has a very big place in Web developement, even if it is not front-end developement. Please don’t build your site in Perl; please learn Perl.
- MS SQL Server — CASH, bigtime: If you buy into the MS message, you will be running SQL Server. There will be some folks who will — for some personal reasons — run Oracle on NT, and there will be those who — for cost savings — run mySQL (or even Access!!!!) on NT as well, but for any serious Web development, you run SQL server if you run MS stuff. And this is personal, but I think SQL Server is the single best MS product. Really. And v7 made enormous strides over v6.5, v2000 is supposed to be better still, even if not the quantum leap that 0.5 version leap indicated. If MS ever ported SQL Server to Linux — which I seriously doubt — it would instantly become an enormous hit. I still think there will be a lot of sites running either PHP or Cold Fusion on Linux against a SQL Server database. This is a great combo — the best of both worlds. It won’t happen as much as it “should,” simply because most places are not forward-thinking enough to run in two environments. And to be fair, it is more daunting to do so.
- Oracle — CASH, bigtime: Oracle is the No. 1 database for operations where money is no object. That’s about how much they charge, but they have gotten better with the “i” products. While most people don’t need the 2 gazillion tuning options Oracle offers, some do. While MS SQL Server 2000 is making some serious inroad to the true enterprise market (think Amazon.com, Dell.com, Ebay.com), Oracle is still the standard bearer. Also, if you are running on UNIX — which most of the enterprise market did prior to a year or two ago, Oracle was basically the only real choice, unless you were an IBM house.
- DB2 — CASH: I really don’t know enough about this to say much, but it’s an IBM product. And IBM has really gotten it’s Internet act together over the past couple of years. DB2 is their database of choice — because it’s their database, but they do support other databases in their WebSphere development product. My guess is that most use Oracle, unless they are a “totally IBM” shop. But it’s IBM. They will survive. DB2 will survive at least in the short run just for this reason, even if it is a bad database — which I don’t know one way or another.
- Sybase/Informix — CASH: Informix is tough, as it has been purchased by IBM. What does that mean? Unclear. Replace/augment DB2? Wither away and get those users on DB2? I dunno. My guess is that both will maintain a presence, mainly at enterprise-level companies, but they will not be the real movers and shakers. Like COBOL, there will always be a need for it. Yet each year it will shrink, and few – if any – brand-new installations (new installation in company without existing products running the DB) will appear. I really don’t know much about these guys. I could be way off base on this one.
- mySQL — TRASH: This is not a good database, though recent attempts have made it better. It does have the installed base crown for OSS databases, but … so? I have been reading more and more articles about how to hook PHP (the basic dev tool for mySQL, along with Perl I guess) to MS SQL Server. Which would have been unthinkable a year or two ago. OSS with MS?! Are you mad?! Times change; more sophisticated sites need the support only a database like MS SQL Server can give it. These articles are on OSS sites, too. And the articles’ message threads have more “Help! I’ve having trouble doing this!” than “MS sucks!”. Draw your own conclusions. mySQL will probably never go away; it will become the Access database of the OSS world. But it’s not going to reach any higher than Access has already stretched, which ain’t saying much.
- mSQL — TRASH: OSS database decisions often come down to mSQL and mySQL. The latter always wins (people don’t know about PostgresSQL). mSQL? Stick a fork in it.
- PostgresSQL — TRASH: This one is tough for only one reason: Because it is the database solution now offered by Red Hat to help the company give businesses an alternative to Oracle. But Great Bridge — the company that employed many of the Postgres founders and coders and tried to sell a commercial version of the product — is gone. The pinheads refused to partner with Red Hat. So Red Hat said, “OK!”. And suddenly Great Bridge is … unnecessary. Ouch. Back to the point — because of Red Hat Postgres might endure, but I don’t know. It’s a great, stable database, but it came too late. The world was already carved up between “I want an open source solution” (mySQL wins) and “I need a REAL database” (and people go with either MS SQL Server or Oracle, depending on need). There is no need for a REAL database that is also OSS, unfortunately. I like Postgres; I run it. It will go away slowly….
- Access — CASH: No, this database does not really belong here, but let’s get real: Most companies run on a Windows network and have Windows desktops. All can run Access. Access is easy to hook up to Cold Fusion (good intranet dev environment), can also — with more work — hook it up for PHP. Access if essentially free (comes with all business machines, basically) and is a very easy database to use. So it will be. NOTE: There were a number of sites out there — such as Chrome Data — that actually ran a complex Web site off Access. Those days are pretty much over — users moving to SQL Server — but it still can be done, and will be to a certain respect. Take my site, for example. I get three hits a year. Access database support is $10/mo; SQL Server is $20. Gee, which will I pick????
- Apache — CASH: This is another odd OSS “cash.” While Apache does power the majority of the Web sites out there, the percentage is shrinking (IIS is replacing it, for the most part), the sites that it does power are small sites — small business sites, hosting companies that run only Linux and will be out of business in five years (not because of Linux, but because of mind-set) and such. Virtually all large, highly transactional sites run Netscape. Those that don’t run IIS (such as dell.com). Apache is true OSS and no one really makes money off it except O’Reilly publishers. But it’s a great server — complex (but not for UNIX heads), flexible, fast and secure. One concern is why we still don’t have an Apache v2.x. Still in v1.x. Yes, it’s open source, and no one gets paid for this (some company is trying; I can’t recall it’s name — may be outta bizness). Apache is also available for NT, so lots of sysadmins — UNIX dorks familiar with Apache — will use that instead of the notoriously insecure IIS. For the most part, this will be small businesses and intranets, but there will always be a market for Apache on NT, as well. Just won’t pay.
- Netscape (iPlanet) — CASH: Still the standard-bearer for enterprise-level servers with high transactions, even the Sun/Netcape iPlanet fiasco can’t dethrone it. Netscape rules in the UNIX world and has some presence — but not as much — in the NT world. One thing many users don’t realize is that the iPlanet FastTrack server is free and a good approximation of the very high priced Enterprise edition. If you run Enterprise in the workplace, run FastTrack on your laptop or whatever. Great server; easy to administer. Better than Apache in this respect, simply because I’m a fan of running the same software all over so things can translate well. Learn how to set the primary document directory on FastTrack, you’ll know how to do it on the Enterprise product.
- IIS– CASH: Wow. Has IIS gotten beaten up lately. The Gartner Group even suggests replacing it. People won’t. It comes with NT, integrates well, has same interface as other NT tools/products. Until hit, people will not abandon it. Also — if you’re running ASP — you’re fucked. That it pretty much your only choice. (That’s how MS gets you…). If you don’t run ASP, I don’t see any reason to run IIS except that it comes with NT. So what? Apache is free and faster for non-ASP things. But people won’t do that, I know…that’s why it’s a CASH.
- All other servers — TRASH: Yes, some have their place and all that, but these three run 97% of the Web. Any questions?
These are currently the three big pieces of Web development now; it will be interesting to see how wrong I am in the short and long run.
I deliberately ignored (with some references) middle-tier products, as well as XML and other transformation languages. I wanted to focus on the basics as they are today.
Yesterday there was static code and Web server.
Today there is dynamic code, database (for that dynamic content) and the Web server.