Helix's licenses have been cleared by the people that help protect the open-source definition http://opensource.org/
By the way they're not giving a client. They're giving us the framework to build the client, and the server, and the encoders. There's no "nagware" unless open source developers choose to put it there.
The problem I suspect is that the helix project is geared to to people that can do something with the source, not end users. Hence most of slashdotters have no idea how this project can help them.
The Helix program is nothing but a set of "standardized" shells. The media player is simply the player sans any codecs and the server is simply and encoder/server again sans the codecs.
The codec is only a piece of the picture. The container format is very important, and usually what people standardize on. Helix is giving us that and more.
The project was not, I suspect, suppose to be an 'end-user' type project. Note that they did not release any binaries. Helix is a platform.
Helix provides a uniform, client, server, and encoder source base. All open source. All we need to do now is build binaries around that. Industry will much easier pick up a product built on Real's helix, than something managements never heard of.
I'd wager that the legality of MPlayer and xine is questionable. From the dll's they import to the codecs they emulate. Real is giving us something that they own for sure.
My understanding (I may be wrong) is that the way that Microsoft's "managed code" works is that the installer creates a native compile of your application on your computer right when it installs.
I think.NET is just in time compiled, similar to Java.
If what you said is true, we wouldn't be able to copy an executeable from one computer to another. It would have to be installed.
Yeah, write it in Java, and then anyone who has trouble installing the VM will never be able to run it.
I installed Netscape 7.1, never had to know or do anything about the JVM. Why? Because it has a decent installer. You can't blame Java for problems caused by bad installers.
A developer could wite a Java application, build the '.jar' file, then tell the user "you're on your own". Or that developer can build a platform specific installer that checks for the proper JVM and install it if needed.
There are programs out there that take either approach.
Even if they already have a VM installed, you have to make sure it's the RIGHT VM...
No the application's installer needs to make sure you have the right JVM
(Yeah, MS's fault) and that you don't have a funky enivronment variable munging up your classpaths.
I work with Java frequently, I can't remember the last time I had to set, or find out anything about the CLASSPATH environment variable.
CLASSPATH was an issue maybe *years* ago around Java 1.1, but has has been fixed for a long while. Part of the reason is that nowadays a Java developer can put just about all the resources he/she needs in a '.jar' file, which is a zip file with a meta information. The jar file acts likea mini file hierarchy within a single file, making software distrubution and resolving runtime dependencies easy.
ISO is all about process and repeatibility. It simply validates that you have a well-defined process. You can have a wonderful process, with everything down to the number of times the developers go to the bathroom and for how long documented and validated, and still have a product that's a piece of crap.
Process is the heart of engineering. There is at least one thing that links civil engineers to electrical engineers to software engineers, it's process. In science to, there's that little matter of reproducibility of results. Having a well defined process is the only way to get there.
I'd argue that if you don't have process, you're hacking. Which is not always a bad thing, but not many people would bet the company, their livelihood on hacking out code.
The company has to be able to adapt to losing a key programmer or manager. Maybe your company has a few guys who really know what they're doing. What guarauntee do you have that the project can survice they living.
...That's what viral means. It doesn't mean that the license in and of itself is evil or incorrect or otherwise wrong....
I'm not a GPL fantic or anything but...
GPL backers typically don't like the adjective "viral" to be used to describe their work because it has a negative connotation. ie. The set of associations implied by a word in addition to its literal meaning. ( dictionary.com ) To me, that position is very understandable.
There's always more than one way to say what you mean. You can call someone "Stubborn" or you can call them "Strong willed", almost the same thing? Marketing, politicials use this type of thing very often.
In fact 'viral', as an adjective is, I'd say, blatantly demeaning. There is absolutely nothing good about a virus, and that connotation sticks with the adjective.
Would you tell your girlfriend "your love for her is spreading through your system like ebola"? or I love you like flies like sh**?
Both those statements I believe express great unyeilding passion. But it may not go over that way.
NIO - the buggiest api ever. (Score:5, Interesting) ... When 60% of the code (measured in locs) is workarounds for jvm bugs, you know you have problems. ...
+5, Interesting. No proof, no examples. In fact, his only number mentioned is an unverified stat of a very weak metric ( lines of code ). What does he consider a bug?
We are suppose to pour over open irc network logs to check out that assertion? Heck, we don't even read linked articles half the time.
By the way, NIO was introduced in 1.4, IIRC, and is still relatively *new*. Did someone hold a gun to their heads and have them use NIO, ie. Why rush to NIO?
A show called Super Jockey in which people with products to promote (usually beautiful women) play a game where they have to change into a skimpy bikini before a curtain drops which will reveal them if they haven't finished changing,...
I don't know if you were trying to put down Japanese television, but that "Super Jockey" show idea has me desparately searching for a friend in Japan I can ship a brick too.
... but because without Netscape, there would be no Mozilla. Let's face it, Mozilla relies on Netscape, and as a result, AOL, for life support.
It's amazing how this point goes over the heads of many mozilla users.
Most of mozilla's fulltime development team is on AOL's payroll. Even if you don't agree with how AOL does business, we have to understand mozilla wouldn't be anyway close to where it is today without their financial support.
Mozilla needs AOL/Netscape to continue to grow it its current rate.
I shop at musiciansfriend a lot, often drooling over their Martin acoustics.
They very regular have prices approaching 1/2 the MSRP on many products. Often labelled "too low to display".
I'm not plugging muscian's friend, its just that the original poster may not have been lying when they gave the $500 price on the software, that may be the MSRP.
I can see why a server-side component framework is a useful thing to have, and this justifies Java-the-platform. It still remains that Java-the-language and Java-the-VM are a big pain. At the very least Java implementations could do a better job of being convienent to use and develop for.
Java's not perfect, I agree. Far for from it. But it does do some things well. Java having only a single language frontend, decreasing programmer choice, but lowers the cost of software development for Java programmers in the long run. At least that's the argument. I'm guessing the market will decide soon enough.
.NETs entry into the market is a good thing for Java developers, because it means competition. The JCP will have to address the issue of features of.NET that the market ( software developers) may desire. For instance JCP never had a strong reason for separating the Java ByteCode spec from the Java language spec, but market research may force their hand if it concludes that.NET independent CIL ( their intermediate language ) and the resultant language frontend independence is a big selling point.
Consequently I wish the MusicXML link in your sig were up, I'm really interested in MusicXML and its potential.
It's strange, it's usually up. The main MusicXML site is
http://recordare.com/xml.html. There you can find a list of commercial and open source MusicXML programs. The day OLGA converts all they tab files to MusicXML and we have a stable OS program to 'render' those files to MIDI and Notation eg. like GuitarPro, I'll be a very very happy amateur guitarist. I'll probably still sound like crap though...:)
Can you think of even one Java application that you use on your desktop and like?
You're assuming that desktop applications is the only applications being developed. You are incorrect.
Java is a powerful server side development language. Ever heard of J2EE? This is an entire framework, complete with a component protocol, called JavaBeans. Other protocols provided or supported by J2EE allow the J2EE server components ( called containers ) to provide services to the web applications it runs. Or maybe you're heard of JSP, aka Java Server Pages? Which is much like PHP on steriods. An HTML embedded scripting language
J2EE standard has been honored reasonabley well in the industry, with much of the J2EE components built easily moved from one application server to the other.
The reason people care is when you go to the Apple site there is a big headline that the Apple G5 is the world's fastest desktop computer, when in fact any way you cut it, it is not.
Right. They also claim to be the first 64bit desktop. Sun, Compaq and a variety of UNIX vendors have been shipping 64bit desktops for years. Frankly the only major vendor that's left to do this, as far as I know, is Microsoft.
Belittle the people's accomplishment because you're from a bigger country.
Maybe the Niue people could say "American landing on the moon shouldn't count because they have the advantage of being extremely rich"? Sounds silly doesn't it? Well its the same as saying Niue's accomplishment shouldn't count because they're so small.
but then, i attended my first c# training seminar last month, & having just completed a major java-to-c# porting project, i can say this much - C# has definitely won the windows-only-client-side battle....
No kidding..NET is windows only, written by the same people who wrote the OS. I'm shocked.
if you are developing an app that front-ends on a windows client ( that's pretty much ALL of wall street, given the heavy use of MS-Excel )
I guess the entire server-side market. You know, web services, web-applications, software-as-a-service, deal means nothing? Man I've been wasting my time I guess.
I'm not gonna bother with the rest of the comment. Sounds like a plagarised advert. Care to expand on any of those cool features you mentioned, and how they've helped you?
once's the mono project attains fruition, c# on linux will be the defacto pgmming style - need i say more ?
Newsflash: Microsoft has gone and made a better Java -- C#, and funnily enough they not only standardized it with recognized standards bodies (which Sun has never done with Java), they've also released their own shared source version and have not at all stood in the way of third parties making their own implementations (dotGNU, Mono, etc).
Microsoft still have options to deter the development of an open-source.NET implementation if they want to. They have the patents.>
EMCA standards do not garantee much. EMCAScript anyone? We're still coding for JScript, and Javascript, even if EMCA "standardized" the language.
Sun has the JCP @ JCP. Most Java standards development has been done through the JCP for years now. Sun recently had 4 of they JSRs turned down! They won't happy, but had to accept that the specifications won't be accepted as they are. I believe the specific standard increased the minimum requirements for Mobile Java. The process is open and does work.
Oracle, IBM, and some of the largest software development companies in the world have billions riding on Java. These companies have always had and continue to have a say in how Java is done. I'd trust that situation over a bought specification to a patent-protected technology owned by a monopolist anyday.
I suspect Microsoft will tolerate dotGNU, Mono, as long as they see it beneficial to do so. Also, the language and runtime is not much. The true power of.NET and Java is in the wide amount of libraries available to these languages. I really wish the Mono team good like to replicating that in a source compatible manner. It would be no small feat.
The low foriegn prices are not worth the loss of local jobs. Every country needs to be a little independant.
Man. Are you lost.
The US is one of the world's largest manufacturers and exporters. Why do you think most large US companies have sales offices all over the world. Think IBM, Microsoft, Oracle. Equipment manufacturers like Caterpillar. Telecom like ATT. All these firms bring in a large amount of money from foreign countries.
Get this straight. The problem is not that small countries rely on the US for handouts. The problem is unfair trade policies that actualy hinder these countries ability to compete.
Policies like demanding they open their markets while protecting yours.
I've been looking for a comprehensive introductory site on the issues facing small economies today.
People don't realize the damage some of thoses corporations do. I bear witness to
this issue.
The trade agreement with England put historically challedged lands ( many with little natural resources and independent for only 20 years or so) in favor for a less than 2% of the British banana market specifically. US on behalf of the Dole/Chiquita brought England to the WTO and won. The result today is that some of these islands are losing 3 to 10% of the GDP annually in a trend that economist are saying won't stop soon.
Current administration has turned their backs on this.
Now when those countries turn to opium and marijauna growing to survive, global law enforcement will now spend and order of magnitude more than the approximate $5 million or so the protected banana market was worth.
Protectionism is one thing. But in the global market there are players who can not even begin to
compete due the natural disadvantages. Eg. amount of land since some of those countries are under 300 sq. miles big, no oil, or precious metals etc.
I don't believe the current administration's position, ie. 'life's tough' is a suitable response to this issue.
According to the article the MIDDLE class citizen makes 1000 pounds a year. Just
the cable subscription would represent 5% of their income. The article later
states: "Almost 50% of the children watch for up to 12 hours a day." 50% of what??
You're assuming the average child watches close to the maximum stated 12 hours. You're also assuming that a child has to have a television at home to watch it. Poor areas, eg. rural Indea for instance, will very often of communal televisions. Plus kids have friends, etc.
It's entertainment, nothing more, nothing less. I watch wrestling, but that doesn't mean I solve my problems with violence.
You are assuming everyone has the same frame-of-mind/state-of-mind/mental capacity/etc as you. There are people smarter than you, and there are people of less intelligence compared to you.
I think this is a common incorrect assumption. Eg.
"I grew up in a tough neighborhood, and I came out ok, so everyone else should do it"
"The software interface is intuitive to me, should be for everyone else, right?"
You do not represent everyone else, and you may not represent the common person in Bhutan either. Plus, society does have a responsibility, I believe, to make some attempt at protecting the impressionable ( eg. kids, mentally incompetant )from acts expressing moral standards that have been found by that society to be below what they think is appropriate.
Step out of yourself for a minute, and understand that your moral standards, and way of life is not acceptable to everyone else.
I bet you think that none of that tv you watch on television "affects" you, right? Most of us do, and I'd bet we're wrong.
Yes, but PHP has sessions. At my work, we use the session features to do variable persistance. What am I missing? I'm sure I've failed to grasp the crux of your argument.
Sessions, according to PHP can't store resources bound to the server, eg. open sockets, because the session isn't bound to a single server instance but many resources are, at the OS level( please correct me if I'm wrong, that functionality would help me optimize much of my PHP code ).
So for the mail user agent example. If the PHP MUA is busy, it can't just keep say 5 connections open to the IMAP server and have a IMAPConnectionManager object serving those out, and reusing them when user sessions are done. That simple connection pooling would probably speed up Squirrelmail and take some load of the IMAP server.
Another thing this brings to mind is component techniques. Having object hanging around in 'Application space' encourages a lot of reuse. Eg. a single instance of ficticious IMAPConnectionManager class independent of all sessions, but available to all user session. A single instance of the 'authenticationObjectFactory' object, for instance, can be available to all user sessions, again managing that resource.
How would you create a *single* object instance that is available to all script instances in PHP?
Many design patterns require this. I don't think this would be missed on small scripts, but web applications that are designed to be scalable, secure benefit from those patterns greatly.
My opinion is that PHP is a great language that's not stepping up to the plate. In the early 90's when everyone use CGI, the web script design was find. Now things are a lot more complex, I believe, and a lot more is expected from web-deployed applications. A few of those features would help PHP coders pitch PHP solutions against the growing popularity of application servers, eg. ASP.NET, JSP/J2EE, Cold Fusion, etc.
'web apps'
on
PHP Cookbook
·
· Score: 2, Insightful
One thing I would like to see more PHP books do is to cover the various Security problems that are prevalent in many PHP based web applications.
I think a large part of the problem is that PHP is illsuited for many of the larger web applications it is being used for. Traditional Application Server features such as tag libraries found in JSP, ColdFusion, etc. would be good for separating the 'coders' from the 'presentation designers' in large projects, but that's not pertinent to security.
What gets large PHP web applications like web based mail user agents, like Squirrelmail, and content management systems like PHPNuke is that they have to keep a lot of temporary resources between user actions in a single session. Resources such as open files, sockets, variables in memory, for instance.
PHP's simple engine, and its lack of language features to support these features forces PHP web application developers to build and destroy many of those resources in the life-cycle of the script instead of the life cycle of the application or the user session that is more appropriate.
The larger the application gets, the more difficult it gets to build using the simple 'web scripts' programming paradigm PHP and Perl pushes developers towards. This affects security and performance.
The end result is heavy dependence on databases for variable persistance and error-prone algorithm concoctions, a la PHPNuke et. al.
Helix's licenses have been cleared by the people that help protect the open-source definition http://opensource.org/
By the way they're not giving a client. They're giving us the framework to build the client, and the server, and the encoders. There's no "nagware" unless open source developers choose to put it there.
The problem I suspect is that the helix project is geared to to people that can do something with the source, not end users. Hence most of slashdotters have no idea how this project can help them.
The codec is only a piece of the picture. The container format is very important, and usually what people standardize on. Helix is giving us that and more.
The project was not, I suspect, suppose to be an 'end-user' type project. Note that they did not release any binaries. Helix is a platform.
Helix provides a uniform, client, server, and encoder source base. All open source. All we need to do now is build binaries around that. Industry will much easier pick up a product built on Real's helix, than something managements never heard of.
I'd wager that the legality of MPlayer and xine is questionable. From the dll's they import to the codecs they emulate. Real is giving us something that they own for sure.
This one was definately my favorite. It's the only one I'd actually wear.
My understanding (I may be wrong) is that the way that Microsoft's "managed code" works is that the installer creates a native compile of your application on your computer right when it installs.
I think .NET is just in time compiled, similar to Java.
If what you said is true, we wouldn't be able to copy an executeable from one computer to another. It would have to be installed.
I installed Netscape 7.1, never had to know or do anything about the JVM. Why? Because it has a decent installer. You can't blame Java for problems caused by bad installers.
A developer could wite a Java application, build the '.jar' file, then tell the user "you're on your own". Or that developer can build a platform specific installer that checks for the proper JVM and install it if needed.
There are programs out there that take either approach.
Even if they already have a VM installed, you have to make sure it's the RIGHT VM...
No the application's installer needs to make sure you have the right JVM
(Yeah, MS's fault) and that you don't have a funky enivronment variable munging up your classpaths.
I work with Java frequently, I can't remember the last time I had to set, or find out anything about the CLASSPATH environment variable.
CLASSPATH was an issue maybe *years* ago around Java 1.1, but has has been fixed for a long while. Part of the reason is that nowadays a Java developer can put just about all the resources he/she needs in a '.jar' file, which is a zip file with a meta information. The jar file acts likea mini file hierarchy within a single file, making software distrubution and resolving runtime dependencies easy.
The special 'contact' folder approach is very common. It is what outlook uses, or at least use to use.
Evolution could have a simple 'contact-folder-is-special' switch, or a 'kroupware-support' switch to toggle behavior.
Process is the heart of engineering. There is at least one thing that links civil engineers to electrical engineers to software engineers, it's process. In science to, there's that little matter of reproducibility of results. Having a well defined process is the only way to get there.
I'd argue that if you don't have process, you're hacking. Which is not always a bad thing, but not many people would bet the company, their livelihood on hacking out code.
The company has to be able to adapt to losing a key programmer or manager. Maybe your company has a few guys who really know what they're doing. What guarauntee do you have that the project can survice they living.
I'm not a GPL fantic or anything but...
GPL backers typically don't like the adjective "viral" to be used to describe their work because it has a negative connotation. ie. The set of associations implied by a word in addition to its literal meaning. ( dictionary.com ) To me, that position is very understandable.
There's always more than one way to say what you mean. You can call someone "Stubborn" or you can call them "Strong willed", almost the same thing? Marketing, politicials use this type of thing very often.
In fact 'viral', as an adjective is, I'd say, blatantly demeaning. There is absolutely nothing good about a virus, and that connotation sticks with the adjective.
Would you tell your girlfriend "your love for her is spreading through your system like ebola"? or I love you like flies like sh**?
Both those statements I believe express great unyeilding passion. But it may not go over that way.
+5, Interesting. No proof, no examples. In fact, his only number mentioned is an unverified stat of a very weak metric ( lines of code ). What does he consider a bug?
We are suppose to pour over open irc network logs to check out that assertion? Heck, we don't even read linked articles half the time.
By the way, NIO was introduced in 1.4, IIRC, and is still relatively *new*. Did someone hold a gun to their heads and have them use NIO, ie. Why rush to NIO?
I don't know if you were trying to put down Japanese television, but that "Super Jockey" show idea has me desparately searching for a friend in Japan I can ship a brick too.
It's amazing how this point goes over the heads of many mozilla users.
Most of mozilla's fulltime development team is on AOL's payroll. Even if you don't agree with how AOL does business, we have to understand mozilla wouldn't be anyway close to where it is today without their financial support.
Mozilla needs AOL/Netscape to continue to grow it its current rate.
I shop at musiciansfriend a lot, often drooling over their Martin acoustics.
They very regular have prices approaching 1/2 the MSRP on many products. Often labelled "too low to display".
I'm not plugging muscian's friend, its just that the original poster may not have been lying when they gave the $500 price on the software, that may be the MSRP.
Java's not perfect, I agree. Far for from it. But it does do some things well. Java having only a single language frontend, decreasing programmer choice, but lowers the cost of software development for Java programmers in the long run. At least that's the argument. I'm guessing the market will decide soon enough.
.NETs entry into the market is a good thing for Java developers, because it means competition. The JCP will have to address the issue of features of .NET that the market ( software developers) may desire. For instance JCP never had a strong reason for separating the Java ByteCode spec from the Java language spec, but market research may force their hand if it concludes that .NET independent CIL ( their intermediate language ) and the resultant language frontend independence is a big selling point.
Consequently I wish the MusicXML link in your sig were up, I'm really interested in MusicXML and its potential.
It's strange, it's usually up. The main MusicXML site is http://recordare.com/xml.html. There you can find a list of commercial and open source MusicXML programs. The day OLGA converts all they tab files to MusicXML and we have a stable OS program to 'render' those files to MIDI and Notation eg. like GuitarPro, I'll be a very very happy amateur guitarist. I'll probably still sound like crap though... :)
then, to justify...
Can you think of even one Java application that you use on your desktop and like?
You're assuming that desktop applications is the only applications being developed. You are incorrect.
Java is a powerful server side development language. Ever heard of J2EE? This is an entire framework, complete with a component protocol, called JavaBeans. Other protocols provided or supported by J2EE allow the J2EE server components ( called containers ) to provide services to the web applications it runs. Or maybe you're heard of JSP, aka Java Server Pages? Which is much like PHP on steriods. An HTML embedded scripting language
J2EE standard has been honored reasonabley well in the industry, with much of the J2EE components built easily moved from one application server to the other.
Right. They also claim to be the first 64bit desktop. Sun, Compaq and a variety of UNIX vendors have been shipping 64bit desktops for years. Frankly the only major vendor that's left to do this, as far as I know, is Microsoft.
That's an arrogant statement, don't you think.
Belittle the people's accomplishment because you're from a bigger country.
Maybe the Niue people could say "American landing on the moon shouldn't count because they have the advantage of being extremely rich"? Sounds silly doesn't it? Well its the same as saying Niue's accomplishment shouldn't count because they're so small.
No kidding. .NET is windows only, written by the same people who wrote the OS. I'm shocked.
if you are developing an app that front-ends on a windows client ( that's pretty much ALL of wall street, given the heavy use of MS-Excel )
I guess the entire server-side market. You know, web services, web-applications, software-as-a-service, deal means nothing? Man I've been wasting my time I guess.
I'm not gonna bother with the rest of the comment. Sounds like a plagarised advert. Care to expand on any of those cool features you mentioned, and how they've helped you?
once's the mono project attains fruition, c# on linux will be the defacto pgmming style - need i say more ?
Yeah, I think you need too.
I suspect Microsoft will tolerate dotGNU, Mono, as long as they see it beneficial to do so. Also, the language and runtime is not much. The true power of .NET and Java is in the wide amount of libraries available to these languages. I really wish the Mono team good like to replicating that in a source compatible manner. It would be no small feat.
Man. Are you lost.
The US is one of the world's largest manufacturers and exporters. Why do you think most large US companies have sales offices all over the world. Think IBM, Microsoft, Oracle. Equipment manufacturers like Caterpillar. Telecom like ATT. All these firms bring in a large amount of money from foreign countries.
Get this straight. The problem is not that small countries rely on the US for handouts. The problem is unfair trade policies that actualy hinder these countries ability to compete.
Policies like demanding they open their markets while protecting yours.
I've been looking for a comprehensive introductory site on the issues facing small economies today.
People don't realize the damage some of thoses corporations do. I bear witness to this issue.
The trade agreement with England put historically challedged lands ( many with little natural resources and independent for only 20 years or so) in favor for a less than 2% of the British banana market specifically. US on behalf of the Dole/Chiquita brought England to the WTO and won. The result today is that some of these islands are losing 3 to 10% of the GDP annually in a trend that economist are saying won't stop soon.
Current administration has turned their backs on this.
Now when those countries turn to opium and marijauna growing to survive, global law enforcement will now spend and order of magnitude more than the approximate $5 million or so the protected banana market was worth.
Protectionism is one thing. But in the global market there are players who can not even begin to compete due the natural disadvantages. Eg. amount of land since some of those countries are under 300 sq. miles big, no oil, or precious metals etc.
I don't believe the current administration's position, ie. 'life's tough' is a suitable response to this issue.
You're assuming the average child watches close to the maximum stated 12 hours. You're also assuming that a child has to have a television at home to watch it. Poor areas, eg. rural Indea for instance, will very often of communal televisions. Plus kids have friends, etc.
You are assuming everyone has the same frame-of-mind/state-of-mind/mental capacity/etc as you. There are people smarter than you, and there are people of less intelligence compared to you.
I think this is a common incorrect assumption. Eg.
You do not represent everyone else, and you may not represent the common person in Bhutan either. Plus, society does have a responsibility, I believe, to make some attempt at protecting the impressionable ( eg. kids, mentally incompetant )from acts expressing moral standards that have been found by that society to be below what they think is appropriate.
Step out of yourself for a minute, and understand that your moral standards, and way of life is not acceptable to everyone else.
I bet you think that none of that tv you watch on television "affects" you, right? Most of us do, and I'd bet we're wrong.
http://gaim.sourceforge.net/win32/index.php
Gaim does AIM, MSN, Yahoo, Jabber, and a bunch of others. Check it out.
Sessions, according to PHP can't store resources bound to the server, eg. open sockets, because the session isn't bound to a single server instance but many resources are, at the OS level( please correct me if I'm wrong, that functionality would help me optimize much of my PHP code ).
So for the mail user agent example. If the PHP MUA is busy, it can't just keep say 5 connections open to the IMAP server and have a IMAPConnectionManager object serving those out, and reusing them when user sessions are done. That simple connection pooling would probably speed up Squirrelmail and take some load of the IMAP server.
Another thing this brings to mind is component techniques. Having object hanging around in 'Application space' encourages a lot of reuse. Eg. a single instance of ficticious IMAPConnectionManager class independent of all sessions, but available to all user session. A single instance of the 'authenticationObjectFactory' object, for instance, can be available to all user sessions, again managing that resource.
How would you create a *single* object instance that is available to all script instances in PHP?
Many design patterns require this. I don't think this would be missed on small scripts, but web applications that are designed to be scalable, secure benefit from those patterns greatly.
My opinion is that PHP is a great language that's not stepping up to the plate. In the early 90's when everyone use CGI, the web script design was find. Now things are a lot more complex, I believe, and a lot more is expected from web-deployed applications. A few of those features would help PHP coders pitch PHP solutions against the growing popularity of application servers, eg. ASP.NET, JSP/J2EE, Cold Fusion, etc.
I think a large part of the problem is that PHP is illsuited for many of the larger web applications it is being used for. Traditional Application Server features such as tag libraries found in JSP, ColdFusion, etc. would be good for separating the 'coders' from the 'presentation designers' in large projects, but that's not pertinent to security.
What gets large PHP web applications like web based mail user agents, like Squirrelmail, and content management systems like PHPNuke is that they have to keep a lot of temporary resources between user actions in a single session. Resources such as open files, sockets, variables in memory, for instance.
PHP's simple engine, and its lack of language features to support these features forces PHP web application developers to build and destroy many of those resources in the life-cycle of the script instead of the life cycle of the application or the user session that is more appropriate.
The larger the application gets, the more difficult it gets to build using the simple 'web scripts' programming paradigm PHP and Perl pushes developers towards. This affects security and performance.
The end result is heavy dependence on databases for variable persistance and error-prone algorithm concoctions, a la PHPNuke et. al.