YAPC::Europe::2016

Let’s start by saying that I arrived to this year conference just after being touring for two weeks over central Europe with my family. Tired and with acute homesickness. Besides that, 2016 has not being one of my best years, crossing what have probably been a middle age crisis, becoming somewhat bored of programming, Perl and of the IT world in general.

But, you know, my company had accepted to send me there, so, well. I went and those are my impressions.

The talks

I didn’t found too many of the talks interesting. This usually happens to me. I have come to accept that after 20 years of Perl programming not many things in YAPC would surprise me, but I think this year it has been worse. Maybe we are becoming complacent.

There are many ways to make a talk useful. It may be educative; or tell you a good history; or share some experience; or be informative, for instance, telling you about the state of the art for some particular topic; or just funny; or emotive; or reflexive; or artistic; or whatever. The thing is that it has to offer the audience something. This year I have been in several talks that wouldn’t even qualify as good themes for a bar conversation.

IMO, it is also quite important that the speaker knows what he is talking about at the required level. I mean, you don’t need to be a p5p regular to give an introductory talk about Perl. But if you want to give a talk about Perl internals, well, maybe then, you actually need to be one of them (update: this is a made-up example, I didn’t attend any internals talk at all!). At least research the matter. Prepare the materials. People have made a great effort in order to come there and be in your audience. Respect them. Be honest.

Finally, please, dear speakers, don’t ramble. It’s OK to have an unstructured talk. But you have to be specific and rigorous.

OK, enough negativity here already, let me go for the good ones…

The good talks

I happens that I have been in most of the talks by my fellow Barcelona/Granada/Madrid Perl Mongers, not because they were my friends, but because actually those were the talks I found most promising in their time slots.

I went to Diego Kuperman’s “Resque to the resque!”, about the queue management library he ported from Ruby to Perl. For me what made that talk interesting was not the software in itself, but the software engineering background, how Diego had used his wisdom to solve his particular problem, the decisions he had taken and the logic behind. Always focusing on solving the problem at hand. Understanding that software is just a mean to get things done.

I went to Jose Luis Martínez (AKA pplu) talk about Paws, the AWS Perl client library. pplu is a first class speaker and his talks are always interesting and nice. But again what I found more interesting there, was not Paws, but pplu himself. How he has appointed himself as the responsible for providing a first class AWS client for Perl. Because somebody had to do it and he knew how and he could. The amount of effort he puts into it and the care he takes to made the module usable by others. The pride he shows for a work well done. pplu is an unsung hero in our community.

I went to the two talks by Rolf Langsdorf (LanX). The first one was about using Emacs to program in Perl. I have already seen LanX researching the topic, on a long PerlMonks thread and after being using Emacs for two decades, I wasn’t expecting to discover too many new things. To my surprise I learned quite a lot.

Regarding the second of LanX talks, about adding macros to Perl 5 and other ways to extend its syntax, well, macros is something I would really like to see working in Perl 5 and LanX is well on the way of getting it done. What amazed me the most in both talks was the explosive blend of both innocence and energy demonstrated by LanX. He has a plan an he knows he is going to get where he wants to.

Then there was JJ Merelo eclectic talk about quantifying creativity. I have to admit that at some points I have no idea what he was talking about. But none the less I found the general idea behind his talk and the results he gets both for fictional texts (his novels) and software projects, astonishing and fascinating.

Ovid is always a safe bet. An exceptional speaker and a really clever guy. Besides his keynote I also went to his talk about when not to use Agile. I had just a mild interest on the matter but enjoyed the talk a lot anyway.

I finished reading Neil Shubin’s book “Your Inner Fish” on my way to Cluj. It describes how life evolved on Earth and how we, humans, become to be what we are and how paleontologist and geneticist have worked together to follow the trail. So I got into Andrew Yates talk about the Ensembl project more than enthusiastic and I really enjoyed it. I consider science one of the mayor attainments of the human race and knowing we are there helping one of the most exciting disciplines move forward, makes me happy. BTW, all of you should read the book!

Sawyer talk on Perl 5.24 was pretty good too. He made a summary of the new features added on latest Perl 5 versions, not just 5.24, what was good because it gave perspective to the matter. It made me realize that perl 5 has been evolving faster and better that what I had in mind.

Finally I would like to cite Choroba talk about its reimplementation of Karel, a programming language from the ‘80 for kids. Having two kids myself I have researched the topic of programming languages for kids several times (nowadays everything seems to point to Scratch which I don’t particular like) but never found about Karel. And in Choroba’s talk I found it quite interesting, and the important thing, likable by children because, if I have understood the concept correctly, it is actually a game where you play programming. So I am keeping an eye on this project.

BTW, this year there were very few talks about Perl 6, and those were mostly introductory. In previous years we have had quite deep technical and interesting talks about perl 6. What happened?

The people

This year I got to meet and talk to lots of people. Really, for me that is the best part of being in a conference!

But then I realized that some ones I expected to see there had not come, and I would like to talk about some of them:

Jonathan Worthington: I have not gotten into Perl 6 too much yet, but for me, Jonathan talks, have been consistently ones of the more remarkable and interesting on past conferences. Because of his deep technical knowledge and his ability to deliver talks making complex concepts understandable, but above all, because it was listening to him (and reading his blog) over the last years that I got to feel comfortable about our future. He make me confident that after so many years of uncertainty a real working, high quality, Perl 6 implementation was going to be a reality (as it finally did). I didn’t get my optimism shot this year, I am craving!

