Moscow.pm at the Mail.Ru Group office: about Play Perl and the prejudices of Perl programmers
On April 4, we opened the doors of our office for a meeting of the Moscow Perl-programmers Moscow.pm community.
At the meeting, the programmer of the Money Mail.Ru project, Elena Shishkina, the head of the Mail.Ru project in the Mail.Ru project, Vladimir Perepelitsa, and Yandex search engine developer, Vyacheslav Matyukhin, spoke.
Moscow.pm is a member of the worldwide Perl Mongers Association, which has more than two hundred communities worldwide.All of them maintain relationships with each other, strive to create comfortable conditions for the professional growth of their participants, to carry out joint projects and share ideas.Technical offline meetings are held every 2-3 months.At meetings, developers share their experiences and successful discoveries in the use of Perl. ')
Elena Shishkina , who spoke first, talked about how to modify the character table of a dynamic code at run time . This topic is covered in many sources, but it is not always clear how to put this into practice. Elena's report was devoted specifically to the practical aspects of code generation. “A report on bicycles that can be invented, if you really want to,” as Elena herself defined it.
In particular, the situation when it was necessary to write repetitive code, for example, class constructors, was analyzed in detail. The need to write such code manually is annoying to many. In addition, it is a waste of time, the possibility of errors due to carelessness and the complexity of maintenance. The solution may be the use of third-party codes, sometimes very convenient. However, their use is also associated with a number of problems. In particular, they may contain implementation errors. In addition, the expediency of using a third-party module on the site needs to be proved, the control over the code is reduced, the system and blocks of use are littered in the code, and other equally unpleasant things.
As a way out of a difficult situation, Elena Shishkina proposed her own method, which she came to by trial and error. This is the use of code generation runtime methods: redefining subroutines, eval, and changing the symbol table. She told about other methods from her experience: about generation by request, about changing the code of third-party modules on the fly, and much more.
Vyacheslav Matyukhin dedicated his presentation to the capabilities of his Play Perl service, which was launched in the winter of 2013. This is intended for Perl developers to-do list with game elements + social network. Here they spread their ideas and tasks and compete in their execution, accumulating points. In friends you can chat and leave your comments on the work of friends.
Vyacheslav criticized well-known tools, such as GitHub, Trello and Asana, for lack of openness and sociality, as well as for not expanding the circle of users' contacts. Social networks were also criticized for optimizing the number of views, that is, stimulating consumption. Vyacheslav proposes to encourage users of social networks to act, that is, to optimize the number of useful cases - with the help of gamification. All three components: sociality, focus on action and gamification, according to Vyacheslav, should be present in the social networks of the future. He followed these same principles when creating Play Perl.
The meeting was completed by the report of Vladimir Perepelitsa with the intriguing title “Do not trust anyone, or the development of effective applications,” in which he shared the secrets of how to write really fast code.
Vladimir told not so much about the techniques and techniques, but about the basic principles that guide the work. Clearly and beautifully formulated and capacious principles can serve as a guide in the work of a specialist of any profile - not just a Perl programmer. For example: “There is no magic. There is a lack of understanding of the processes ”,“ Do not use without studying. Do not use without understanding. ” “Do not believe prejudices. They took shape under other circumstances. ”
Among the prejudices he often denied among Perl developers were, for example, the following: “Pre-optimization is evil!”, “Don't save on matches — you need to write convenient code”, “Compiler is smarter”, “C faster, than perl. " Each of these statements can be both true and incorrect, depending on the situation, Vladimir said and reinforced his conviction with many bad and good examples.
The meeting turned out to be intense, and the discussion of what was heard was sometimes no less fascinating than the reports themselves. In general, we organize and host IT meetings, conferences and other events for a long time, and plan to do this even more often (especially since we recently moved to a new office, where there are even more rooms, screens and ottomans for this). Our next meeting will take place on July 4th , and we will be very happy to see you all. Naturally, such meetings are impossible without speakers - if you have something to talk about, write to Dzirtik . Well, if you know a good event, which lacks the site - unsubscribe in the comments!