Moscow.pm at the office of Mail.Ru Group: about Play Perl and the prejudices of Perl programmers

    On April 4, we opened the doors of our office to a meeting of the Moscow.pm community of Moscow Perl programmers.

    At the meeting, the programmer of the Money Mail.Ru project Elena Shishkina, Vladimir Perepelitsa, project manager for the Mail.Ru Mail project, and the developer of Yandex blog search, Vyacheslav Matyukhin, spoke.


    Moscow.pm is a member of the global Perl Mongers Association, which has over two hundred communities around the world. They all maintain relationships with each other, strive to create comfortable conditions for the professional growth of their participants, implement joint projects and share ideas. Technical offline meetings take place every 2-3 months. At meetings, developers share their experiences and successful discoveries in using Perl.

    Elena Shishkina , who spoke first, spoke abouthow to modify the dynamic code symbol table at runtime . This topic is covered in many sources, but it is not always clear how to put it into practice. Elena's report was devoted specifically to the practical aspects of code generation. “A report on bicycles that you can invent if you really want to,” as Elena herself determined it.



    In particular, the situation was examined in detail when you need to write repeating code, for example, class constructors. The need to write such code manually is annoying for many. In addition, this is a loss of time, the possibility of errors due to carelessness and the complexity of maintenance. The solution may be to use third-party codes, sometimes very convenient. However, their use is also associated with a number of problems. In particular, they may contain errors in implementation. In addition, the feasibility of using a third-party module on the site must be proved, control over the code is reduced, the system and use blocks are littered in the code, and other no less 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 routines, eval and changing the symbol table. She talked about other ways from her experience: on-demand generation, 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 a to-do list designed for Perl developers with game elements + social network. Here they post their ideas and tasks and compete in their execution, accumulating points. In a friend, you can chat and leave your comments on the work of friends.



    Vyacheslav criticized well-known tools such as GitHub, Trello and Asana for their 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 suggests encouraging users of social networks to action, that is, optimizing the number of useful things - 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 was guided by the same principles at creation of Play Perl.

    The meeting ended with a report by Vladimir Perepelitsa with the intriguing title “Do not trust anyone, or develop effective applications”in which he shared the secrets of how to write really fast code.



    Vladimir spoke not so much about techniques and techniques, but about the basic principles that guide his work. Clearly and beautifully formulated and meaningful 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 misunderstanding of the processes ”,“ Do not use without studying. Do not use without understanding. " “Do not believe in prejudice. They took shape under other circumstances. ”

    Among the prejudices debunked by him, which are often encountered among Perl developers, there were, for example, “Preliminary optimization is evil!”, “Do not save on matches - you need to write convenient code”, “The compiler is smarter”, “C is faster, than Perl. " Each of these statements can be either true or false depending on the situation, Vladimir said and reinforced his conviction with many good and bad examples.

    The meeting turned out to be eventful, and the discussion of what was heard was sometimes no less exciting than the reports themselves. In general, we have been organizing and hosting IT meetings, conferences and other events for a long time, and we plan to do this even more often (especially since we recently moved to a new office, where there are even more halls, screens and ottomans for this). Our next meeting will be held on July 4, and we will be very glad 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 that lacks a venue, unsubscribe in the comments!

    Also popular now: