The New Year is the traditional time for stock-taking, predictions and resolutions.
This year most of my resolutions are related to my personal life (which I try to keep off the Internet) more so than my professional life.
My main Perl resolution for the year is to try to get to both YAPC::NA and YAPC::EU this year. If I'm lucky I might be able to toss in OSCON as well and a series of Monger visits and stretch it into a full blown three month "traveling programmer" journey in the style of Paul Erdos and (more recently) Audrey Tang.
As far as my own coding, I've found that my style tends more towards just following where my interest and attention directs me, and trying to define some achievable milestones in which I actually release something.
Well, other than perhaps "Don't neglect CCAN like we neglected JSAN".
Far more interesting for me are predictions for the year ahead.
I could make this easier for myself and less risky by keeping my predictions fairly generic and obvious, like "The US dollar will fall" or "Keynote will still not be available on Windows". But that is no fun.
The Sydney Morning Herald today had its list of "stock pickers" select their 10 "predicted winner" stocks for the year, and amoungst all the interesting and unusual choices, the standout flop was the President of the Australian Psychic Association, who just "psychically" selected the biggest and most dominant company in the 10 biggest industries. Boring!
So to make this interesting here are my highly detailed predictions for 2008.
Perl 6
2008 will be the year in which Perl 6 becomes "real" for mere mortals.
Not necessarily USABLE mind you, but at least accessible. The release in the last few days of the first method for building a "perl6" binary has certain parallels with the very first build of Vanilla Perl.
Over the course of the year, we'll see the "perl6" binary move from an experiment to a supported delivery mechanism, released at the same time as the official parrot source distribution.
The Perl 6 team will initially resist in providing any form of formal label for this binary, but by the end of the year as a Christmas Gift will formally tag a release as "Perl 6 Alpha 1".
2008 is also the year we'll see the first "Perl 6 Distributions" appear. By the end of the year there will be an easily installable Perl 6 Distribution available for Windows, Debian/Ubuntu(deb), RedHat/Fedora(rpm) and FreeBSD.
This activity will spurn new interest in actually writing Perl 6 code "for real" from the parts of the CPAN author community, and as a result we'll see some activity in porting CPAN modules to Perl 6.
This will bog down when we encounter the problem of not having a robust Perl 6 toolchain or a workable 6PAN. This will not be resolved by the end of 2008.
The CPAN
2008 is the year in which the CPAN will stop growing at an exponential rate, and will instead revert to a geometric expansion. Counter to previous expectations, CPAN does not pass 15,000 modules by the end of 2008.
The process of making the CPAN toolchain self-upgrading is completed, which causes a few of toolchain authors to get itchy and release new code that breaks forwards compatibility for older users and causes an OMGIBROKECPAN event.
A number of people spend a good part of the year telling people in mailing lists, IRC and real life to update their Bundle::CPAN so they can get the auto-updating toolchain.
2008 is also the year that the CPAN web service cloud will go Web 2.0, and demand for JSON interfaces to all of the main CPAN websites becomes overwhelming by the end of the year.
This, ironically, spurns new interest in the JSAN.
Some time during 2008, still lacking a simple sane way to add JSON support, someone other than me writes JSON::Tiny to universal applause, rather than the usual mix of applause and controversy.
They claim they were inspired to do it because they saw that I mentioned it in my 2008 predictions.
As Strawberry/Chocolate Perl make progress towards a stable base for building Wx applications, 2008 is the year that desktop GUI applications that people will actually use start to appear on CPAN, driven in particular by Win32 Perl hackers addicted to GUIs.
Perl 5
With the huge splash of Perl 5.10.0 out the way, nothing of any consequence will happen to Perl 5 in 2008 at a language level.
RedHat will screw up the packaging of Perl 5.10 for RedHat Enterprise Linux. Nobody will be in the least bit surprised.
Debian will not include Perl 5.10 in stable. Nobody will be in the least bit surprised.
Faced with the chance to start regularly using the "say" function, the gloss will start to wear off and a debate will start on the Perl 6 language list on removing it from Perl 6.
The previous statement about "say" will unfortunately prove to be pure wishful thinking on my part, and nothing of the sort will happen despite my deepest desires to see it.
Economics
The oil price exceeds US $100 a barrel and stays there, despite continuous assurances that oil prices are expected to fall.
With humans now competing with robots (and cars and such) for fuel, food prices rise by a large enough amount across the board to cause upset to the poor in many countries.
There will be food price protests (focusing on low-processed staple foods like bread and rice) in more than 5 western countries, and food price riots in more than 5 poor countries.
Google announces they will go carbon neutral and fully offset their CO2 emissions. Google stocks fall (slightly) on the news.
Apple releases a string of blockbuster new products in the eyes of the Mac faithful, but nothing particularly amazing in the eyes of anyone else. Regardless, Apple remains a media darling as the iPhone becomes available in more markets and as new Apple Store openings take place.
By the end of the year, an iPhone firmware release manages to defeat all jailbreak methods that don't involve hardware, and Apple releases clones of at least 3 popular jailbreak iPhone apps.
Indian newspapers increasingly speak about an "outsourcing crisis" as the falling US dollar and rising employee costs make the outsourcing overheads increasingly difficult to overcome.
The US economy goes into technical recession, but despite this it turns out to be a remarkably good year for getting a programming job in the US (even if your money is worth less).
Re:See you in Kopenhagen?
Alias on 2008-01-02T03:45:59
Because it sacrifices meaning and intuitiveness for a relatively small huffman advantage, mainly relevant only to people writing lots of console apps that print to stdout.
Re:See you in Kopenhagen?
chromatic on 2008-01-02T05:20:23
Illegal procedure, user number #5735, use of the word "intuitive" to describe programming languages. 15 yard penalty. Repeat the down.
Re:See you in Kopenhagen?
Alias on 2008-01-02T07:03:17
I see your jingoism and demand an appeal to the third umpire.
Wikipedia: Intuition (knowledge) - understanding without apparent effort
"Intuitive" is a perfectly proper concept to use, with the understanding that all intuitiveness is relative. A programming language is no more special than any other tool in this regards.
The concept of universal intuitiveness is of course wrong when applied to programming languages.
But people likely to encounter "say" come from 4 states across 2 dimensions.
1. People that know English, or don't
2. People that know other programming languages, or not.
If you don't know English, and you don't know programming languages, "say" is better than "printf", as only the huffman advantage is relative. But neither is intuitive.
For someone that knows English but not programming languages, printf at least contains a recognizable word, complicated by the weird "f". But you can see that in the console sense it is relatively straight forward analogy, as it is printing characters to a surface.
But "say"? I imagine (if I didn't understand how complicated it would normally be to implement) I would initially expect it to maybe invoke a text to speech engine and literally "say" my line.
say "Of course intuitive is a valid concept";
If you already know other programming languages (including Perl 5) then you recognize "printf" immediately. Say is going to be totally different to anything you have already seen, and they are TOTALLY unrelated...
"say is print but with an extra newline"
Huh?
And if you know English AND programming languages, it doesn't make sense on both aspects.Re:See you in Kopenhagen?
sir_lichtkind on 2008-01-02T13:02:37
allright i see the problem that people read the word say and do not really know what it does exactly, even if i believe i don't get your point fully. i think at least it's a lot better then ruby puts:).
And to be honest, to me it makes intuitively perfectly sense. because printing do machines. they do it correctly, like told without adding something. but people say things with pauses sound in the voice so you can here where is a period or end of a thought. like the bubbles in comics. and tha first thing that comes to my mind to illustrate that conveniently into STDOUT is "\n".
allright syntax is debatable but semantics of this is really good since it removes a lot of quoting.Re:See you in Kopenhagen?
sigzero on 2008-01-02T12:40:38
They could have just named it "println" or something but what is the fun in that?
Well you're welcome to come and pay Birmingham.pm a visit. Before or after any of the conferences. We'd even be willing to be your warm up crowd for any of your presentations too
All of which reminds me I need to sort out the 2008 Birmingham.pm World Tour!
Re:The Alias Tour
Alias on 2008-01-02T22:10:29
If a tour happens the likely plan is YAPC::NA -> mongers and hosts in the US -> OSCON -> mongers and hosts in europe -> YAPC::EU -> home.
So it might be a bit late for the warm-up crowd:)
But I'll surely add you to the list.