The SitePoint Forums have moved.

You can now find them here.
This forum is now closed to new posts, but you can browse existing content.
You can find out more information about the move and how to open a new account (if necessary) here.
If you get stuck you can get support by emailing forums@sitepoint.com

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Edit
It is not even the language per-say. It is the company behind the language that matters. I believe Coldfusion MX 8 will have an enormous user increase, codename Scorpio, will be Adobe Coldfusion this time around.

Well if we are making predictions, I'm willing to bet that in a year or two, RubyOnRails will be far more popular than Coldfusion ever has and ever will be.

I've been using, PHP and Java for a long time (~5 years). I use php always when ever i can (mostly web based apps). I haven't used asp but I'd imagine its pretty much the same as PHP in terms of scalability. Ruby with rails looks really good for developing web based apps quickly.

The biggest problem I've had with php was threading. I had an application that needed to update 50 remote databases at once. the only way to do this was sequentially with PHP.

In the end I allowed PHP to call a multi-threading Java program to do the work for me. Although i do know of threading options in php they didn't appear to be very stable.

Long story short, java was needed for this "enterprise" level.

But here's the thing, i recently tried to write search engine page indexer (like googles but with much simpler rules) in Java. I determined in the end that Java for memory reasons couldn't handle the large data sets. So i would have to rewrite the whole thing in C or C++.

If you take it to another level C or c++ may have problems interacting with certain hardware for what ever reason. you would then have to turn to Assembly to get something to work.

So really what is enterprise level? I'm pretty sure PHP/ASP/Ruby can create any size database application you want if well written.

PHP being free has made it so popular, but that is also what scares big corporations away from it. If they get a Microsoft solution they know if something goes wrong they can get someone to fix it as there is someone accountable (in theroy anyhow). If an opensource/free tool goes wrong there is no one to account for it. Non-accountablity isn't an option in big business so people prefer java or maybe even asp.net.

If you want a lanaguage that can do everything use Assembly (in no way practical)

If you want a language that can create your app with minimum fuss then use Ruby on Rails/ PHP / ASP which ever you happen to know.

the point is you have to look at your app, realise each language has its boundaries and weight that against the time saved in coding time.

A web form in Java/JSP takes longer to create so if you're only looking to create contact us form, make life easier and choose PHP etc.

Breaking backwards compatibility, sometimes in a point release, absolutely disqualifies a product in the enterprise. Enterprises (management, operations) want - among other things - dependability.

I know that a lot of products/companies considered "enterprise players" do break BC from time to time, but when they do it's always either an accident or the change has been advertised a long time in advance.

Managers do *not* want to be caught in a dilemma between running on a vulnerable version or having to upgrade X apps. My experience with operations depts. in enterprises is also, that they absolutely want to minimize the number og supported versions/environments, as each seperate environment directly translates to staffing needs.

The typical enterprise will insist on a proven track record. For a long time this was a serious promblem for MS re: the IIS. PHPs track record re: security/exploits is not absolutely stellar.

Cheers, that made my day. I didn't know you were a comedian. Never in all my years using PHP has there been a time when I needed to contact somebody about a problem with the underlying PHP internals. I'm sure Zend would be happy to offer support for a price if you really needed it though.

I don't think it's less reliable because it's open source. But the problem is that the PHP developers themselves are implying that it is by telling us how we can't expect bugs to be fixed.

Breaking backwards compatibility, sometimes in a point release, absolutely disqualifies a product in the enterprise. Enterprises (management, operations) want - among other things - dependability.

I know that a lot of products/companies considered "enterprise players" do break BC from time to time, but when they do it's always either an accident or the change has been advertised a long time in advance.

Managers do *not* want to be caught in a dilemma between running on a vulnerable version or having to upgrade X apps. My experience with operations depts. in enterprises is also, that they absolutely want to minimize the number og supported versions/environments, as each seperate environment directly translates to staffing needs.

The typical enterprise will insist on a proven track record. For a long time this was a serious promblem for MS re: the IIS. PHPs track record re: security/exploits is not absolutely stellar.

This is exactly why we are phasing out PHP as a platform wherever possible. It requires too much arcane knowlege to maintain from a server administration perspective. Updating the core tends to break applications in an unpredictable manner. They really need to get past this in order to truly compete in the enterprise.

The reason I choose Coldfusion MX 7 is because there are quite a few jobs that require it, but not many developers know the language or have the skill. With my certification and experience I get a good freelancing job for Coldfusion MX 7 every single week. It is just a matter of dedication, the language does have multi-threaded functions as well as it is pure Java, and Java has it.

Multi-threading is slowly evolving, the next step is dual-core processors. Not sure if multi-threading in the current stages of languages takes advantage of that.

