Jump to content

Future of PHP?


juan2write

Recommended Posts

I've come to love PHP! I have, over many years, invested a LOT in PHP, and the payback has generally been websites with long life expectancies and performance status quo that continues even as the web around it hiccups and stumbles over its own growth and changes. Now with Adobe aggressively promoting FLEX and Microsoft's Silverlight, and an endless stream of "content management" systems, how important and stable a role will PHP play in the next 3 to 5 to (gulp) 10 years?

Link to comment
Share on other sites

I'd say you are comparing apples to oranges.  PHP is still growing and will continue to be a player in the game for quite some time.  I'm sure that there will eventually be another web scripting language that grabs the spotlight, but PHP isn't going anywhere in the near future. 

Link to comment
Share on other sites

From what I gather, FLEX is essentially a SDK for Flash apps.  I think the term you want to lump together with Silverlight is Adobe AIR, which allows for Flash apps to run on the desktop.

 

In terms of content management systems, many are built in PHP.  So, yes, there's a future for PHP.

Link to comment
Share on other sites

I believe PHP will be around and be strong for a while...AT LEAST 5 years, minimum.

but i hope the PHP team doesn't take that for granted.

 

there were some features that were requested a while ago but were never implemented until very recently only after ROR (Ruby On Rails) started making a name for itself.

 

it's interesting that they added those features NOW because you can now create a clone of Ruby On Rails in PHP. CakePHP comes close by PHP 5.3 makes it possible to almost make an identical clone of ROR.

 

to tell you the truth, i prefer Ruby to PHP. it's a much nicer language IMO with a full OOP implementation.

 

one thing that really really really ticks me off about PHP is how inconsistent it is in terms of function arguments.

for example, array functions generally accept arguments in the needle/haystack order while string functions accept arguments in the haystack/order

and then there's the implode() function which is ambiguous in the way it accepts arguments.

 

i know those are tiny things but it really affects me because i don't like having to stop to double check the order of arguments when i'm deeply immersed in scripting.

 

hopefully, PHP will either fix all these things in the near future or another more consistent and equally flexible language will emerge soon.

</rant>

Link to comment
Share on other sites

PHP will probably be around for the next 30 years along with the other language. Look at Perl, its been around for what 20 years already? People still make websites with that. ALthough its not as popular.  I see ASP though taking the spotlight now, but I have no idea why, I dont think any developer worth their spit would actually WANT to use Windows for a server. Why lock yourself into propriety software?

The next break threw I would see is language that takes advantage of multi-core CPU's natively, without much effort on the developer's end.

 

 

Link to comment
Share on other sites

The next break threw I would see is language that takes advantage of multi-core CPU's natively, without much effort on the developer's end.

 

Like Java?

new Thread(process).start();

 

It's not lack of native support that makes it difficult. It's because you actually need to know how to divide your problems into threads (and if it is possible at all).

 

Link to comment
Share on other sites

I see ASP though taking the spotlight now, but I have no idea why, I dont think any developer worth their spit would actually WANT to use Windows for a server. Why lock yourself into propriety software?

 

A few reasons:

 

1. ASP.NET is ridiculously easy for a designer to use.  Drag server controls onto the design surface, play with some properties, and voila, you have a site.  If my brother - who knows nothing of design, CSS, or even HTML - can create functional pages with it, then someone familiar with Photoshop will be very productive.

 

What's more is that a lot of the things that would require a coder to function can be done in a few clicks.  Have you looked at ASP.NET's data binding features?  They're so simple to use, they'll make you want to cry.  In a few clicks, you can have a table that displays records from the db, which can allow the user to sort them in a variety of ways, handle pagination, and even allow for in-place editing.  All without writing a line of C#.  Its calender control is even better.

 

For common tasks, I can't think of a platform that allows as much productivity as ASP.NET does.  That said, it can be difficult to bend ASP.NET to your design needs, depending on what you want to do.  I'm currently trying to blend its built-in user profile functionality with some custom db tables that handle other info not directly tied to the user system.  To say it's been difficult would be an understatement.

 

