... continued from previous post. PS I'm cross-posting this post to perl and python groups because i find that it being a little know fact that emacs lisp's power in the area of text processing, are far beyond Perl (or Python).
... i worked as a professional perl programer since 1998. I started to study elisp as a hobby since 2005. (i started to use emacs daily since 1998) It is only today, while i was studying elisp's file and buffer related functions, that i realized how elisp can be used as a general text processing language, and in fact is a dedicated language for this task, with powers quite beyond Perl (or Python, PHP (Ruby, java, c etc) etc). This realization surprised me, because it is well-known that Perl is the de facto language for text processing, and emacs lisp for this is almost unknown (outside of elisp developers). The surprise was exasperated by the fact that Emacs Lisp existed before perl by almost a decade. (Albeit Emacs Lisp is not suitable for writing general applications.) My study about lisp as a text processing tool today, remind me of a article i read in 2000: “Ilya Regularly Expresses”, of a interview with Dr Ilya Zakharevich (author of cperl-mode.el and a major contributor to the Perl language). In the article, he mentioned something about Perl's lack of text processing primitives that are in emacs, which i did not fully understand at the time. (i don't know elisp at the time) The article is at: http://www.perl.com/lpt/a/2000/09/ilya.html Here's the relevant excerpt: « Let me also mention that classifying the text handling facilities of Perl as "extremely agile" gives me the willies. Perl's regular expressions are indeed more convenient than in other languages. However, the lack of a lot of key text-processing ingredients makes Perl solutions for many averagely complicated tasks either extremely slow, or not easier to maintain than solutions in other languages (and in some cases both). I wrote a (heuristic-driven) Perlish syntax parser and transformer in Emacs Lisp, and though Perl as a language is incomparably friendlier than Lisps, I would not be even able of thinking about rewriting this tool in Perl: there are just not enough text-handling primitives hardwired into Perl. I will need to code all these primitives first. And having these primitives coded in Perl, the solution would turn out to be (possibly) hundreds times slower than the built-in Emacs operations. My current conjecture on why people classify Perl as an agile text- handler (in addition to obvious traits of false advertisements) is that most of the problems to handle are more or less trivial ("system maintenance"-type problems). For such problems Perl indeed shines. But between having simple solutions for simple problems and having it possible to solve complicated problems, there is a principle of having moderately complicated solutions for moderately complicated problems. There is no reason for Perl to be not capable of satisfying this requirement, but currently Perl needs improvement in this regard. » Xah [EMAIL PROTECTED] ∑ http://xahlee.org/ -- http://mail.python.org/mailman/listinfo/python-list