Most companies' strategy departments won't dare using languages such as PHP unless they're backed up by analysts certifying its readiness for enterprise solutions, because it would be putting their job at risk. If gartner says it, even if you end up wrong, well, gartner said it, so if "even them" made the mistake, yours is forgivable.

So, as long as these companies don't say it's ready, the language just won't get massive usage in enterprise environment, hence won't have the status of an enterprise-ready language (which must have "wide acceptance in a corporate environment" in its characteristics).

Another question, whom can I call on Christmass or on New Year's Eve if I find a bug in the platform that's critical to my client's application ?
(let's remember that on winter hollidays it is not that smart to close your shop)

I've had my fair share of poor support experiences with IBM, Oracle, Microsoft and others. I've called 24/7 support lines that are only staffed by one person only to be put on hold for thirty minutes when that one person has gone on break. I've had to wait a few days for Great Plains to bring in support people from a few hours away even though I was in a very large city. Commercial support guarantees nothing.

Right now I work for a company whose lifeblood is a PHP app. It was originally written in PHP 3 and upgraded to PHP 4 a few years ago. It's been solid. The good thing about an Open Source infrastructure is that if something terrible goes wrong we can fix it ourselves. Larger companies could hire programmers to correct any bugs and make any programming modifications they want. Commercial support is not as good as an Open Source app if you can hire your own programming team.

Who can do that? Enterprises. That's why IBM and others hire Open Source programmers. IBM is selling Linux and Linux apps, so it makes sense to have the programmers in-house. If a fortune 500 company wanted better support for a language they'd be best off by using an Open Source language and hiring programmers. They might even be able to hire the lead programmer on the project. It's the only way they can guarantee that their language will be supported for as long as they need it, will do what they want, and problems can be fixed right away by people who really know the software.

Php is less reliable because it is open-source. If you are having problems with the language you have nobody to contact. You have nothing. Who are you going to contact? The geek squad on phpgeeks.com? I'm surprised at the number of jobs available for Coldfusion vs Php on hotjobs and monster.com. It is very close, yet php is so much popular, that says something about the language. Coldfusion is not opensource.

I know that lots of open-source projects don't have professional paid support available, but many popular open-source projects do.
PHP does has paid support available, and being open-source in this case is an advantage.
Do not underestimate the importance of open-source. It changed the world as we know it, and only Microsoft is strong enough to not embrace it.
And if ColdFusion was released as open-source, it would have enjoyed a LOT more popularity, because if Adobe now concludes that ColdFusion is not reliable and terminates the project ... ColdFusion would be dead.

Originally Posted by Corobori

No joke but I would add COBOL to the list if you're talking about languages used for entreprise wide application. It's rather old but you would be surprise on how many entreprises are still using it.

I agree Forgot about Cobol.

Originally Posted by shakin

Right now I work for a company whose lifeblood is a PHP app. It was originally written in PHP 3 and upgraded to PHP 4 a few years ago. It's been solid. The good thing about an Open Source infrastructure is that if something terrible goes wrong we can fix it ourselves. Larger companies could hire programmers to correct any bugs and make any programming modifications they want. Commercial support is not as good as an Open Source app if you can hire your own programming team.

Of course it is more reliable to fix the problems by yourself, but that's going to cost at least as much as with paid support because I don't see too many programmers that hacked the PHP source code.
Companies can even modify the Java source code for internal usage, but this posibility only brings peace of mind as few companies have programmers good enough to rely on their skills for modifying the Java source code.
Anyway, I do agree with you, and if the company has the posibility of relying on its own programmers ... it's the best option.

Adobe already mentioned in an interview a few days ago that Coldfusion played the biggest role in their purchase to expand their company into web-developement aspects. Flash played another huge role as well. Coldfusion is extremely successful, and brings in alot of revenue for the companies because of its price tag. If I am not mistaken, Coldfusion was Macromedia's top selling product in 2004.

If you are worrying about products being dropped from the line up, it would be Flashpaper. In the last interview, it seemed like Adobe was talking about how the next Coldfusion, codename Scorpio, will have enhanced PDF functions, so it looks like they are still very much on track with PDF, and there was no mention of Flashpaper.

Don't forget, the same team that worked on Coldfusion for Macromedia still exists under Adobe, nobody is fired because of the transition.

PHP is already enterprise-ready, in the sense that it's already technically good enough to be used to build enterprise-scale apps. All these points about PHP being ready or not ready are about the PHP community and business landscape, not the language.

I visit sites all the time where the ASP/SQL Server combo blows up with errors. JSP less so. I rarely have problems with PHP sites. Site out there on the Web with millions of hits a day run PHP without a hitch. You can't tell me that Wikipedia requires less power and stability than some internal business app. I've used "enterprise-ready" software platforms that are a joke and extremely unreliable, and the enterprise only uses them because it costs too much to find a replacement.

I'm tired of the faulty notion that big businesses have greater technical needs than small businesses. In some cases, it's the opposite. Think about it. Why does Ruby on Rails even exist, for instance? Because the technical needs of developing a hot Web app in a short amount of time by a tiny number of people could not be met by these big monstrosity "enterprise-ready" language platforms (and PHP 4.x was lacking important language features that thankfully have been remedied with PHP 5).

My 2c as a developer who has worked on 5 page sites and enterprise solutions alike,

Actually it does. If IBM's support sucks and your project fails, you may say "it's because IBM's support sucks", which you were not supposed to guess. If you picked open source and your project fails, all you can say is "there is no support" or "that guy on a forum gave me bad advice" and be held responsible for picking the wrong tech.
Also, if your company is a big enough customer, you can escaladate your complains to manager's managers, and in the end you should finally end up with someone able to answer your question, even though there's good chances he comes from the other side of the planet.
Welcome to the corporate world .

I visit sites all the time where the ASP/SQL Server combo blows up with errors. JSP less so. I rarely have problems with PHP sites.

Most web-based corporate applications are not websites. They're web applications which only their employees can see. The vision one may have of the web-based applications market by visiting sites such as sitepoint is flawed by the fact that these websites are mostly visited by people who live off the www, not people who actually build corporate web applications. Reading these forums you often get the impression that all the web development market is targetted at www, but there's a tiny portions of websites that use the more corporate technologies (java, .net) as opposed to the biggest part of corporate applications being run by them.

Also, on the size comparison, I can only give you this example: I work for a fairly small company (6000 employees), 2000 of which don't have access to a computer (factory workers), and our biggest applications have more than 1500 concurrent users.
That's not the average traffic of the guy next door's php website, right now, there is 800 users online on sitepoint, which is a fairly big website (alexa top 1000). Can you imagine the concurrent users applications of a bigger company may have? Numbers grow fast in the corporate environment.

Wheather or not a company - IBM as one example - has good or bad support, business as well as technical, the level of support if not adequate enough, will break them in half. Easily.

In the case of IBM, they rely not only on their products directly, but their after sales services and support - it acts as a seal of approval if you will. PHP does not have that seal of approval at the moment.

But the same can be said about other open source languages as well, but it's them services, and that support that could swing it either way.

Can somebody that prefers open source software explain to me briefly why exactly YOU side with open source instead of closed source?

Our (smallish) company is almost exclusivley open source. The bulk is PHP, Ruby and C. It resulted in a disaffection with Visual Basic, etc, and with Windows as a desktop development platform.

We are happy with that decision because of the other openness that comes with open source. You know what you are walking into. People are free to criticise open source code with authority, so even if fixes are not happening, you know here the problems are likely to be.

It is unlikely we would use Sybase with PHP for example, because we know that this is not a battle tested combination. We know we have to performance tune Ruby scripts. We know we will get upgrade hell moving from PHP4.3 to PHP5.1 and we know to avoid PHP4.4 and PHP5.0.5 like the plague. We know not to bet the farm on MySql clustering. We know this because the information is freely available. No FUD, no press releases.

Businesses hate risk above all else.

yours, Marcus

p.s. I really hope the "Extreme Simplicity" approach takes off in PHP land. There is a big risk that we will get more junk like the SPL RecursiveIteratorIterator, and PHP will simply become as unusable as Perl. Perl is the one language that is more of an enterprise failure than PHP.

The reason I choose Coldfusion MX 7 is because there are quite a few jobs that require it, but not many developers know the language or have the skill. With my certification and experience I get a good freelancing job for Coldfusion MX 7 every single week. It is just a matter of dedication, the language does have multi-threaded functions as well as it is pure Java, and Java has it.

Multi-threading is slowly evolving, the next step is dual-core processors. Not sure if multi-threading in the current stages of languages takes advantage of that.

it compiles to java at a lower level, the language itself is not pure java. And if i really wanted to waste my time, it would be no problem to pick up the syntax for cold fusion, people simply pass it over due to the hosting cost, not because you have to be an elite programmer to utilize it or because its considered enterprise ready (and to my knowledge, i don't know of too many people going around thinking of it as an enterprise platform, i'm not arguing that it is or is not, because i just simply do not care.) and please don't insult java just because cold fusion compiles into java bytecode.

I use both c#, vb.net., and php, and php being open source, has absolutely no bearing on it's enterprise readiness. I actually root for php to get better as a language and as part of the wamp/lamp platform.

To mock the power that open source code has given to people, is a sure sign of pure ignorance to, and thats coming from the village idiot of the php forum (yeah that would be me).