2. A lot of companies feel more at ease with having another company they can turn to if things go wrong.  Open source is scary to a lot of people, even today.  A common thing I hear from people on the business side of things is that going open source means working without a net.  There's no ultimate authority to contact when things go wrong.  Keep in mind that developers often don't have the final say on what platform a company will use.  It's often the clients that have decided, for whatever reason, to go Microsoft or not.

 

Look at it like this - your local small business owner probably won't care what kind of server is being used to host their site so long as they have a site out there somewhere.  It's the medium-to-large businesses that have to weigh the costs of the various technical support available to them.  The idea of a corporate entity standing behind the repair/maintenance work is comforting.

 

3. C# is a great language.  VB is crap, but C# is very nice, and I wish PHP would lift its property mechanism wholesale.

Link to comment
Share on other sites

PHP will probably be around for the next 30 years along with the other language. Look at Perl, its been around for what 20 years already? People still make websites with that. ALthough its not as popular.  I see ASP though taking the spotlight now, but I have no idea why, I dont think any developer worth their spit would actually WANT to use Windows for a server. Why lock yourself into propriety software?

The next break threw I would see is language that takes advantage of multi-core CPU's natively, without much effort on the developer's end.

 

 

 

 

compared to PHP, Perl is a MUCH better designed language overall.

PHP evolved from a bunch of scripts to the language it is. it was never originally designed to do what it does today. that's why the OOP support was so poor prior to version 5.x and it's still not fully OOP although most people will argue that this is not necessary in a web scripting language.

 

Perl was designed for what it does right now, from the start. it's extremely flexible. especially for Linux/UNIX admin work.

 

regarding threads...i doubt any scripting language itself would let the coder manipulate threads themselves...most web scripting languages are loosely typed and garbage collection is handled internally...i can't imagine someone going through the trouble of making a web scripting language that lets us explicitly manage all this...that will be interesting to see though :)

 

 

 

 

2. A lot of companies feel more at ease with having another company they can turn to if things go wrong.  Open source is scary to a lot of people, even today.  A common thing I hear from people on the business side of things is that going open source means working without a net.  There's no ultimate authority to contact when things go wrong.  Keep in mind that developers often don't have the final say on what platform a company will use.  It's often the clients that have decided, for whatever reason, to go Microsoft or not.

 

i totally agree with this. at the end of the day, your boss is going to want to have one single entity that he can hold responsible if things go wrong.

Link to comment
Share on other sites

1. ASP.NET is ridiculously easy for a designer to use.  Drag server controls onto the design surface, play with some properties, and voila, you have a site.  If my brother - who knows nothing of design, CSS, or even HTML - can create functional pages with it, then someone familiar with Photoshop will be very productive.

 

I guess that explains why I've experienced so many slow websites with files ending in .aspx.

Link to comment
Share on other sites

1. ASP.NET is ridiculously easy for a designer to use.  Drag server controls onto the design surface, play with some properties, and voila, you have a site.  If my brother - who knows nothing of design, CSS, or even HTML - can create functional pages with it, then someone familiar with Photoshop will be very productive.

 

I guess that explains why I've experienced so many slow websites with files ending in .aspx.

 

Haha, probably.  I'm wondering how the .NET CLR effects site performance.  Is it all loaded/running in the background?

Link to comment
Share on other sites

I see ASP though taking the spotlight now, but I have no idea why, I dont think any developer worth their spit would actually WANT to use Windows for a server. Why lock yourself into propriety software?

 

A few reasons:

 

1. ASP.NET is ridiculously easy for a designer to use.  Drag server controls onto the design surface, play with some properties, and voila, you have a site.  If my brother - who knows nothing of design, CSS, or even HTML - can create functional pages with it, then someone familiar with Photoshop will be very productive.

 

2. A lot of companies feel more at ease with having another company they can turn to if things go wrong.  Open source is scary to a lot of people, even today. 

 

I never really understood that whole visual thing, isn't that dumbing down programmers? Thats why I passed on C#, and rather learning C and C++ in my off time with Dev-C++, I'd rather learn the real Deal and actually understand whats going on. Not have half my code written for me by a visual ide.

But you make a good points, I could see Businesses being afraid to use opensource. I've actually noticed some websites that were running PHP gone to ASP. Like NameCheap.com I think was using PHP when I first signed up there, Now I notice its .aspx

Link to comment
Share on other sites

