Why do you have to be afraid of the programming language Perl 6? ... or not.

*** German version below ***

In life or professional life, there are cycles of learning by starting over again or at least partially. If you are a good Perl 5 developer and you start Perl 6, you start again as a beginner. In my professional life, these cycles have never been longer than 7 years. That's why I'm not afraid of Perl 6.

Perl is being developed by community. So I do not need to worry about Perl disappearing from the market with the bankruptcy of a company at short notice. The community also has disadvantages, especially in marketing. The programming language Perl is strongly undervalued by the public.

Someone once told me that the Perl developers are such cool people, so down to earth. Then I considered how to come to such a statement. Somehow it is already correct. When I attend the conferences, it's about sharing experiences and not just company X's presentation. Company X can also give a talk about their own project. Afterwards they may even get negative feedback. But in any case that is constructive and helpful. This is a form of willingness to learn, so a positive trait. Customers of the company X can therefore trust that the product of this company will be continuously improved. Exactly that happened during a lecture of a sponsor at the workshop in Gummersbach. I think both sides have benefited a lot from each other. There is another point that I see. Perl is a "glue language" and Perl 6 is even more "glue" than Perl 5 ever was. Perl programmers do not claim to port everything when there are good libraries or modules in other programming languages. You just tie everything together and that has become much easier with Perl 6 than with Perl 5. "Glue" is a smart business decision, because porting costs working time and generates new faults. Ported is only for added value and not just to be "clean". This "clean" or unification in my experience has always something to do with overconfidence and subsequent wild growth and then no one wants to maintain. Why is Linux so successful? Because it's made up of small manageable tools, which in networking becomes something very big. The programming language every single tool was implemented does not interest the user at all. The main thing is that it works.

It is said that Perl 5 is being actively developed. But that only means that Perl 5 can be made more stable and somewhat more modern. Basically architecture can not change because of backward compatibility. This is an important key feature for Perl 5 or for Perl in general. At Perl, I've always found the major releases to be like a new programming language. At least as far as I can tell from Perl 4 to Perl 6. About the time before, I do not know. That's why Perl 6 is for me the logical consequence of progress. The convulsive adherence to Perl 5, just not to have to learn or to maintain his status, so is rather negative, even for the development of the person himself.

What I like about Perl 6 is that Perl 5 still plays a role. It is being worked on Perl 6 to execute Perl 5 code directly. Some special cases like concurrency are excluded. Perl 4 code also runs in Perl 5, so Perl 5 code should also be able to run in Perl 6. So you want to continue the Perl idea, that the business does not loose its once developed solutions, just because you install a recent version on newer systems. You can renew code, but you do not have to do it necessarily. For security reasons, I can work with the latest version of Perl without disturbing the development process of the company.

There are contests on the Internet looking for solutions to specific tasks. The solutions of the various programming languages are sometimes similar or very different. You can see that the amount of code lines differs. It is always striking with Perl 6 that the code is much shorter in comparison and one sees the solution to the problem exactly. In some other programming language you can hardly recognize it in the noise. When I think back to my beginnings with Perl when I was writing my first CGI program. I bought a book with 3 programming languages ​​in it to help me solve it. I do not remember which. Anyway, for me, Perl was the clearest way to do that. So I decided for Perl at that time without knowing one of the 3 possibilities in advance.

Whenever I go to conferences, I learn a little more Perl 6 again or I get new impetus to keep going. These are cycles, because there are always problems where I hang alone somewhere. I know that I am the problem and not Perl 6 but sometimes this inexperience is already frustrating.

The quote "Learn, learn and learn again" by Vladimir Ilyich Lenin is still the right way to reach the goal, even if the man has long been dead.

*** German version ***

Warum muss man Angst vor der Programmiersprache Perl 6 haben? ... oder warum nicht.

Im Leben oder Berufsleben gibt es Zyklen des Lernens, indem man immer wieder von vorn anfängt oder mindestens teilweise. Wenn man ein guter Perl 5 Entwickler ist und man Perl 6 beginnt, fängt man wieder als Anfänger an. In meinem Berufsleben waren diese Zyklen bisher nie länger als 7 Jahre. Deswegen habe ich vor Perl 6 auch keine Angst.

Perl wird in der Community entwickelt und deswegen brauche ich auch keine Angst haben, dass Perl mit dem Konkurs einer Firma kurzfristig vom Markt verschwindet. Die Community hat zwar auch Nachteile, vor allem merkt man das beim Marketing. Die Programmiersprache Perl ist in der Öffentlichkeit dadurch stark unterbewertet.

