Inline, we go....

--Kris


On Sat, Feb 25, 2012 at 4:54 PM, Stas Malyshev <smalys...@sugarcrm.com>wrote:

> Hi!
>
>
>  I'm well aware that this has been discussed before, Stas.  However,
>> you're mischaracterizing those previous conversations.  It has never
>> been proven that optional strict typing doesn't work.  You've made the
>> same arguments against it, but those arguments have counter-arguments
>> that are also viable.
>>
>
> I'm not sure what you mean by "proven". You expect rigorous mathematical
> proof? You're not getting one. If you have something new to say with regard
> to the arguments that were brought up 10 times already - ok, go ahead. But
> please read them first.


Another logical fallacy.  Cognitive dissonance.  Either there is "rigorous
mathematical proof" or a statement is completely unproven (and/or cannot be
proven).

In fact, you haven't proven your point by any standard, rigorous or
otherwise.  There is no basis for suggesting that it cannot be done.
 You've clearly stated that you don't think it *should* be done, but you
haven't viably demonstrated that it *can't* be done, or that it would
"break" PHP as we know it.


>
>  people keep asking for it.  It keeps coming up because, despite
>> belittling and dismissive comments made by yourself and a few others,
>> people continue to see that there is, in fact, a valid argument for
>> implementing this.  It shows that you have never been able to convince
>> those who don't already agree with you that this is impossible.
>>
>
> Or it's coming up because people don't bother to read past discussions and
> think they are first who thought "let's put strict typing in PHP" and only
> reason why it's not there because nobody was smart enough to think about
> it. It's not so. It was repeatedly discussed and rediscussed. If you have
> new argument - fine, we'd all be happy to hear it. So far I didn't hear one
> though. Please let us hear it.


No, it's coming up because people have read these past discussions and
still think it's a reasonable goal that deserves further consideration.
 Your assumption that anyone who disagrees with you must not have read or
even be aware of the existence of previous threads on this topic is a good
example of your arrogant belittling of and disrespect toward them.

Your premise seems to rely on the notion that, since this was previously
discussed but not implemented, this idea was resoundingly rejected.  On the
contrary, it looks to me more like it either fizzled or was punted each
time, but no consensus was ever reached.  Therefore, further discussion is
warranted.  The fact that this was discussed previously does not make this
topic any less legitimate.


>
>  remotely like that.  On the contrary, the PHP language would remain
>> largely unchanged; we'd merely be adding a new element to it.
>>
>
> It doesn't work that way. Language is a complex construct, with all parts
> influencing each other, thinking you can just add strict typing somewhere
> in the corner and nothing changes is a dangerous illusion. It would not
> work. If you type function arguments, you should also type all the
> variables that could end up as the function arguments, all the functions
> returning into those arguments and all the operators and functions that do
> any transformations over those things. Otherwise it is guaranteed to blow
> up in runtime. After doing that, you've got yourself a strictly typed
> language. Absent compiler, though, such language would be quite hard to
> operate - how do you know your code correctly uses all the types some
> library wants? How do you know next version doesn't change any types
> without you noticing? etc., etc.


You're operating on a number of unfounded assumptions here (a "house of
cards" if you will).  First, nobody is saying that this wouldn't be a
significant undertaking at the core development level.  We all agree that
it would be.  However, you're once again introducing cognitive dissonance
into this.  The same logic you're using could be used to say that solid OO
classes shouldn't be implemented because it would then render procedural
scripting impossible.  After all, "all parts influence each other," as you
put it.  However, everything didn't blow up when PHP 5 was released.
 People can still write purely procedural code just like they did before.

Language is complex, yes; but it is also flexible.  We've already discussed
previously in this thread how these interactions between strinct and
dynamic functions could take place.

So, your argument that this would be "guaranteed to blow up in runtime" and
that, therefore, we would be stuck with a purely strict-typed language is
based on a faulty premise.  The house of cards collapses.

Don't get me wrong; there are plenty of fine details that would need to be
figured out.  But again, complexity != impossibility.  It can be done, and
it can be done in a way that won't cause the world to come to an end.

>
>
>  Furthermore, I have spoken to numerous people who have complained about
>> PHP code being overly bulky and/or difficult to read due to its
>> mandatory dynamic typing.  Your counter-argument to that was,
>>
>
> I think these people are mistaken. PHP code, as in any language, may be
> well written or purely written, however this has nothing to do with dynamic
> typing. There are dynamically and statically typed languages, both have
> their uses. Static typing is well fit for compiled languages since
> compiling allows pre-execution type control and thus ensures no surprises
> in runtime.
> If you would like to explain yourself more in detail and specifically
> describe which code is "bulky and hard to read" due to dynamic typing -
> please do so.


