gabor szabo [email protected] perl training israel ...gabor szabo – perl training israel – - raz...
TRANSCRIPT
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.co.il
The future of dynamic languages
Gabor Szabo [email protected]
Perl Training Israel www.pti.co.il Raz Information System www.raz.co.il
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.co.il
Dynamic Languages
● PHP● Tcl● Python● Ruby ● Perl ● ...
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.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● ...
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.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● ...
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.co.il
Python
● Web application programming● GUI based applications● “A dynamic version of Java”● Some very large applications built on Python● Google uses it...
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.co.il
Ruby● New (first release in 1995)● Object Oriented in every aspect (even data)● Small (footprint, community)● Very attractive
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.co.il
Perl
● Perl 1.0 1987 – UNIX shell replacement● Perl 5.0 1995 – Object oriented web development● Perl 5.8 2002
– Web Application development
– QA Automation
– Database management
– System administration (both Linux and Windows)
– ...
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.co.il
Perl
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.co.il
Perl
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.co.il
Perl 6
● Perl 5 has a problem– it is getting old
– it is hard to add new feature to the language
● Perl 6– major redesign of the language
– new implementation of the language
– Larry Wall, Damian Conway and a small team...
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.co.il
Common features
● High-level● Dynamically typed● Run on lots of platforms● Open Source● (see also ActiveState White Paper)
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.co.il
List of Platforms for Perl
● Linux● Free/Net/OpenBSD● Solaris, AIX, HP,...● Novell NetWare● BeOS
● Windows● Machintosh● VMS● OS/400, OS/390● more...
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.co.il
High-level and dynamically typed
● Flexible● Expressive● Concentrate on business problems rather than
how to overcome the language
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.co.il
Open Source
● Free (as in free speech)● FREE!! (as in free beer)● Business friendly licenses● Community centered● ...
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.co.il
Who is using them ?
● Financial sector (Banks, Insurance)● Telecommunication (Phone, ISP)● Industry● Hi-tech companies (Checkpoint, Mercury, Aduva)● Government● ...
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.co.il
Why do they use these languages ?
● Faster development– Save money
● Huge community, easy to get support– Save money
● Many Platforms, easy migration– Save money
● They suit the task
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.co.il
So what is the problem ?
● Many languages● Lots of overlapping problems● Perl has drivers for nearly every database● Why rewrite in PHP or Ruby ?● Perl has over 7000 free extension (libraries)● Let others use them from Python or Ruby...
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.co.il
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.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
– Mono● Open Source implementation of .NET● Still, focusing C# and similar languages
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.co.il
Parrot VM
● Open Source● Platform Independent● Multi-language● Focusing Dynamic languages, but...
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.co.il
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.co.il
Parrot VM - Platforms
● It will replace perl– It has to run everywhere where perl runs
● But it can be small– It can run on mobile phones
● So all the platforms of Perl and more...
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.co.il
Parrot VM – Multi-language (status)
● Perl 6
● Perl 5
– Ponie● Python
– Pirate● Ruby
● PHP
● Tcl...
● Code for JVM
– Java● Code for .NET CLR
– C#
– VB.NET
– ...
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.co.il
When ?
● Parrot 0.1.1 is available since October 2004● It works,
– good for experiments
– not for production
– needs further development...
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.co.il
So what now ?
● Perl 5● Python● PHP● Tcl● Ruby● ...
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.co.il
Thank You
Gabor Szabo [email protected]
Perl Training Israel www.pti.co.il Raz Information System www.raz.co.il
Gabor Szabo – Perl Training Israel – www.pti.co.il - Raz Information Systems - www.raz.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/