Copyright © 2003 - Arnaud Assad
In this article, we'll explain and demonstrate why, the Befunge language [Pressey1] is better than the Perl language. The results shown in this article come from a study conducted here in the Arhuman Institute of Technology during the year 2002 on several standard pieces of Perl and Befunge code as well as a careful and systematic languages/market analysis.
All our tests and analysis have clearly demonstrated the superiority of the Befunge language over Perl. As we will demonstrate below, whatever the aspect studied (design, efficiency, market adoption...) the Befunge language surpass Perl.
While Perl designer admits his language is non-orthogonal [Wall313373] the Befunge language shows a strong mathematical background. For example, Befunge, which is two-dimensional funge, is based on a Cartesian Lahey-Space (or Cartesian Torus, in Befunge-93 only) topology
While Perl has to struggle with Unicode and (badly) achieve portability the Befunge language offers from its first version a real portability through its enforcement of printable ASCII characters use. Furthermore Befunge treats strings according to the now de-facto SGML standard, whereas Perl does not...
While Perl re-uses old paradigms stolen from (even) older language (procedural programming, object programming) and fails to implement them properly (The object programming is notably a weakness of the Perl language) Befunge introduce new and clever paradigms: '2D visual programming', 'code finger/hand printing'...
Our study prove with no doubt that Befunge clearly surpass Perl in matter of code compactness. It won't surprise anybody because Befunge permits code factoring at the instruction level, while old language like Perl only allow it at the function level. We will refer to this Befunge feature as 'Meta-factoring'. Meta-factoring allow the same instruction to be reused in different program flows. This not only optimize the memory usage but also clearly enhance the code readability by reducing its size.
While Perl still use an interpreter, Befunge use a more efficient virtual machine. The restricted set of Befunge instructions will also clearly be an advantage when the Befunge RISC processor will be produced. Befunge will then be an order of magnitude faster than Perl.
According to our study, the Perl user base is slowly decreasing and can now be restricted to a group of young unexperienced male amateur coders using Perl during their spare time.
On the contrary Befunge is rapidly adopted by real professionals (rumors are that even Microsoft is now using it internally in the XP security layer, but the veracity of this fact couldn't have been established as the writing of this document).
As the Perl designer has given up the language design (fix?) to a bunch of amateurs, it's reasonable to think that the future version (Perl V6.0) will take ages to be released if it ever will be. Moreover this version will only be a major bug-fix rewrite, with no new functionalities (besides attempting to correct the notably flawed object design).
On the Other hand, Befunge opens new and amazing opportunities:
The topological and meta-factoring aspect of the Befunge language make it and exceptionally good candidate for G.A driven optimizations [GA1]. First experiments show amazingly promising results.
We're also studying the opportunity to use the topological properties of the befunge space, to distribute each 'cells' on a connected computer, this would allow a Befunge program to be spread across the network with as a result an unmatched scaling/clustering ability. The underlying net protocol (BTP) is yet under development.
We're lacking space and time to exhibit all our results but we hope the previous demonstrations have convinced you that the Befunge language is the language of the future.
Arhuman Institute of Technology Language & Software Design team
Larry WALL in "Programming Perl" O'Reilly
Copyright © Les Mongueurs de Perl, 2001-2011
pour le site.
Les auteurs conservent le copyright de leurs articles.