++, but I think it's more a gradient. Even assembly puts more burden on the computer than twiddling the bits directly, but less on the programmer. C and C++ burden the computer a bit more than assembly, but still place a substantial burden on the programmer.
Lisp and Forth both move certain burdens for the programmer out of the way in exchange for other burdens on the programmer. Lisp places additional burdens on the computer (recursion) for the benefit of the programmer while removing burdens from the computer (syntax parsing) by placing burden on the programmer. Forth lowers the barrier for the computer (postfix syntax) by placing it on the programmer (postifx syntax). ;-/ Forth's generic storage cells remove a burden on the computer (type checking), and can alternately be a boon or a headache for the programmer. Other languages make similar trades.
Perl is a language for getting work done. As such, it puts more burden on the computer and less on the programmer than many other languages. Implementing an efficient algorithm and knowing a few things about the interior of perl can make a Perl program much faster than not knowing those things. In many cases, Perl can run as fast or nearly as fast as program in languages that are much more restrictive of the programmer. In some cases it can't, and that's the price we pay for more freedom and more power of expression.
Languages can continue to evolve both above and below the level of Perl. The only reason evolution at the level of C and C++ has been so slow is because despite their warts they accomplish their tasks very well. Even CPU microprogramming, which is below assembly, continues to evolve. Even as programs are written in languages at levels higher than Perl, Perl continues to evolve. It will continue to evolve so long as people use it and see where it could fit its niche even better. There are already many languages at far higher levels than Perl, although most of them are domain-specific. Yet Perl is still the glue that holds many of those together. C is still the language, for now, that holds Perl together and that is used to write many of the libraries upon which Perl depends. It's not so much an evolution of a single species as new layers in the food chain or of superstructure being built on substructure.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||