^p.* · gabor szabo – perl training israel – ^p.* the future of dynamic languages gabor szabo...

25
Gabor Szabo – Perl Training Israel – www.pti.co.il ^P.* The future of dynamic languages      Gabor Szabo                      [email protected]   Perl Training Israel    www.pti.co.il

Upload: others

Post on 27-May-2020

17 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

^P.*The future of dynamic languages

     Gabor Szabo                      [email protected]  Perl Training Israel            www.pti.co.il

Page 2: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

Dynamic Languages● PHP● Python● Perl● Ruby● Tcl● ...

Page 3: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

PHP● First version in 1995● Web development

– Low end – virtually everything– Mid­range – High­end (e.g. Lufthansa)

● Serious competitor of JSP and ASP● ...

Page 4: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

Tcl● Since 1988● Mostly know as Tcl/Tk● Controlling external devices

– Networking devices– Electronic devices– Satellites

● GUI Applications (through Tk)● AOL server – America Online

Page 5: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

Python● Web application programming● GUI based applications● “A dynamic version of Java”● Some very large applications built on Python● Google uses it...

Page 6: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

Ruby● New (first release in 1995)● Object Oriented in every aspect (even data)● Small (footprint, community)● Very attractive

Page 7: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

Perl● v1.0 in 1987● v 5.8 in 2005

Page 8: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

Perl

Page 9: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

Perl 6● It is the best thing after sliced bread...● It unites all the features of the other languages...● ... and more !● It even has a new maskot...

Page 10: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

Page 11: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

Challenge #1● Perl 6 is not compatible with Perl 5● Will we lose all the code base and CPAN?

Page 12: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

Challenge #2● Many languages● Lots of overlapping problems● Perl5 has drivers for nearly every database● Why rewrite in PHP or Ruby ?● Perl has over 8500 free extension (libraries)● Let others use them from Python or Ruby...

Page 13: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

Page 14: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

Parrot is Virtual Machine● Comparable to

– JVM● A number of platforms● But Java focused

– .NET CLR● A number of languages● But Windows only

Page 15: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

Parrot VM● Open Source● Platform Independent● Multi­language

Page 16: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

Page 17: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

Parrot VM ­ Platforms● Linux● Free/Net/OpenBSD● Unix: Solaris, AIX, 

HP­UX● Novell Netware● OS X

● MS Windows● OS400, OS390● Apple Classic● BeOS● VMS● Symbian

Page 18: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

Parrot VM – Multi­language● Perl 6● Perl 5

– Ponie● Python

– Pirate● Ruby● PHP● Tcl...

● Code for JVM

– Java● Code for .NET CLR

– C#– VB.NET– ...

Page 19: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

Pugs● Perl 6 compiler● Written in Haskell● It is already working● Fun● Can use embedded Perl 5

Page 20: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

Pugs backend● So Pugs can run Perl 6 code now on its own● Or compile it to Haskell● Or to Parrot● Or to Perl 5● Or even to JavaScript

and run in your browser

Page 21: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

Pugs frontend● Currently only Perl 6● But Guido can write a Python front­end● And Matz a Ruby front­end

Page 22: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

Get involved in Parrot

● Learn C● Learn Assembly (PASM and PIR)● Join the mailing list● Start hacking

Page 23: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

Get involved in Pugs● Talk to us in the break● Read the web sites ● Join us on IRC● Start coding in ^P.*

Page 24: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

^P.*Thank You

     Gabor Szabo                      [email protected] Perl Training Israel            www.pti.co.il

Page 25: ^P.* · Gabor Szabo – Perl Training Israel –  ^P.* The future of dynamic languages Gabor Szabo gabor@pti.co.il

Gabor Szabo – Perl Training Israel – www.pti.co.il

References● Parrot: http://www.parrotcode.org/

● Parrot in Detail: http://www.parrotcode.org/talks/ParrotInDetail2.pdf

● Perl: http://www.perl.org/

● Ruby: http://www.ruby­lang.org/en/

● Python: http://www.python.org/

● PHP: http://www.php.net/

● ActiveState White Paper: http://www.activestate.com/Company/NewsRoom/whitepapers.plex

● The Parrot Logo: http://wardley.org/computers/parrot/logo.html

● Pirate: http://pirate.tangentcode.com/

● Ponie http://www.poniecode.org/

● Pugs http://www.pugscode.org/