Presentation is loading. Please wait.

Presentation is loading. Please wait.

Perl6 Update Adam Turoff ActiveState January 31, 2001 LinuxWorld NY 2001.

Similar presentations

Presentation on theme: "Perl6 Update Adam Turoff ActiveState January 31, 2001 LinuxWorld NY 2001."— Presentation transcript:


2 Perl6 Update Adam Turoff ActiveState January 31, 2001 LinuxWorld NY 2001

3 Perl6 Update Background Summary of Perl5 State of Perl5 Goals for Perl6 Perl6 Status Update Agenda

4 Perl6 Update First public release: Dec 18, 1987 Maintained by Larry Wall Perl5 released Dec 19, 1994 Currently maintained by perl5-porters Perl 5.6.x: Gurusamy Sarathy (ActiveState) Perl 5.7.x: Jarkko Hietaniemi Background – Perl1 to Perl4

5 Perl6 Update Widely adopted by sysadmins Well suited for CGI programming Extensible: –Databases (ingperl, oraperl, sybperl) –Graphical Applications (tkperl) Code Forking, Maintenance issues Background – Perl4 (cont’d)

6 Perl6 Update Perl’s Goals –Easy things should be easy –Hard things should be possible –TMTOWTDI –Complexity of the solution should match the complexity of the problem –Use what you know Background (cont’d)

7 Perl6 Update Perl as a Postmodern Language –“It’s all good” –Support many paradigms Functional Object-Oriented Procedural –Whatever gets the job done […] Background (cont’d)

8 Perl6 Update Solve the problems of Perl4: –Prevent code forks Extend Perl with Perl (modules) Use existing C libraries (h2xs) Native code interfaces (xsub) Allow Object Oriented Programming –Larry as release manager Maintainers: Perl5 Summary

9 Perl6 Update Extend beyond Perl4: –CPAN Thousands of open-source Perl modules –Platforms Most UNIX variants Win32 MacOS, BeOS, Amiga […] Perl5 Summary (cont’d)

10 Perl6 Update Perl5 Issues: –New implementation –Backward compatiblity to Perl1 –New features (Objects, etc.) –Clean up some warts ( foo() vs. &foo() ) –Keep some warts for compatibility (filehandles) Perl5 Summary (cont’d)

11 Perl6 Update CPAN: Perl Extensions –DBI: Database Interface –Tk: Cross-Platform GUI toolkit –Win32: Windows Integration –XML: Extensible Markup Language –Mason: Web Application Development thousands more, and no code forks… State of Perl5

12 Perl6 Update New work: Perl Compiler (experimental) –Perl to C –Perl to Java –Perl to Perl –Perl to Bytecode –Code Analysis State of Perl5 (cont’d)

13 Perl6 Update New Technology since 1994 –XML –XSL, XSLT –LDAP –WebDAV –Jabber, Napster, SOAP, P2P etc. State of Perl5 (cont’d)

14 Perl6 Update Problems with Perl –Rate of technology adoption –Java, Python, Ruby, C#, etc. –Module dependencies (DLL Hell) –Complex source code –Community growth State of Perl5 (cont’d)

15 Perl6 Update 1) Last chance to fix the warts –Code Translation: Perl Compiler –Keep easy things easy (user-defined hashes, optional typing, etc.) –Replace Filehandles, Formats, etc. ( Text::Autoformat ) –Larger community ownership Goals for Perl6

16 Perl6 Update 2) “Perl is a Great Tool for text hacking” –Unicode –XML –Regular Expressions –Strings as first-class data –Many approaches to use unpack(), tr//, s///, … Goals for Perl6

17 Perl6 Update 3) Clean up the core –Simplify the source code –More developers, more ideas –Spread the load (less burnout) –Integration with Open Source projects –Experimental features –User-implemented types Goals for Perl6 (cont’d)

18 Perl6 Update 4) Community Involvement –Start with an open RFC process August 2000 to October 2000 361 submissions –Library of suggestions, requests, etc. –Community’s rewrite of Perl Goals for Perl6 (cont’d)

19 Perl6 Update 5) Clean up the language –Filehandles, Formats, etc. –Simpler Object definition –Perl5 to Perl6 compiler? Automatic translation 100% translation for 80% of Perl programs 95% translation for 95% of Perl programs Goals for Perl6 (cont’d)

20 Perl6 Update 6) Clean up the implementation –microperl: replace make, metaconfig –nanoperl: Embedded systems, PalmOS? –femtoperl: Phones? –New targets: JVM,.NET, byteperl –SecurePerl? Goals for Perl6 (cont’d)

21 Perl6 Update 7) Technology Update –Unicode –Concurrency –Event model –Asynchronous I/O –Signals –Optional strong typing Goals for Perl6 (cont’d)

22 Perl6 Update 8) Perl5 is Proven and Stable –Perl4 is still in production use –Perl5 isn’t going away –Perl5 is still a very useful tool Projected ETA for Perl6: July 2002 Goals for Perl6 (cont’d)

23 Perl6 Update 9) Community Involvement –Yet Another Society –Damian Conway Grant Parse::Perl Perl5 to Perl6 translator –Prototype Perl6 with Perl5 Goals for Perl6 (cont’d)

24 Perl6 Update 10) Idea: implement Perl in Perl? –Core runtime in C –Use Perl regexes to parse Perl –Use more bytecode –Bootstrap with Perl5 –Reduce overhead for contributors Goals for Perl6 (cont’d)

25 Perl6 Update RFC Process: –Lots of ideas –Larry reviewing each submission –Original ETA: October 16, 2000 –Current ETA: Real Soon Now Perl6 Status Update

26 Perl6 Update Project Organization –Nathan Torkington: interim Project Manager –Multiple, focused working groups –Working Group chairs –All work in public email lists Perl6 Status Update (cont’d)

27 Perl6 Update Language Working Group –Chair: Kirrily Robert –Keep discussion focused –Generate ideas/RFCs about language changes –Create ad-hoc subgroups as needed and its sub-lists Perl6 Status Update (cont’d)

28 Perl6 Update Internals Working Group –Chair: Dan Sugalski –Current discussions: Overall Perl runtime implementation Asynchronous I/O Event Handling and its sub-lists Perl6 Status Update (cont’d)

29 Perl6 Update Licensing Working Group –Chair: Bradley Kuhn –Perl is intentionally dual-licensed Artistic + GPL –Possible update to the Artistic License –Larry’s decision is final Perl6 Status Update (cont’d)

30 Perl6 Update Quality Assurance Working Group –Chair: Michael Schwern –Test Perl with CPAN code –Test Perl5 to Perl6 translators –Improve test coverage for Perl Perl6 Status Update (cont’d)

31 Perl6 Update Language Design –Larry Wall is the Language Designer –RFC Proposals: Exception handling Type system Object system etc. –Preliminary language spec in progress Perl6 Status Update (cont’d)

32 Perl6 Update Document Repository –Perl6 RFCs document user requests –All discussion in public mailing lists –All mailing lists archived –Improvement over “someone said something about this 3 years ago…” Perl6 Status Update (cont’d)

33 Perl6 Update Still To Do –Language Design (Larry Wall) –Prototype implementations –Experimentation –Testing and Optimization –All development Perl6 Status Update (cont’d)

34 Perl6 Update Perl6 Project: RFC Repository: Mailing Lists: Perl6 Resources

Download ppt "Perl6 Update Adam Turoff ActiveState January 31, 2001 LinuxWorld NY 2001."

Similar presentations

Ads by Google