Member
Join Date: Jul 2004
|
I'm noticing that PHP is very able and very popular among people sitting at home building everything from personal "Hello Word!" sites to huge projects like eg koll.se.
Why is it that when employers are looking for programmers, PHP is being looked down on? Almost no medium to big projects seem to be done in PHP. Why is this? Is it ignorance on their behalf or mine? |
quote |
Microbial member
|
PHP perhaps isn't quite so well suited to really really big projects. Its object-orientation, particularly in PHP4, is seriously lacking in some respects. It's also a very "ugly" language — thousands of slightly different APIs not very well organised. And I suspect for large corporate projects, it also carries a big of a stigma because of its open-source roots.
Who can say why some things are more fashionable than others though? Java and C# (in ASP) are certainly very capable languages, so it's perhaps not surprising they they're commonly used for the really big projects. |
quote |
Veteran Member
Join Date: Mar 2005
Location: Near Indianapolis
|
Yeah, PHP can be a bear for large projects. Do-it-yourselfers like myself love PHP because it's free and you don't need some terribly expensive server software (like you do with ColdFusion, for example).
It's one of the best "free" options, but corporations are usually willing to spend the money on things like ColdFusion (which I use at work) and ASP (which I'll be using soon), both of which are much more efficient and better supported than PHP. |
quote |
Member
Join Date: Jul 2004
|
ok, so please tell me this: HOW are cold fusion, asp etc better than PHP. in what way are they more efficient? is it possible to do stuff in those languages that are impossible, or extremely cumbersome, in PHP?
and, forgive my "novice-ness", but how complicated does a website get. does it get much worse than your average size database driven multi-user website (such as this forum)...? |
quote |
owner for sale by house
Join Date: Apr 2005
Location: Charlotte, NC
|
I think that PHP is only looked down on if all you know is PHP - because that basically means that you have very limited experience, and very likely have no idea of software engineering methods. The same with Visual Basic, the typical hobbyist languages. If you also know Java, C++, etc., PHP can only be a plus.
|
quote |
Member
|
PHP is inferior to some of the other web languages/technologies due to its weak OO abilities, and the fact that it's too easy to mix presentation with your business logic. I started programming for the web in PHP, it was cool at the time and I really enjoyed it. Later I bought a used copy of WebObjects off Ebay. I probably shouldn't have done that, because I'm so totally spoiled with the power of WebObjects that hacking around with PHP seems like banging my head against a wall.
WebObjects (the only one I've really used, I'm sure ColdFusion and ASP .Net are similar) does a really good job of cleanly separating your data model, business logic, and interface. WebObjects really adheres to MVC just like Cocoa. It uses code behind to make sure you don't have all your business logic in the same file as your interface. With WebObjects it is possible for a web designer to lay out the interface and put in placeholders (don't know exactly how to describe it) for the dynamic content. Then the programmers can write the code that processes and populates the dynamic content. If you know any Java, give WO a whirl. It comes free now with Xcode. Just a warning though, after you use WebOjects you'll probably start to hate using PHP. "Slow vehicle speeds with frequent stops would signal traffic congestion, for instance." uh... it could also signal that my Mom is at the wheel... |
quote |
Member
Join Date: Jul 2004
|
ok, but when you say it's too easy to mix interface with business logic - that only implies "poor" coding, not that PHP itself is a lesser language. and what does "OO" mean?
|
quote |
Veteran Member
Join Date: Nov 2005
|
Quote:
Object-Oriented. |
|
quote |
Member
|
Quote:
Another huge difference between PHP and other web app frameworks is the way in which they are run. PHPs script based nature is much simpler and limiting. PHP is designed to parse then execute your script when requested by the client. You don't have your web app always running with PHP. Your code resides in separate script files that more or less match up with each page you want to display. When a script is requested that is when it is run. That is great for getting something up and working quickly, but is very archaic compared to the other web app frameworks. Having the app constantly running on the server means that you can easily maintain state on the server between pages, requests, and even different client sessions. With PHP you have to jump through all sorts of hoops to maintain state between scripts, and client requests. I believe they use cookies that bounce back and forth between the client and server to maintain a session. A good read is Jon Rentzsch's intro to WebObjects. Read the section half way down called "WebObjects' Design". http://rentzsch.com/webobjects/introTo5 "Slow vehicle speeds with frequent stops would signal traffic congestion, for instance." uh... it could also signal that my Mom is at the wheel... |
|
quote |
Senior Member
|
Quote:
There is a difference, however, in your comparison. You're comparing a language with a framework. That isn't fair. PHP itself doesn't have near the ease-of-use that a framework (There are numerous of PHP frameworks: Zend, Cake, Symphony, Trax...) will have. To further this point, would you attempt to write a Web Application in raw Java? [Although, I'm not sure if that's a valid comparison, as I don't know Java] As for the questions that began this thread: 1. Ghoti made this point very clearly. 2. Medium to big projects? Perhaps phpBB? vB? WordPress? IPB? 3. The typical reasons for not using PHP involve the fact that it's simply not considered an 'enterprise' solution. I really have nothing to put here, but I feel it's rather strange to not have one. Last edited by rollercoaster375 : 2006-06-27 at 22:13. |
|
quote |
Veteran Member
Join Date: Nov 2005
|
PHP is a specialized "language" (using the term loosely) for building web sites. You couldn't really call it a general purpose programming language for developing complex applications. It's great for what it does, but not quite the skill set you need to impress those looking to hire serious software engineers.
Although ... has anyone else heard the rumor that the new Leopard kernel will be rewritten entirely in PHP? Oops, wrong forum. |
quote |
Member
|
Quote:
Quote:
1. Better performance - A compiled language will generally outperform an intrepreted one 2. Better error checking - Compiling helps you discover errors before you run 3. Better state handling - I've already talked about this one. The downside to those is a steeper learning curve. None of the above has anything to do with frameworks, only server implementation. Unless someone drastically alters the implementation of PHP, you can consider it a feature of the language as PHP only works one way on a server. Additionally you are wrong in saying that PHP does not come with a framework. Out of the box you get support for sessions, database access, collections, etc. It might not be as full featured as some of the other web app frameworks, but that is a lot more than just a language. "Slow vehicle speeds with frequent stops would signal traffic congestion, for instance." uh... it could also signal that my Mom is at the wheel... |
||
quote |
Senior Member
|
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
I really have nothing to put here, but I feel it's rather strange to not have one. |
||||||
quote |
Member
|
Quote:
Quote:
Quote:
Quote:
Quote:
MVC is a great design pattern, and as NeXT showed it even works really well with the web. Sorry but I can't imagine any good web code that would not hold to separating display from business logic. Can you make a compelling argument for why the two should be mixed in a web app? If you can't then having the framework help you with MVC is nothing but a win. It's obvious that you really like PHP, that's fine. PHP is good at what it is designed to do. However, there are alternative technologies for dynamic web content that do work better than PHP. I'm just trying to offer my thoughts on what those technologies are, and why they are better. There is a reason that businesses use ASP.Net, WebObjects, JBoss and the like. As someone who has used both I would say that for anything but the most trivial dynamic content I'd rather use something other than PHP. Read what Jon Rentzsch has to say about WebObjects vs other web technologies. I agree totally with him that after you wrap your head around how WO works, you can bang out much better apps in a fraction of the time compared to things like Perl CGIs and PHP. "Slow vehicle speeds with frequent stops would signal traffic congestion, for instance." uh... it could also signal that my Mom is at the wheel... |
|||||
quote |
Member
Join Date: Jul 2004
|
great discussion, thanks for all the input!
what i still wonder is, if you can build phpBB etc with PHP why not corporate sites? is there a technical limitation or a limitation of the mind? i can't see what's so extremely complex about a business site compared phpBB or vBulletin (this forum..). sorry if i'm missing the point but i still don't have the answer. why do buyers not see PHP as suitable for 'enterprise'? |
quote |
Member
|
Quote:
You seem to like PHPBBs as an example of dynamic sites. To give you an example I like to read reefcentral.com. It is a fairly high traffic site, and I'd guess they have 10,000-20,000 visitors there a day. They have some fairly frequent performance problems with that site. They have to limit searching to paid members because it would overload the site for everyone to be doing it. Also, they go offline many times because of high traffic. Can you imagine Ebay, Amazon, the Apple store, etc going offline because of high traffic? They would loose money from that, hence they pick a solution that is more robust. "Slow vehicle speeds with frequent stops would signal traffic congestion, for instance." uh... it could also signal that my Mom is at the wheel... |
|
quote |
Senior Member
|
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
I really have nothing to put here, but I feel it's rather strange to not have one. |
||||||
quote |
Member
Join Date: Jul 2004
|
Quote:
Quote:
|
||
quote |
Posting Rules | Navigation |
|
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
PHP installation issues | ThunderPoit | Programmer's Nook | 17 | 2006-03-17 11:25 |
PHP & Apache 2 | ast3r3x | Genius Bar | 0 | 2005-03-16 20:38 |
Generating XML for Newsfeed (MovableType and PHP) | drewprops | Genius Bar | 3 | 2005-01-22 00:32 |
HELP! URGENT. DOWNGRADE PHP 5.0.1 to 4.3.6 | hype.it | Genius Bar | 2 | 2004-08-31 19:15 |