in reply to Perl's Bad Ideas
I'd just like to point out that Perl 6 addresses almost every one of these dislikes (and even a few of clintp's favorite things):
The $#var syntaxGone in Perl 6. It becomes @var.end or @var.last (probably the former, though I used the latter in E4).
Ranks right up there with $[Gone in Perl 6. Replaced by an overloaded FETCH method on individual (or classes of) array-like objects.
no commas are allowed after the filehandleAs Dominus explained, using the comma isn't really a viable option. But whitespace as the syntactic marker for indirect objects probably wasn't the best choice either, in hindsight. Hence the use of the colon for that role in Perl 6.
$/, $\, $|, $", and $,Gone in Perl 6. Replaced by methods on individual filehandles.
open FH, $fileGone in Perl 6. Dominus gets his wish; it becomes $fh = open $file.
Implicit conversion of references to strings.(Probably) gone in Perl 6. You'll need to explicitly stringify (using unary _).
v-stringsI don't know if Larry has considered their disposition yet.
pseudohashesGone in Perl 6. And going in Perl 5, for that matter.
$ used on single elements of hashes and arraysGone in Perl 6. Perl 6 variables never change sigils.
<> globbingGone in Perl 6. Use glob.
$;(Probably) gone in Perl 6. Though the functionality might remain (as a per-hash or per-class method).
Symbolic referencesStaying in Perl 6.
Perl's laissez faire approach to OO.Staying in Perl 6. But being augmented by a second, B&D, OO mechanism.
BTW, those who are complaining are, for the most part, neither grinding axes nor bondage freaks. They are generally people with large commercial OO production systems to build, who would prefer not to have to jump through so many hoops to get compile-time checking, declarative attributes, pre- and post-conditions, strong encapsulation, etc. That is, they genuinely need all those valuable, scalable OO tools that Perl 5's laissez faire approach to OO trades off.
Punctuation.Staying in Perl 6. But being simplified (e.g. sigils) and rationalized (e.g. fewer global punctuation vars).
Built-in networking and IPC functionsStaying in Perl 6. But becoming automagically loaded when used rather than bloating the core. (Hey, you want to be able to run perl on your Palm Pilot, don't you? ;-)
eval $stringStaying in Perl 6.
GlobsGone in Perl 6. Every symbol has its own entry in some symbol table.
package variables.Staying in Perl 6. And augmented by a third storage type: truly global variables.
localStaying in Perl 6. Though the name isn't, since it just confuses people.
Punctuation variable names.Staying in Perl 6. Though there will be fewer of them, and they'll be lexicals, not globals.
The entire approach to sockets in perlI don't know Larry's thinking on this as regards Perl 6, except that the socket functions will also be autoloaded on demand, rather than mooching around the core. The interface certainly could do with some additional Perlification though...and some documenting.
chopVery probably gone in Perl 6.
chompPossibly gone (as an independent function) in Perl 6. But Yuckfoo's wish is certainly granted: filehandles will be able to autochomp.
scalar @varEvolving in Perl 6. Only returns the count in numerical contexts (but use of explicit @var.length encouraged instead). In non-specific scalar contexts, returns a reference to the array.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Perl 6 will make amends (was:Perl's Bad Ideas)
by shotgunefx (Parson) on Apr 07, 2002 at 02:01 UTC | |
by TheDamian (Vicar) on Apr 07, 2002 at 21:24 UTC | |
by shotgunefx (Parson) on Apr 07, 2002 at 21:35 UTC | |
by TheDamian (Vicar) on Apr 07, 2002 at 21:50 UTC | |
by shotgunefx (Parson) on Apr 07, 2002 at 22:12 UTC | |
| |
|
Re: Perl 6 will make amends (was:Perl's Bad Ideas)
by clintp (Curate) on Apr 07, 2002 at 04:03 UTC | |
by TheDamian (Vicar) on Apr 07, 2002 at 21:44 UTC | |
|
Re: Perl 6 will make amends (was:Perl's Bad Ideas)
by demerphq (Chancellor) on Apr 15, 2002 at 14:43 UTC |