PHP may not be compiled, but it does plenty of "pre-runtime" sanity checks.
 That's when things like parse errors are caught.

As for an example, please refer to earlier posts on this thread, as that
has already been provided.


>
>
>  essentially, "Yeah, well they're all stupid!"  No, they're not.  They
>>
>
> If you're going to distort my words and assign me things that I never said
> I would just stop this discussion and instead will silently delete
> everything you send. No sane discussion can be held in this manner, so
> please show respect to yourself and everybody participating and never do
> this again.


 You should re-read your statements before you accuse others of distorting
them.  Here's the exact quote of what you said:

"If somebody finds PHP much more difficult to read than C++, well, he
obviously has a very different concept of reading than the rest of the
humankind."

In other words, anyone who think PHP is harder to read is obviously not as
smart as the rest of the human race (at least when it comes to reading
comprehension).  So yes, you were basically saying that these people are
stupid.  You've been consistently belittling those who disagree with you,
like accusing all of them of being ignorant of previous threads on this
topic, etc.

I stand by what I said.  Much of your rhetoric consists of you looking down
your nose at everyone who disagrees with you.  Don't dish it out of you
can't take it.  ;P


>
>  And again, you're using the, "If you don't like PHP, then get the hell
>> out and use a different language," argument (i.e. "If one needs strict
>> typed compiled language, one knows where to find plenty of them.").  As
>> I said in a previous post, that argument carries ZERO weight with me,
>> and I'm not the only one who feels that way.
>>
>
> PHP is built on a certain principles, and people that build and maintain
> PHP would like to continue developing it along these principles. You think
> the proper language should be based on different set of principles - it is
> your right, however this language would not be PHP. There's nothing wrong
> with that, and pointing out that fact is not "dismissive". It is just a
> reminder that each language should have some principles. If you want to
> discuss why these principles are there - fine, but I mus warn you that it
> is rather unlikely that these principles will be thrown out and replaced
> with entirely new ones.


Another logical fallacy.  You're attempting to redefine the debate on the
grounds that mandatory dynamic typing is one of the founding "principles"
that PHP stnads for, even though you have zero basis for making that claim
other than the fact that PHP in its current form does not support strict
typing (that same argument could be used to reject any new feature to PHP
that touches the language).  That would be like saying that English is no
longer English because we've added some new words to the dictionary and
modified some of the grammar rules (Oxford Comma, anyone?).

So no, we're not talking about turning PHP into a different language.
 We're not tearing everything down and starting from scratch.  Hell, what
we're talking about wouldn't even break compatibility with existing
scripts!  This sort of radical hyperbole does not justify being dismissive
of those who are making a legitimate argument that you happen to disagree
with.  It's not constructive, and it's probably hyperbole like this that
makes people less likely to continue discussion threads on this topic.
 After all, I'm sure nobody here would like the idea of being seen as
trying to "kill PHP".


>
>
>  should be discussed.  So let's drop the arrogant, "We've already talked
>> about this stupid thing before," crap right here and now because it's
>> not going to change anything.
>>
>
> I would also ask you to please amend your tone and avoid name-calling,
> swearing and otherwise rude expressions on the list. I understand that some
> topics can make one passionate, however I think remaining within the bounds
> of polite and civilized tone of discussion is not too much to ask.


What name-calling, exactly?  The word "arrogant" is an adjective, not a
noun.

It sounds like you're trying to imploy the old, "I'm rubber, you're glue"
approach; i.e. hoping to cancel-out my criticism of your disrespectful tone
by repeated the same accusation toward me.  I could then counter with the
classic, "Well you started it!" but that wouldn't serve any purpose, now
would it?

Like I said before, if you are dismissive and disrespectful of the other
side, they in turn will develop a more hostile tone toward you.  It's basic
human nature and perfectly understandable.  If you've suddenly come around
and decided you want to have a respectful conversation, I'm all for it!
 But you need to take responsibility for your own attitude and remember
that the opinions of those who disagree with you are no less valid than
your own.

I'd really prefer that this thread not devolve into a cliche flame war.
 That's probably what killed some of the past discussions.  However, we've
procrastinated on this long enough IMHO.  These extremely prevelent
concerns are not going to just "go away" and ignoring them or belittling
them won't change that.  The status quo is rarely a blueprint for
perfection.  =)

--Kris


> --
> Stanislav Malyshev, Software Architect
> SugarCRM: http://www.sugarcrm.com/
> (408)454-6900 ext. 227
>

Reply via email to