> From: Kris Craig [mailto:kris.cr...@gmail.com] > > I actually agree as well. Looking back in the thread, I think my overly > broad use of the word "strict" might have led to some confusion over what > I'm advocating.
Honestly, this is the biggest problem that the typing debates have had. Someone advocates "strict typing" when they really mean "weak typing" (as opposed to the current "dynamic typing") but there's always a group of people that assume they mean "strict strict strict typing like the old C days". People then panic and get frustrated because the plethora of problems with adding this level of restriction to PHP have already been discussed extensively. Discussion then devolves into denigration and then finally disintegrates completely. If we can agree on some basic terminology I think it would move things forward considerably. I propose these terms: - "Strict Typing" means the super strict old C style typing that has been proven to be ridiculous in this environment because of the obvious problems inherent in the fact that almost every input is a string. - "Weak Typing" means types in the same sense that the PHP documentation uses types (for example, the docs indicate substr(string, integer), and substr(12345, "2") == "345".) - "No Scalar Typing" should be used to indicate the current system (where there is no provision for hinting at scalar types.) In addition, if someone potentially new expresses support for "Strict Typing", let's assume that they really mean weak typing unless proven otherwise (this is by far the more likely intent.) Politely clarify terminology so that everyone can be on the same page. If someone still insists that they want "Strict Typing", point them to the prior discussions on the topic which explain exactly what the problems with this are. It might be wise to maintain a wiki article to keep track of the 3 different levels of typing, as well as a summary of the typical arguments pro and con for each of the 3. If people agree that this would be helpful, I'm willing to dig through the archives and try to put this together. John Crenshaw Priacta, Inc.