I never really understood that whole visual thing, isn't that dumbing down programmers? Thats why I passed on C#, and rather learning C and C++ in my off time with Dev-C++, I'd rather learn the real Deal and actually understand whats going on. Not have half my code written for me by a visual ide.

But you make a good points, I could see Businesses being afraid to use opensource. I've actually noticed some websites that were running PHP gone to ASP. Like NameCheap.com I think was using PHP when I first signed up there, Now I notice its .aspx

 

Well, don't confuse the IDE for the language.  C# is a full-fledged OOP language that's used to do everything from backend website programming to game programming (XNA and XBox Live's Indie Games).  The IDE is as simple or as complex as you want to make it.  I don't have the $$ for Visual Studio, so I use Visual Web Developer 2008 Express, and I use it almost entirely in code view, meaning I write out all my code (server controls and the C# code-behind).  The only aid I get is real time intellisense, which is great as it shows you the objects and signatures of the methods you're trying to write.  When you're dealing with the members of namespaces you're not entirely familiar with, it's nice to get real time feedback on the objects and methods available to you and what they do.

 

Also, from what I've read, you can essentially write C++ code in C# if you decide to write what's known as 'unsafe' code in C# parlance.  Don't take my word for it, though, as I haven't had the need to do it.

 

I've attached an image of what the IDE and C# look like, just so you can get a real idea of what it is.  Large image, so there will be H-scroll.

 

[attachment deleted by admin]

Link to comment
Share on other sites

Personally I can't stand coding the GUI part in lower level languages.  Takes forever!  Then again, I'm not familiar with the WinAPI  (especially not the graphics stuff), and as for the other GUI libraries I'm horribly unfamiliar.

 

As for the future of PHP, just as it has sort of replaced Perl, I think it will one day be replaced too.  PHP has a really low learning curve, is easy to setup with Apache (not always easy to setup well, but easy to setup), easy to get going with MySQL and really just all around easy while still being a good language.  (Note that when I say easy I mean that it's easy to do stuff with it, not always do stuff correctly with it.)  So what happens when something better comes along?  Something that is just as easy to get going with, but faster or something?  Then again, it would have to do a lot of catching up on PHP.  Perhaps I'm just being negative.

Link to comment
Share on other sites

Visual studio makes creating UI's, and other tasks easier. Some of the stuff it automates aren't hard to do, but are tedious. I do agree, C, and C++ are lower level languages, and give you a lot of versatility and control. depends on the task

 

Well after C there is only Assembly, which  actually beyond popular believe, is not binary.  :D

If anyone's interested in that check out this site. http://www.masm32.com/

 

There trying to insult us...

Warning  Not for the faint of heart. If MASM is to complicated for you, take up server side scripting.

 

Personally I can't stand coding the GUI part in lower level languages.  Takes forever!  Then again, I'm not familiar with the WinAPI  (especially not the graphics stuff), and as for the other GUI libraries I'm horribly unfamiliar.

 

I've been checking out the WinAPI myself in my C++ compiler, It is very tedious. Of course writing in console applications doesn't really interest me, so I'm going to straight for the winapi.

 

 

I've attached an image of what the IDE and C# look like, just so you can get a real idea of what it is.  Large image, so there will be H-scroll.

 

Yes I'm familiar with the C# 2008 express IDE, How is that game your making work? So it uses xna? I looked and it appears you need xbox or something, But I can't really tell. But its looks like you need pay money for it right?

Link to comment
Share on other sites

I've attached an image of what the IDE and C# look like, just so you can get a real idea of what it is.  Large image, so there will be H-scroll.

 

Yes I'm familiar with the C# 2008 express IDE, How is that game your making work? So it uses xna? I looked and it appears you need xbox or something, But I can't really tell. But its looks like you need pay money for it right?

 

Well, my game is actually a web-based, ASP.NET game, so I'm not using XNA.

 

XNA itself has two components.  You can get the framework for free and install it into Visual C# 2008 Express/Visual Studio.  There's nothing stopping you from working on a game right at this moment.  In order to publish the game, and gain access to all of the online developer resources, you need to pay a license/subscription fee.  And since the XNA project is aimed at people publishing Xbox 360 games, you'll need a console for testing purposes at the very least.  I wouldn't be surprised if an Xbox Live Gold account was necessary, too.

 

Expensive, but still cheaper than what publishing used to cost.  If a few hundred people buy your game, the costs are essentially paid for.

Link to comment
Share on other sites

I see ASP though taking the spotlight now, but I have no idea why, I dont think any developer worth their spit would actually WANT to use Windows for a server. Why lock yourself into propriety software?

 

A few reasons:

 

1. ASP.NET is ridiculously easy for a designer to use.  Drag server controls onto the design surface, play with some properties, and voila, you have a site.  If my brother - who knows nothing of design, CSS, or even HTML - can create functional pages with it, then someone familiar with Photoshop will be very productive.

 

What's more is that a lot of the things that would require a coder to function can be done in a few clicks.  Have you looked at ASP.NET's data binding features?  They're so simple to use, they'll make you want to cry.  In a few clicks, you can have a table that displays records from the db, which can allow the user to sort them in a variety of ways, handle pagination, and even allow for in-place editing.  All without writing a line of C#.  Its calender control is even better.

 

For common tasks, I can't think of a platform that allows as much productivity as ASP.NET does.  That said, it can be difficult to bend ASP.NET to your design needs, depending on what you want to do.  I'm currently trying to blend its built-in user profile functionality with some custom db tables that handle other info not directly tied to the user system.  To say it's been difficult would be an understatement.

 

2. A lot of companies feel more at ease with having another company they can turn to if things go wrong.  Open source is scary to a lot of people, even today.  A common thing I hear from people on the business side of things is that going open source means working without a net.  There's no ultimate authority to contact when things go wrong.  Keep in mind that developers often don't have the final say on what platform a company will use.  It's often the clients that have decided, for whatever reason, to go Microsoft or not.

 

Look at it like this - your local small business owner probably won't care what kind of server is being used to host their site so long as they have a site out there somewhere.  It's the medium-to-large businesses that have to weigh the costs of the various technical support available to them.  The idea of a corporate entity standing behind the repair/maintenance work is comforting.

 

3. C# is a great language.  VB is crap, but C# is very nice, and I wish PHP would lift its property mechanism wholesale.

 

Have you ever tried coldfusion?  Coldfusion with Dreamweaver I would say really takes the brainwork out of development.  I used it in college before learning PHP in some web programming class.  It certainly isn't a very powerful langage, at least at the time I tried it, but most things you could do in the WYSIWYG IDE.

Link to comment
Share on other sites

I personally have always been convinced that, one day, PHP would become more than just a web-language...

 

I have been reading a little about PHP-GTK and am actually waiting for RoadSend to fully support GTK2.

 

Next to that, M$ recently spent quite some money on PHP... and I wonder where that is going ?

It would be nice to see projects as PHP4Mono go a little further and maybe allow, one day, to do full .NET development in our favorite language ??

 

Any thoughts on this ?

Link to comment
Share on other sites

It would be nice for PHP to become more powerful than it is now, and if it means in such a change that it's recommended to call it something else. Have it in updates, so we can easily adapt to the changes. (For noobs)

Possibly in the changes, have tutorials on php.net for each of the changes, so we can work out what they are.

 

As for timespam, I've not known any computer languages to stop being used. Although I know theres some rarely used. Binary, and Assembly, possibly COBOL will be around for as long as present technology lasts. It may even be longer, it depends on what the next century technology is, although surely it must use Binary.

I would like PHP, over time, become on of the most powerful languages, that fits in with Assembly, and all them important languages. Although like mentioned, if this happened, it might have a name change.

 

Just my opinion :)

Link to comment
Share on other sites

Have you ever tried coldfusion?  Coldfusion with Dreamweaver I would say really takes the brainwork out of development.  I used it in college before learning PHP in some web programming class.  It certainly isn't a very powerful langage, at least at the time I tried it, but most things you could do in the WYSIWYG IDE.

 

I know of it, but haven't tried it.  I know that MySpace is written in it, so that may or may not be an indictment of the technology. ;)

 

Next to that, M$ recently spent quite some money on PHP... and I wonder where that is going ?

It would be nice to see projects as PHP4Mono go a little further and maybe allow, one day, to do full .NET development in our favorite language ??

 

Any thoughts on this ?

 

Hmm...maybe Microsoft is trying to get into the open source side of the market as well?

Link to comment
Share on other sites

  • 2 weeks later...

Self-Quote:

 

I never really understood that whole visual thing, isn't that dumbing down programmers? [...]

 

Interesting article,

 

While visual programming can be easier to learn and can help make developers more productive, it's also "easier to delude yourself," said Butler Lampson, a technical fellow at Microsoft. For instance, "no one can ever tell you what a UML diagram means."

 

Managed code runs inside a virtual machine. That makes it easier and faster to write, and more secure, say proponents. Managed code also lets developers "perform above their level of competence," Snover said.

 

http://www.computerworld.com/s/article/9141465/Microsoft_s_top_developers_prefer_old_school_coding_methods

Link to comment
Share on other sites

Self-Quote:

 

I never really understood that whole visual thing, isn't that dumbing down programmers? [...]

 

Interesting article,

 

While visual programming can be easier to learn and can help make developers more productive, it's also "easier to delude yourself," said Butler Lampson, a technical fellow at Microsoft. For instance, "no one can ever tell you what a UML diagram means."

 

Managed code runs inside a virtual machine. That makes it easier and faster to write, and more secure, say proponents. Managed code also lets developers "perform above their level of competence," Snover said.

 

http://www.computerworld.com/s/article/9141465/Microsoft_s_top_developers_prefer_old_school_coding_methods

 

The 'visual' aspect isn't the same as the 'managed' aspect.

 

The visual aspect is using the design mode of the IDE to do the hard work for you.  I, myself, avoid this as it feels more restrictive and time consuming trying to tell the IDE to do what I want to do via diagrams and other graphical interface objects instead of actually writing code myself.  Of course, I find that the article overstates the danger of visual learning.  Ever been taught how an array works, or a more complex structure like a list or queue?  Chances are, you saw a diagram of what the structure conceptually looks like.

 

Of course, no programmer worth their salt would work primarily in design mode.  The 'danger' stems from those developers - independent or otherwise - who think they're hot shit because they can point-and-click their way to success.  This is no different than those Photoshop pros who think they're developers because they can export their layouts as HTML.  These self-deluded people will always exist.

 

The managed portion handles all the little 'gotchas' associated with dynamic memory allocation.  Instead of manually needing to free memory obtained from the heap and dance around memory leaks and other problems, the runtime does it for you.  This isn't a bad thing - even professional C++ developers often use framework classes that do the same sort of thing.  Why?  Because memory management is a tedious pain in the ass, and if the grunt work can be taken out of it, so much the better.

 

There's nothing wrong with using tools to make your life easier if you can understand what's going on under the hood.  I know what pointers are and how to use them.  If I can get identical results without having to manually go through the hoops of memory management, which, as an added benefit, will make my code more readable, then why wouldn't I want to do it that way? 

 

I'm wondering if PHP could be considered a managed language or not.  Specifically, whether or not its objects are actually created from heap memory, or, since PHP scripts are a one-shot affair, if they're allocated on the stack.

Link to comment
Share on other sites

I hope the future of is more features to make it more strict such as optional primitive type hinting and return type. Being able to turn off fatal errors in favour of exceptions would be nice as well. And being able to flip some switch that will make it require to require exception declarations as in Java. Optional named parameters as in Python. Primitive types actually being objects as in Ruby would be great. Mixins seem useful as well.

 

I've asked myself what I am still doing coding PHP many times though... I guess I am just waiting for the PHP dev team to take the best from all languages (sort of like post WOII Japan did with tech) and add it as an optional feature so you can pick what you like. I know, but I can dream. PHP 5.3 is a major step forward, but the namespace and late static binding implementations could have been better. Specifically I would have preferred packages with visibility instead of namespaces. Closures are nice though. I have hopes of Phar becoming the standard way of distributing and running PHP applications as well.

 

Thread management really isn't that useful for the average web application running in a container that expires after each request. It's useful for the web server though. That said it would be pretty cool to be able to write a PHP application that runs in it's own, persistent container though. Actually this is currently already possible by writing a cli script that's a socket server as well (and a small client that will run in the short lived container). I did so a while ago, but there are so many factors you have to account for that I wouldn't recommend it for anything other than experimentation (it was pretty god damn fast though).

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.