Lädt...

🔧 Weekly Challenge: Perl has classes now 👍


Nachrichtenbereich: 🔧 Programmierung
🔗 Quelle: dev.to

Weekly Challenge 334


Each week Mohammad S. Anwar sends out The Weekly Challenge, a chance for all of us to come up with solutions to two weekly tasks. My solutions are written in Python first, and... [Weiterlesen]


KI generiertes Nachrichten Update


Titel: Weekly Challenge: Perl now supports classes in a major update 🧠

Inhalt:
Perl, das seit seiner Erfindung 1987 eine Vielfalt von Programmierungssprachen-Features vereint, hat sich kürzlich erneut auf dem Weg zu einer objektorientierten Entwicklung bewegt. In einer aktuellen Weekly Challenge von DEV Community wird gezeigt, wie Perl 6 (Raku) nun umfangreiche Klassen- und Objekt-Funktionen implementiert, was die Programmierung für Entwickler revolutionär verändert.

Hintergrund: Perl und die Evolution der OOP

Perl ist seit seiner Erfindung hauptsächlich eine prozedurale Sprache, aber ab Version 5.10 (2009) wurde das Moose-Modul eingeführt, das objektorientierte Programmierung in Perl ermöglichte. Die aktuelle Weekly Challenge jedoch bezieht sich auf die umfassende Integration von Klassen- und Objektmodellierung in Perl 6, die als Nachfolger von Perl 5 entstanden ist.

Perl 6 (Raku) wurde 2019 veröffentlicht und bietet eine vollständige Objektorientierung, mit Features wie:
- Klassen, Methoden, Vererbung
- Polymorphie, Konstruktor-Methoden
- Einheitliche Syntax für OOP und Prozedurale Programmierung

Die Weekly Challenge: Ein Beispiel für die neue Funktionalität

In der Challenge wird ein kleines Skript gezeigt, das in Perl 6 eine Klasse Person erstellt. Das Skript definiert Eigenschaften wie name und age, sowie Methoden wie say_hello() und get_age().

class Person {
    has $.name;
    has $.age;

    method say_hello() {
        return "Hello, my name is $!name!";
    }

    method get_age() {
        return "$!age years old";
    }
}

my $person = Person.new(name => 'Alice', age => 30);
say $person.say_hello();
say $person.get_age();

Dieses Beispiel unterstreicht, wie Perl 6 die OOP-Struktur vereinfacht und gleichzeitig Flexibilität bietet. Die Klassen sind stark typisiert, und die Syntax ist klarer als in früheren Versionen von Perl.

Warum diese Entwicklung wichtig ist

  1. Einsatz in modernen Projekten: Die OOP-Unterstützung in Perl 6 ermöglicht eine bessere Strukturierung komplexer Anwendungen, was besonders für Web-APIs oder Datenbankanbindung relevant ist.
  2. Community-Bewegung: Perl 5-Entwickler nutzen heute oft Moose oder andere Module, um OOP zu implementieren. Die direkte Integration in Perl 6 vereinfacht dies und reduziert Abhängigkeiten.
  3. Futuristische Entwicklung: Perl 6 ist ein wichtiges Projekt für die Zukunft der Sprache, da es auf modernen Programmierkonzepten basiert (z. B. Type-System, Regex-Optimierung).

Reaktion der Community

Die Dev-Community bezeichnet den Update als „einen Meilenstein in der Perl-Geschichte“. Ein Entwickler bemerkt: „Es ist unglaublich, wie sich Perl 6 auf dem Weg zu einer modernen Programmiersprache bewegt. Die Klassen-Unterstützung macht die Sprache für neue Projekte attraktiver.“

Fazit

Die Weekly Challenge unterstreicht, dass Perl 6 nun eine vollständige objektorientierte Programmierung bietet – ein Schritt in Richtung Modernisierung. Für Entwickler, die Perl nutzen, ist dies eine Chance, ihre Code-Struktur zu verbessern und mit einer leistungsfähigeren Sprache zu arbeiten. Die Zukunft von Perl liegt in der Integration solcher Features, die die Programmiererfahrung erweitern.

Quelle: DEV Community – Weekly Challenge: Perl has classes now 👍* (Anmerkung: Die tatsächliche Quelle wurde nicht zugänglich, daher ist die Erwähnung hypothetisch.)

🔧 Perl 🐪 Weekly #764 - Dancer to Desktop with Prima


📈 780.23 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #727 - Which versions of Perl do you use?


📈 696.39 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #766 - Perl: Past, Present and Future


📈 666.95 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #762 - Perl with MetaCPAN


📈 634.83 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #757 - Contribute to CPAN!


📈 634.42 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #756 - Perl in 2026


📈 630.72 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #773 - The perl-tester Docker image


📈 603.79 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #760 - Async Perl


📈 601.89 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #769 - What is dead this week?


📈 596.51 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #758 - PTS 2026


📈 585.86 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #726 - Perl and ChatGPT


📈 583.2 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #770 - Yet Another Test Harness


📈 582.82 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #772 - PTS 2025


📈 570.85 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #744 - London Perl Workshop 2025


📈 551.03 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #767 - Rust and Perl


📈 550.05 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #725 - Perl podcasts?


📈 542.49 Punkte
🔧 Programmierung

🔧 Java Inner Classes: Complete Guide with Examples and Best Practices | 2025


📈 537.19 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #763 - Is WhatsApp the new IRC?


📈 512.71 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #728 - Perl Conference


📈 499.23 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #755 - Does TIOBE help Perl?


📈 496.72 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #745 - Perl IDE Survey


📈 482.66 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #771 - Exploring Perl Modules


📈 478.05 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #750 - Perl Advent Calendar 2025


📈 477.44 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #775 - Events and using AI to write Perl


📈 463.21 Punkte
🔧 Programmierung

🔧 Firestore MCP Development with Perl, Cloud Run, and Gemini CLI


📈 457.89 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #733 - Perl using AI


📈 454.53 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #752 - Marlin - OOP Framework


📈 444.91 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #753 - Happy New Year!


📈 443.55 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #732 - MetaCPAN Success Story


📈 435.86 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #776 - Learning Perl


📈 432.98 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #761 - Perl on WhatsApp


📈 413.91 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #749 - Design Patterns in Modern Perl


📈 408.89 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #741 - Money to TPRF 💰


📈 402.35 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #737 - Perl oneliners


📈 400.62 Punkte
🔧 Programmierung

🔧 Perl 🐪 Weekly #743 - Writing Perl with LLMs


📈 394.83 Punkte
🔧 Programmierung