![]() |
|
Keep It Simple, Stupid | |
PerlMonks |
YAPC::America::{"$Day1"}by turnstep (Parson) |
on Jun 14, 2001 at 05:36 UTC ( [id://88272]=perlmeditation: print w/replies, xml ) | Need Help?? |
This is my quick notes on day one of the Yet Another Perl Conference in Montreal. The title refers to a new feature of Perl 6, which the opening talk was about. More on that later. Well, Montreal was not close enough to drive, so I ended up flying - a mostly uneventful trip, and arrived at The Montreal airport around 11:30pm Tuesday night. The first thing you notice is that everything in Montreal is in two languages (French and English) but one (French) is definitely preferred. We hopped in a taxi and drove to our hotel. The taxi driver was from Lebanon and spoke broken English, good French, and actually drove fairly well, although with a tendency to think the taxi was one foot narower than it actually was, therefore every car we passed on the right hand side was about 1 mm away. The streets were strangely empty - at least when compared to a typical US city. The hotel check in went smooth, and I quickly connected to the web and got a last minute email that told how to find the hall used for the conference on the McGill campus. Finally off to sleep @ 1:30am. Up at 7, logged in to learn that Larry Wall was "under the weather" and would not be attending after all. :( After breakfast, slightly disappointed but undeterred, I walked to the campus and found the check-in table, got my name badge (which had a mystery 9 digit number underneath my name) and an O'Reilly bag with the abstracts and schedule for both YAPC and TPC. Everyone filed into a large auditorium with small airline-style seats, and waited for Larry's last-minute replacement, the one and only Damian Conway. After a few words by the Quebec PM and the YAS people (thanks to both for arranging YAPC!), Damian took the floor and proceeded to talk about Perl 6 - how it came about, what changes were definitely coming, what things were more tentative, and a very flexible schedule of when Perl 6 might actually hit a usable beta form (October 2002). Perl 6 is going to be very, very different from what you are used to. It was a very funny and entertaining talk. (plus Damian has a really cool (to my ears) accent). Some of the highlights that I remember: Remember when you first learned perl, and wondered why if @array was an array, an element of an array was not simply @array[9] and a hash key %foo{$bar}? Well, in Perl 6, those will work as people might originally assume they well. Each sigil (e.g. $ @ %) will mean exactly what it is supposed to, no more and no less. What's more, the arrow operator is being replaced by the dot (still no agreement on what is going to replace the dot for string concatenation). In other words, $foo->{"bar"} becomes $foo.{$bar} which can also be shortened to $foo{$bar}. Which meshes quite naturally with the "strict sigils" mentioned earlier. Dereferencing happens auto-magically as required. In short:
Some things will horribly break existing perl scripts, such as the fact that system calls will now return success the way everything else in perl does, which means that the code system("foobar") || die; will be the correct way to do it in Perl 6. :) There will be no barewords in Perl 6. Nor will there be typeglobs. The rumors of the diamond operator's demise are greatly exaggerated - it will definitely be in Perl 6, albeit with a slighty different form in some cases. You will see things like this:
time() will return a floating point number, with as much precision as your platform is willing to give. To give it a more "traditional" look, wrap it in an int: int(time()) A switch case is coming, but apparently will not use the words "switch" and "case." The current alternatives are "given" and "when" until someone comes up with something better. Also, the word "local" is looking for a renaming; current candidates include "scratchpad", "temp", "revalue", "temporarily", and many others. Some of these are sharp changes that may be hard to swallow, but as Damian says "Learn to love it!" His notes can be found at http://yetanother.org/damian/talks/Perl6.pdf, although the talk did not exactly follow what is there. I will go try to go over my notes later and fill in the differences more later. After a short break, I attended the talk "CPAN, PPM, and the Future" by Brian Ingerson and Neil Kandalgaonkar. (and a few others). It was an interesting discussion of some of the problems of CPAN, but ran out of time very quickly. Some interesting ideas were put forth, including CPAN@home (testing modules in a distributed manner), CPANTS (testing perl modules automatically), and CPAN run. A BOF session has been promised to continue the discussion. This looks very promising, as the concern about the quality (and safety) of modules is obviously a matter concerning many people. Next up was the Perl Apprentiship "Hour" by Adam Turoff. This was basically people describing some ideas for perl projects that need varying degrees of help, from taking over the project (or module, or website, etc.) completely, to helping out in varying degrees. A quick rundown of the projects (my apologies if I forgot someone's - it's been a long day):
All of the above went very fast, and lasted into the time alloted for lunch. After a great local lunch, I returned to catch MJD again with his excellent "Stolen Secrets of the Wizards of the Ivory Tower" talk. Well, I actually only caught half of it, because I wanted to catch the second half of Abigail's talk on Parse::RecDescent. I think I would have preferred the original talk topic, "Advanced Data Structures", but my mind was on dinner at that point anyway. All in all, a great start to YAPC! I will write more later. If anyone from perlmonks is there, say hi to me tomorrow - I'll be wearing a "shebang" polo shirt and black pants.
Back to
Meditations
|
|