On Sat, Feb 7, 2015 at 11:11 PM, Andrea Faulds <a...@ajf.me> wrote:
> Hi,
>
>> On 7 Feb 2015, at 22:03, Pavel Kouřil <pajou...@gmail.com> wrote:
>>
>>
>> Yeah, but you say in the RFC that "With this approach, an argument is
>> only accepted if its type is exactly the same as the parameter." when
>> speaking about C# and Java - which is NOT true.
>
> C# and Java aren’t really considered weakly-typed. Technically they’re not 
> “fully strict” I guess, but if you were to give example of strictly-typed 
> languages, you’d probably include C# and Java in that list - so I did.

C# and Java definitely aren't weakly typed. I never said they are
though? Also, is there a real difference between strict and strong?
Because C# refers to itself as a strongly typed, but you use "strict
typing" everytime you speak about strong typing?

>
> It might be somewhat misleading. Really, what’s “weak” and what’s “strict” is 
> rather subjective: C is sometimes considered weak, sometimes strict. I’d say 
> it’s more “weak” because all sorts of definitely wrong conversions are 
> allowed implicitly and merely generate warnings. C# and Java are more careful 
> here, so I’d say they’re “strict” even though I suppose they do have a degree 
> of weak typing.
>
>> Also, there's no need to mention
>> float -> int, because that one is definitely wrong. But for the int
>> (and long, etc) -> float (and double) - how do the languages you
>> mentioned in the RFC handle that conversion?
>
> From Microsoft’s documentation that you linked, it sounds like they just 
> always convert and never error, so you’d get data loss in some cases (just 
> like you do in PHP with an explicit cast).
>
> I am familiar with other languages, I just disagree with their approach.
>

It's not somewhat misleading, it's 100% misleading - because you state
that it acts like in Java and C#, but it doesn't. Also, are there any
strongly typed language that implement strong/strict typing the way
you want to do it in PHP?

>> And as I said myself
>> multiple times in the past, the declare syntax IS just ugly (and
>> changing how code works by writing one line is an ugly principle as
>> well, IMHO). :(
>
> I prefer this approach to the inconsistency the other approaches suggested 
> thus far lead to.
>

The thing is, you cannot please everyone. When you try to please
anyone, you usally end up with something that has flaws for everyone
to some degree. :(

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to