Our Japanese fellows: Last year at Granada, several come and they shown us that there is a big and active Perl community there, which is not very well connected with our Western World one. On the last lighting talks session, Daisuke Maki presentation was completely hilarious and probably the highest point on the full conference. I couldn’t spot any of then this year. And once I think about it, it was not just the Japaneses, it seems to me that this has been the least cultural and racially diverse YAPC::Europe in years.

On a more personal way, I missed my friends Enrique Nell and Joaquin Ferrero, the two guys behind the POD2::ES, a huge and long running effort to translate Perl 5 documentation into Spanish. Two more unsung heroes in or community. I missed them because I enjoy their company, talking with them or just seeing them work. It has been strange been in a YAPC without them around. I hope you can make the next one in Amsterdam, guys!

The raven

Seeing the flocks of raven take over and fly from the rooftops of the near buildings while enjoying a beer on the terrace of the New Croco pizzeria (very close to the conference venue) at sunset was a real spectacle.

The language(s)

Perl 5, Perl 6?

The conclusion I have gotten is that people is starting to play with Perl 6 and actually liking it!!!

Let my rant a bit about my personal view on the matter:

I still think that Perl 5 is a dead end.

p5p is working better than ever, IMO Ricardo Signes has been the best pumpkin since I started following perl5 development more than a decade ago. I am also sure Sawyer is going to keep the bar high. But they are working in a piece of code that’s quite old and that has already been brought much farther than what it was initially expected; keeping backward compatibility is also a heavy load on their backs. There are limitations on what they can attain with a reasonable amount of effort… though I have to admit that sometimes they surprise me doing things I didn’t thought reasonable!

The cost of getting into perl5 internals, the steep learning curve, is also part of the problem. Because at the end, it results in very few hands being available.

Just compare Perl 5 with other popular programming languages (Python, Ruby, JavaScript, etc.), you will see that those languages had been getting mayor new features at a steady pace while perl5 evolution has mostly been limited to syntax sugar additions. You can do your own feature matrix, just think about, for instance: multiple interpreter implementations (native, JVM, .Net, JS); static compilers, JIT compilers, JS transpilers, becoming almost as fast as C; proper exceptions, proper exception handling; generators, iterators, async/await, laziness; coroutines or cheap threads; usable for mobile app development; proper garbage collection; macros; etc.

Perl motto is “There Is More Than One Way To Do It”, but nowadays there are a lot of ways that can not be followed using Perl 5.

Fortunately, now Perl 6/Rakudo is here. It still needs to become a little faster and the documentation is yet quite lacking, I would specifically like to see some good books about Perl 6 published. But anyway, it is here and the important thing, people is liking it. It is a modern, multi-paradigmatic, programming language. And I would like to stress how important the multi-paradigmatic bit is, because that is why we like Perl after all, because it lets you choose how to do things. Being multi-paradigmatic is TMTOWTDI at the high level!

It is also hackable, from top to bottom, you can change its syntax using grammars, or you can implement a new backend (I am not saying it would be easy, just doable) and get it to run on top of say, the CLR, or the Erlang VM for massive concurrency, or whatever.

On Thursday, quite late at night, Matt S. Trout was telling to the few of us remaining there at Enigma terrace, chilled to the bone, how he was planning to start using Perl 6 and Perl 5 combined, taking advantage of the best of both languages, and he had estimated that he was going to be doing that for at least the next five years. And well, that is a lot of time, but it makes sense, he has lots of Perl 5 code he doesn’t want to through away, and in productive environments, 5 years are not so long. You can also look at what happened in the Python world, Python 2 is still being used a lot…

But then I got to thing about that, and no, I don’t think Perl 6 is going to follow that route. Python 3 is a better language than Python 2, but not by too much, probably just barely better. On the other hand, Perl 6 (the language) is massively better than Perl 5. Once people gets to learn it well, and use it for some real projects, and Rakudo (the implementation) gets a bit faster, they would never look back. People would port Perl 5 code and modules into Perl 6 just to avoid having to come back into Perl 5 land again.

Well, at least, that’s what my 8-ball says, just let’s wait a couple of years and see what happens…

The Perl booth or Wendy and Liz

Wendy, Liz, I can’t imagine where you get so much energy, but year after year you are there, and there, and there, in so many places, just supporting our community and making it a much better place for the rest of us. Thank you so much!!!

The organizers

They have been amazing!!!

I haven’t been able to spot any single thing not going as expected. The venue, the food, the dinners, the schedule, the keynotes, the streaming, etc., Everything was great and fantastic.

Amalia, you are amazing, you have been there ensuring every single problem anybody could have was solved, getting involved, and ensuring everything was going to be right. It has been incredible. Your are excellent!

Thank you, thank you, thank you!!!

And finally, myself

Definitively, I enjoyed the conference very much. Even if the talks were a little under my expectations, some of them where quite good and interesting and at the end I got to know and talk to a lot of people and had a great time with all of you.

But I had said at the beginning that I am somewhat bored of programming and Perl, and then that even if I consider Perl 6 the next best thing after sliced bread, I am not getting much into it… well, right, some time ago, I decided I needed to find the fun of programming again, doing something different, so I come back to my roots, getting in shape again programming in Common Lisp, and mixing it with three of my other mayor interests, maths, geometry and art in order to realize a couple of Generative Art ideas that I had been lying on the back of my mind for some time.

I still want to stick to that plan and Perl 6 will have to wait me for some time yet. But hey, what is Perl 6?

Having you noticed? Perl 6 is mostly Lisp with a (funny) syntax!!!

Written on August 28, 2016