Howdy all,
I work at a company with about 8 programmers, and after some discussion
we decided the following would be nice to add to the language:
W1: Type hints. It'd be nice if you could mark a variable as string or
int, so that if we set an int to "foozle" a warning will be raised. Of
course type hints shouldn't be required, but it'd be nice if we could
use them where we want. Before any one tries to suggest it: No, we will
not create an object for integers and one for strings.
W2: Lexical scoping. It'd be nice if we didn't have to worry about
variables within a function conflicting. Any sort of code block-level
scoping would be nice. Consider something like Perl's my() operator. At
the very least, it'd be nice to be able to lexically close iteration
variables used in loops.
W3: Arrays and associative arrays - not some screwed up, problematic
hybrid. We consider this to be a major flaw. Arrays should be arrays,
associative arrays should be associative. This is especially problematic
in reporting applications we develop.
W4: Better lambda/anonymous functions and debugging for them. Consider
Perl's anonymous functions which disappear as the references to them
disappear. See the create_function() docs for notes about "memory
leaks." Although they aren't really memory leaks, and there are simple
work arounds, this behavior is rather sucky. Also, if I have something like:
15: array_map(create_function('$a','
echo $a;
echo "\n";
ad934k33;;;asd!
'
), $list)
I'll get an error about a lambda function line 3 at line 15 of
script.php. It'd be nice if it told me it was on line 18 of script.php.
Of course, this is wishful thinking. Perl has two forms of eval: string
and block. For string evaluations with errors it tells me that the error
occurred at line 3 of eval'ed code, but for block evals, it would tell
me line 18... just something to think about.
Regarding Rasmus' first post, I am:
+1 removal of register globals
+1 removal of magic_quotes
+1 removal of really old deprecated functions
and have nutral feelings about the rest. I'm happy with whichever
provides the most simplicity and best performance.
- sebastian
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php