Re: Woah

From: Date: Sat, 08 Sep 2001 13:40:43 +0000
Subject: Re: Woah
References: 1 2 3 4  Groups: php.dev 
Request: Send a blank email to php-dev+get-65466@lists.php.net to get a copy of this message
At 16:28 08-09-01, Rodent of Unusual Size wrote:
This sort of argument keeps coming up, but Zeev is the lucky one who sets me off.. :-) People are very free to speak about what *others* expect. Unless you are one of them, or have concrete evidence, then such remarks are nothing more than speculation, and the electrons that conveyed them are already doing other things. :-) For instance: Zeev, did you come to PHP from C?
Yes
Did/do you use gettext in other languages?
No
If the answer to the latter, at least, is 'no' then I think the experience of people like Rasmus and Chuck -- who *do* use gettext a lot, and in other languages -- carries a helluva lot more weight than your speculation and that of other non-gettext-users.
I respectfully disagree. The issue here isn't about people who use gettext. It's about those who don't. And to determine that _() breaks readability of code, *other people's code* that you (a general you, not you in person) will have to maintain, I don't have to be a gettext user. On the contrary, the fact I (or Joey, for that matter) came across code with _() which confused me completely, is exactly the reason why the statements of those who know&use gettext carries less weight. Fact - there are lots of obscure features in many different language. Assumption - the people who added these features believed them to be useful and not to be obscure, otherwise, they wouldn't have added them. Moral - the obscurity of such a feature should be determined by the general public, and *NOT* by the ones who use it.
Inconveniencing your long-time users in the name of language purity is, IMHO, just plain stupid.
To keep us from spiraling down the drain, I'll leave that one unanswered :)
I'm not sure why you're failing to see the fundamental difference between a function that is complex and perhaps requires prior knowledge, and an entry that obscures the *namespace* of PHP. And I personally am not sure why the 'get rid of "_"' faction is failing to see that doing so would be a language REGRESSION, not a step forward. Please tell me of some examples in other languages in which long-time warts with thousands of users have been removed in later versions in the name of 'language purity.' If you can name some, cool; I will be less ignorant, and might reconsider my position. Otherwise, d'you think PHP should be *that* kind of groundbreaker? :-)
I wouldn't say PHP is a ground breaker in that front, but it certainly suffered from a huge legacy of badly named functions in comparison to other languages. I thought we were trying to do something about it, slowly but surely. If a small faction of gettext users can end up leaving the mother-of-all-obscure names in the language, I really don't know why we bother.
Look, I think there is no question that removing '_()' is going to BREAK some users. I do not see how anyone can consider that a Good Thing. I suggest that it be left in, and documented more clearly, and the documentation updated to say 'the use of gettext() is highly recommended and preferred over that of _()'.
Did you look at the deprecation method I suggested? Deprecating functions is something that we did in the past, and it's a slow process that tries to be as harmless as possible. It's not about starting up vi on gettext.c, nuking that alias and committing. The problem with this whole discussion is that people are mixing two issues: (a) Is it an ok thing that _() is a PHP function (b) What can we do about removing it Note, that most of the people who argued on php-dev argued about (a), for all sorts of different reasons. Sorry, I just don't buy that. I think you're the only one who argued about the practicality of removing it (b). If we agree that _() is wrong (a), then we can discuss what can be done about what can be done to fix it (b). Perhaps we'll come to the conclusion that nothing can be done, but considering we've already deprecated functions in the past (yes, in the name of language namespace cleanliness!) and we plan to do so in the future, I find this very unlikely. Zeev

« previous php.dev (#65466) next »