Mir hat mal jemand gesagt, die Perl Entwickler sind so coole Leute, so bodenständig. Dann habe ich überlegt, wie man zu so einer Aussage kommen kann. Irgendwie ist es schon richtig. Wenn ich die Konferenzen besuche, da geht es um Erfahrungsaustausch und nicht darum, dass sich Firma X nur präsentiert. Firma X kann auch einen Vortrag über ein eigenes Projekt halten und hinterher, erhält sie vielleicht sogar negatives Feedback aber auf jeden Fall ist das konstruktiv und hilfreich. Das ist eine Form von Lernbereitschaft, also eine positive Eigenschaft. Kunden der Firma X können also darauf vertrauen, dass das Produkt dieser Firma kontinuierliche verbessert wird. Exakt das ist bei einem Vortrag eines Sponsors beim Workshop in Gummersbach passiert. Ich denke, beide Seiten haben extrem viel voneinander profitiert. Es gibt noch einen weiteren Punkt, den ich sehe. Perl ist eine "Glue language" und Perl 6 ist noch mehr "Glue", als Perl 5 es jemals war. Perl Programmierer haben nicht den Anspruch, alles zu portieren, wenn in anderen Programmiersprachen gute Bibliotheken oder Module existieren. Man bindet einfach alles zusammen und das ist mit Perl 6 wesentlich einfacher geworden, als mit Perl 5. "Glue" ist eine kluge Business Entscheidung, denn das portieren kostet Arbeitszeit und erzeugt neue Fehler. Portiert wird nur, wenn ein Mehrwert entsteht und nicht um nur "clean" zu sein. Dieses "clean" oder Vereinheitlichung hat nach meiner Erfahrung auch immer etwas mit Selbstüberschätzung und anschließendem Wildwuchs zu tun und dann will es keiner mehr warten. Warum ist denn Linux so erfolgreich? Weil es aus kleinen überschaubaren Tools besteht, die in der Vernetzung zu etwas ganz großem zusammengesetzt wird. Die Programmiersprache, in der jedes einzelne Tool implementiert wurde, interessiert den Anwender überhaupt nicht, Hauptsache es funktioniert.

Es heißt, dass Perl 5 aktiv weiterentwickelt wird. Das heißt aber nur, das Perl 5 stabiler und etwas moderner gemacht werden kann. Grundsätzlich kann sich an der Architektur nichts ändern, weil rückwärts Kompatibilität ein entscheidendes Feature für Perl 5 ist oder auch für Perl allgemein. Die Major Releases habe ich bei Perl immer wie eine neue Programmiersprache empfunden, jedenfalls soweit ich das von Perl 4 bis Perl 6 einschätzen kann. Was davor war, weiß ich nicht. Schon deswegen ist Perl 6 für mich die logische Konsequenz des Fortschrittes. Das krampfhafte Festhalten an Perl 5, nur um nicht lernen zu müssen oder seinen Status zu erhalten, ist also eher negativ, auch für die Entwicklung der Person selbst.

Was ich an Perl 6 gut finde, dass Perl 5 trotzdem wieder eine Rolle spielt. Es wird daran gearbeitet, dass Perl 6 den Perl 5 Code direkt ausführen kann. Einige spezielle Fälle wie Nebenläufigkeit sind davon ausgenommen. Perl 4 Code läuft auch in Perl 5, also soll Perl 5 Code auch in Perl 6 laufen können. So will man die Perl-Idee fortführen, dass man dem Business seine einmal erarbeiteten Lösungen nicht einfach abschaltet, nur weil man auf neueren Systemen eine aktuelle Version installiert. So kann man Code erneuern aber man muss es nicht zwangsläufig. Damit kann ich schon aus Sicherheitsgründen mit den jeweils neusten Perl Versionen arbeiten, ohne dass der Entwicklungsprozess der Firma gestört wird.

Wenn ich mir Contests im Internet anschaue, wo Lösungen für eine bestimmte Aufgaben gesucht werden, stellt man fest, dass die unterschiedlichen Programmiersprachen, die daran teilnehmen manchmal eine gewisse Ähnlichkeit der Lösung und zeigen aber auch ganz unterschiedlich sind. Das sieht man schon an der Menge an Codezeilen. Auffallend bei Perl 6 ist immer, dass der Code im Vergleich sehr viel kürzer ist und man die Lösung des Problems genau sieht. Bei manch anderer Programmiersprache kann man es im Rauschen kaum noch erkennen. Wenn ich zum meinen Anfängen mit Perl zurück denke, als ich mein erstes CGI Programm schreiben wollte, kaufte ich mir ein Buch, indem 3 Programmiersprachen drin waren, mit denen ich das hätte lösen können. Ich weiß nicht mehr welche. Jedenfalls war Perl für mich der klarste Weg, um das zu tun. Also habe ich mich damals für Perl entschieden ohne einer der 3 Möglichkeiten vorher zu kennen.

Immer wenn ich zu Konferenzen gehe, lerne ich wieder etwas mehr Perl 6 oder ich erhalte neuen Antrieb, damit weiter zu machen. Das sind so Zyklen, weil es immer wieder Probleme gibt, wo ich allein irgendwo hänge. Ich weiß, dass ich das Problem bin und nicht Perl 6 aber diese Unwissenheit frustriert manchmal schon.

Das Zitat "Lernen, lernen und nochmals lernen" von Wladimir Iljitsch Lenin ist bis heute der richtige der Weg zum Ziel, auch wenn der Mann schon lange tot ist.

Leave a comment

About steffenw

user-pic I blog about Perl.